diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index c38b0a70276..0066d372365 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -21,6 +21,7 @@
"packages/google-cloud-gkeconnect-gateway": "2.0.5",
"packages/google-cloud-gkemulticloud": "0.1.4",
"packages/google-cloud-language": "5.1.2",
+ "packages/google-cloud-lifesciences": "2.1.2",
"packages/google-cloud-memcache": "2.1.4",
"packages/google-cloud-monitoring": "3.0.3",
"packages/google-cloud-oslogin": "4.0.4",
diff --git a/packages/google-cloud-lifesciences/.OwlBot.yaml b/packages/google-cloud-lifesciences/.OwlBot.yaml
new file mode 100644
index 00000000000..2534f641a60
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.OwlBot.yaml
@@ -0,0 +1,20 @@
+# 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.
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/lifesciences/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-lifesciences/$1
diff --git a/packages/google-cloud-lifesciences/.eslintignore b/packages/google-cloud-lifesciences/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-lifesciences/.eslintrc.json b/packages/google-cloud-lifesciences/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-lifesciences/.gitattributes b/packages/google-cloud-lifesciences/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.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-lifesciences/.gitignore b/packages/google-cloud-lifesciences/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.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-lifesciences/.jsdoc.js b/packages/google-cloud-lifesciences/.jsdoc.js
new file mode 100644
index 00000000000..0b5fe4d688b
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.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/life-sciences',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-lifesciences/.mocharc.js b/packages/google-cloud-lifesciences/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.mocharc.js
@@ -0,0 +1,29 @@
+// 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.
+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-lifesciences/.nycrc b/packages/google-cloud-lifesciences/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.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-lifesciences/.prettierignore b/packages/google-cloud-lifesciences/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-lifesciences/.prettierrc.js b/packages/google-cloud-lifesciences/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.prettierrc.js
@@ -0,0 +1,17 @@
+// 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.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-cloud-lifesciences/.repo-metadata.json b/packages/google-cloud-lifesciences/.repo-metadata.json
new file mode 100644
index 00000000000..f716c09afc5
--- /dev/null
+++ b/packages/google-cloud-lifesciences/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "name": "lifesciences",
+ "name_pretty": "Cloud Life Sciences",
+ "product_documentation": "https://cloud.google.com/life-sciences/",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/life-sciences/latest",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "release_level": "preview",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/life-sciences",
+ "api_id": "lifesciences.googleapis.com",
+ "default_version": "v2beta",
+ "requires_billing": true,
+ "api_shortname": "lifesciences",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-lifesciences/CHANGELOG.md b/packages/google-cloud-lifesciences/CHANGELOG.md
new file mode 100644
index 00000000000..559b950849c
--- /dev/null
+++ b/packages/google-cloud-lifesciences/CHANGELOG.md
@@ -0,0 +1,88 @@
+# Changelog
+
+## [2.1.2](https://github.com/googleapis/nodejs-life-sciences/compare/v2.1.1...v2.1.2) (2022-11-10)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#101](https://github.com/googleapis/nodejs-life-sciences/issues/101)) ([106359e](https://github.com/googleapis/nodejs-life-sciences/commit/106359e0689f5085b7fb19ec36d7217648ad556b))
+* Preserve default values in x-goog-request-params header ([#94](https://github.com/googleapis/nodejs-life-sciences/issues/94)) ([3e9bcad](https://github.com/googleapis/nodejs-life-sciences/commit/3e9bcad4fca23646c1170a5f13d30e344bc079d3))
+* Regenerated protos JS and TS definitions ([#104](https://github.com/googleapis/nodejs-life-sciences/issues/104)) ([9debd1e](https://github.com/googleapis/nodejs-life-sciences/commit/9debd1eb1f02efc40d30d48806eb6829cbb9cf78))
+
+## [2.1.1](https://github.com/googleapis/nodejs-life-sciences/compare/v2.1.0...v2.1.1) (2022-09-01)
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#93](https://github.com/googleapis/nodejs-life-sciences/issues/93)) ([6b0a26a](https://github.com/googleapis/nodejs-life-sciences/commit/6b0a26af9f0494c389af5186d04e0d3b3a9f1bcd))
+* Better support for fallback mode ([#88](https://github.com/googleapis/nodejs-life-sciences/issues/88)) ([fdc377d](https://github.com/googleapis/nodejs-life-sciences/commit/fdc377dcc414457a8085c71cff5c9b70ffbf3a96))
+* Change import long to require ([#89](https://github.com/googleapis/nodejs-life-sciences/issues/89)) ([dce704a](https://github.com/googleapis/nodejs-life-sciences/commit/dce704abcb99f84e9afd76bcd8704b765d696251))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-life-sciences/issues/1553)) ([#92](https://github.com/googleapis/nodejs-life-sciences/issues/92)) ([c1c554c](https://github.com/googleapis/nodejs-life-sciences/commit/c1c554c55a7e6233d1590d2504b7b9d7d93370f3))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-life-sciences/issues/1546)) ([#91](https://github.com/googleapis/nodejs-life-sciences/issues/91)) ([bb1206d](https://github.com/googleapis/nodejs-life-sciences/commit/bb1206d04652a2e1f505cde61cfe84e410b7f221))
+
+## [2.1.0](https://github.com/googleapis/nodejs-life-sciences/compare/v2.0.0...v2.1.0) (2022-06-30)
+
+
+### Features
+
+* support regapic LRO ([#83](https://github.com/googleapis/nodejs-life-sciences/issues/83)) ([c43760a](https://github.com/googleapis/nodejs-life-sciences/commit/c43760a40221e78ed755bf357bf5d76bec8dff6f))
+
+## [2.0.0](https://github.com/googleapis/nodejs-life-sciences/compare/v1.1.1...v2.0.0) (2022-05-19)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#77)
+
+### Build System
+
+* update library to use Node 12 ([#77](https://github.com/googleapis/nodejs-life-sciences/issues/77)) ([3130af4](https://github.com/googleapis/nodejs-life-sciences/commit/3130af44cc9e8d0b98daef92a828a96cbea874c1))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-life-sciences/compare/v1.1.0...v1.1.1) (2021-09-08)
+
+
+### Bug Fixes
+
+* **build:** update branch to main ([#32](https://www.github.com/googleapis/nodejs-life-sciences/issues/32)) ([9e0bab6](https://www.github.com/googleapis/nodejs-life-sciences/commit/9e0bab622b3490529e5fb6f7a462a47f3feb4681))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-life-sciences/compare/v1.0.3...v1.1.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#29](https://www.github.com/googleapis/nodejs-life-sciences/issues/29)) ([c7e5c54](https://www.github.com/googleapis/nodejs-life-sciences/commit/c7e5c542ccdeb6b5085ecc0e93b16cb41dc41c28))
+
+### [1.0.3](https://www.github.com/googleapis/nodejs-life-sciences/compare/v1.0.2...v1.0.3) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#27](https://www.github.com/googleapis/nodejs-life-sciences/issues/27)) ([0efb8e0](https://www.github.com/googleapis/nodejs-life-sciences/commit/0efb8e0cb6e817f5ae761c90cfea0d33f3eb06ee))
+
+### [1.0.2](https://www.github.com/googleapis/nodejs-life-sciences/compare/v1.0.1...v1.0.2) (2021-07-22)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator ([fc315eb](https://www.github.com/googleapis/nodejs-life-sciences/commit/fc315ebafb6ce1124a7c5dcca98af617acf8e16c))
+
+### [1.0.1](https://www.github.com/googleapis/nodejs-life-sciences/compare/v1.0.0...v1.0.1) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#13](https://www.github.com/googleapis/nodejs-life-sciences/issues/13)) ([80d5d58](https://www.github.com/googleapis/nodejs-life-sciences/commit/80d5d583602f27319172fb4e4d2ed7c7493a2eba))
+
+## 1.0.0 (2021-06-30)
+
+
+### Features
+
+* add tests and samples to library ([#9](https://www.github.com/googleapis/nodejs-life-sciences/issues/9)) ([e78a083](https://www.github.com/googleapis/nodejs-life-sciences/commit/e78a08373dfce628f9b9b0fc09b9944ae6d0e666))
+* initial gen of templates ([f92b3b6](https://www.github.com/googleapis/nodejs-life-sciences/commit/f92b3b6309cf6ee72d204eec83c56f15eab9f786))
+* initial stub of library ([8bb393d](https://www.github.com/googleapis/nodejs-life-sciences/commit/8bb393dfe738d80b4c3d324b0eb82f8df5feb630))
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.17.0 ([#8](https://www.github.com/googleapis/nodejs-life-sciences/issues/8)) ([35952f2](https://www.github.com/googleapis/nodejs-life-sciences/commit/35952f213d7b41db9507a0dd7df594165d035ee7))
diff --git a/packages/google-cloud-lifesciences/CODE_OF_CONDUCT.md b/packages/google-cloud-lifesciences/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-lifesciences/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-lifesciences/CONTRIBUTING.md b/packages/google-cloud-lifesciences/CONTRIBUTING.md
new file mode 100644
index 00000000000..ec59d8b73cc
--- /dev/null
+++ b/packages/google-cloud-lifesciences/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 Life Sciences 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=lifesciences.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-lifesciences/LICENSE b/packages/google-cloud-lifesciences/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-lifesciences/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-lifesciences/README.md b/packages/google-cloud-lifesciences/README.md
new file mode 100644
index 00000000000..b2057b7b812
--- /dev/null
+++ b/packages/google-cloud-lifesciences/README.md
@@ -0,0 +1,160 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Cloud Life Sciences: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[![release level](https://img.shields.io/badge/release%20level-preview-yellow.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-cloud/life-sciences.svg)](https://www.npmjs.org/package/@google-cloud/life-sciences)
+
+
+
+
+lifesciences client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-lifesciences/CHANGELOG.md).
+
+* [Cloud Life Sciences Node.js Client API Reference][client-docs]
+* [Cloud Life Sciences Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-lifesciences](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-lifesciences)
+
+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 Life Sciences 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/life-sciences
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+
+const {WorkflowsServiceV2BetaClient} = require('@google-cloud/life-sciences');
+
+// const pipeline = 'name-of-pipeline', i.e., 1234
+// const projectId = your-project-id
+// const location = your-pipeline-location
+
+// Creates a client
+const client = new WorkflowsServiceV2BetaClient();
+
+async function checkPipelineProgress() {
+ const status = await client.checkRunPipelineProgress(
+ `projects/${projectId}/locations/${location}/operations/${pipeline}`
+ );
+ console.info(status);
+}
+checkPipelineProgress();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Workflows_service_v2_beta.run_pipeline | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-lifesciences/samples/generated/v2beta/workflows_service_v2_beta.run_pipeline.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-lifesciences/samples/generated/v2beta/workflows_service_v2_beta.run_pipeline.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-lifesciences/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-lifesciences/samples/quickstart.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-lifesciences/samples/test/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-lifesciences/samples/test/quickstart.js,samples/README.md) |
+
+
+
+The [Cloud Life Sciences 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/life-sciences@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 in **preview**. This means it is still a
+work-in-progress and under active development. Any release is subject to
+backwards-incompatible changes at any time.
+
+
+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/google-cloud-node/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+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/google-cloud-node/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/life-sciences/latest
+[product-docs]: https://cloud.google.com/life-sciences/
+[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=lifesciences.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-lifesciences/linkinator.config.json b/packages/google-cloud-lifesciences/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-lifesciences/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-lifesciences/package.json b/packages/google-cloud-lifesciences/package.json
new file mode 100644
index 00000000000..b50a8d16532
--- /dev/null
+++ b/packages/google-cloud-lifesciences/package.json
@@ -0,0 +1,71 @@
+{
+ "name": "@google-cloud/life-sciences",
+ "version": "2.1.2",
+ "description": "lifesciences client for Node.js",
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-lifesciences",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "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 lifesciences",
+ "lifesciences",
+ "lifesciences 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": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.7.2",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.1",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.1.2",
+ "typescript": "^4.6.4",
+ "webpack": "^5.36.2",
+ "webpack-cli": "^4.7.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-lifesciences"
+}
diff --git a/packages/google-cloud-lifesciences/protos/google/cloud/lifesciences/v2beta/workflows.proto b/packages/google-cloud-lifesciences/protos/google/cloud/lifesciences/v2beta/workflows.proto
new file mode 100644
index 00000000000..b69928ffa8f
--- /dev/null
+++ b/packages/google-cloud-lifesciences/protos/google/cloud/lifesciences/v2beta/workflows.proto
@@ -0,0 +1,748 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.lifesciences.v2beta;
+
+import "google/api/annotations.proto";
+import "google/api/field_behavior.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/code.proto";
+import "google/api/client.proto";
+
+option csharp_namespace = "Google.Cloud.LifeSciences.V2Beta";
+option go_package = "google.golang.org/genproto/googleapis/cloud/lifesciences/v2beta;lifesciences";
+option java_multiple_files = true;
+option java_outer_classname = "WorkflowsProto";
+option java_package = "com.google.cloud.lifesciences.v2beta";
+option objc_class_prefix = "CLSW";
+option php_namespace = "Google\\Cloud\\LifeSciences\\V2beta";
+option ruby_package = "Google::Cloud::LifeSciences::V2beta";
+
+// A service for running workflows, such as pipelines consisting of Docker
+// containers.
+service WorkflowsServiceV2Beta {
+ option (google.api.default_host) = "lifesciences.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Runs a pipeline. The returned Operation's [metadata]
+ // [google.longrunning.Operation.metadata] field will contain a
+ // [google.cloud.lifesciences.v2beta.Metadata][google.cloud.lifesciences.v2beta.Metadata] object describing the status
+ // of the pipeline execution. The
+ // [response][google.longrunning.Operation.response] field will contain a
+ // [google.cloud.lifesciences.v2beta.RunPipelineResponse][google.cloud.lifesciences.v2beta.RunPipelineResponse] object if the
+ // pipeline completes successfully.
+ //
+ // **Note:** Before you can use this method, the *Life Sciences Service Agent*
+ // must have access to your project. This is done automatically when the
+ // Cloud Life Sciences API is first enabled, but if you delete this permission
+ // you must disable and re-enable the API to grant the Life Sciences
+ // Service Agent the required permissions.
+ // Authorization requires the following [Google
+ // IAM](https://cloud.google.com/iam/) permission:
+ //
+ // * `lifesciences.workflows.run`
+ rpc RunPipeline(RunPipelineRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v2beta/{parent=projects/*/locations/*}/pipelines:run"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "RunPipelineResponse"
+ metadata_type: "Metadata"
+ };
+ }
+}
+
+// The arguments to the `RunPipeline` method. The requesting user must have
+// the `iam.serviceAccounts.actAs` permission for the Cloud Life Sciences
+// service account or the request will fail.
+message RunPipelineRequest {
+ // The project and location that this request should be executed against.
+ string parent = 4;
+
+ // Required. The description of the pipeline to run.
+ Pipeline pipeline = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // User-defined labels to associate with the returned operation. These
+ // labels are not propagated to any Google Cloud Platform resources used by
+ // the operation, and can be modified at any time.
+ //
+ // To associate labels with resources created while executing the operation,
+ // see the appropriate resource message (for example, `VirtualMachine`).
+ map labels = 2;
+
+ // The name of an existing Pub/Sub topic. The server will publish
+ // messages to this topic whenever the status of the operation changes.
+ // The Life Sciences Service Agent account must have publisher permissions to
+ // the specified topic or notifications will not be sent.
+ string pub_sub_topic = 3;
+}
+
+// The response to the RunPipeline method, returned in the operation's result
+// field on success.
+message RunPipelineResponse {
+
+}
+
+// Specifies a series of actions to execute, expressed as Docker containers.
+message Pipeline {
+ // The list of actions to execute, in the order they are specified.
+ repeated Action actions = 1;
+
+ // The resources required for execution.
+ Resources resources = 2;
+
+ // The environment to pass into every action. Each action can also specify
+ // additional environment variables but cannot delete an entry from this map
+ // (though they can overwrite it with a different value).
+ map environment = 3;
+
+ // The maximum amount of time to give the pipeline to complete. This includes
+ // the time spent waiting for a worker to be allocated. If the pipeline fails
+ // to complete before the timeout, it will be cancelled and the error code
+ // will be set to DEADLINE_EXCEEDED.
+ //
+ // If unspecified, it will default to 7 days.
+ google.protobuf.Duration timeout = 4;
+}
+
+// Specifies a single action that runs a Docker container.
+message Action {
+ // An optional name for the container. The container hostname will be set to
+ // this name, making it useful for inter-container communication. The name
+ // must contain only upper and lowercase alphanumeric characters and hyphens
+ // and cannot start with a hyphen.
+ string container_name = 1;
+
+ // Required. The URI to pull the container image from. Note that all images referenced
+ // by actions in the pipeline are pulled before the first action runs. If
+ // multiple actions reference the same image, it is only pulled once,
+ // ensuring that the same image is used for all actions in a single pipeline.
+ //
+ // The image URI can be either a complete host and image specification (e.g.,
+ // quay.io/biocontainers/samtools), a library and image name (e.g.,
+ // google/cloud-sdk) or a bare image name ('bash') to pull from the default
+ // library. No schema is required in any of these cases.
+ //
+ // If the specified image is not public, the service account specified for
+ // the Virtual Machine must have access to pull the images from GCR, or
+ // appropriate credentials must be specified in the
+ // [google.cloud.lifesciences.v2beta.Action.credentials][google.cloud.lifesciences.v2beta.Action.credentials] field.
+ string image_uri = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // If specified, overrides the `CMD` specified in the container. If the
+ // container also has an `ENTRYPOINT` the values are used as entrypoint
+ // arguments. Otherwise, they are used as a command and arguments to run
+ // inside the container.
+ repeated string commands = 3;
+
+ // If specified, overrides the `ENTRYPOINT` specified in the container.
+ string entrypoint = 4;
+
+ // The environment to pass into the container. This environment is merged
+ // with values specified in the [google.cloud.lifesciences.v2beta.Pipeline][google.cloud.lifesciences.v2beta.Pipeline]
+ // message, overwriting any duplicate values.
+ //
+ // In addition to the values passed here, a few other values are
+ // automatically injected into the environment. These cannot be hidden or
+ // overwritten.
+ //
+ // `GOOGLE_PIPELINE_FAILED` will be set to "1" if the pipeline failed
+ // because an action has exited with a non-zero status (and did not have the
+ // `IGNORE_EXIT_STATUS` flag set). This can be used to determine if additional
+ // debug or logging actions should execute.
+ //
+ // `GOOGLE_LAST_EXIT_STATUS` will be set to the exit status of the last
+ // non-background action that executed. This can be used by workflow engine
+ // authors to determine whether an individual action has succeeded or failed.
+ map environment = 5;
+
+ // An optional identifier for a PID namespace to run the action inside.
+ // Multiple actions should use the same string to share a namespace. If
+ // unspecified, a separate isolated namespace is used.
+ string pid_namespace = 6;
+
+ // A map of containers to host port mappings for this container. If the
+ // container already specifies exposed ports, use the
+ // `PUBLISH_EXPOSED_PORTS` flag instead.
+ //
+ // The host port number must be less than 65536. If it is zero, an unused
+ // random port is assigned. To determine the resulting port number, consult
+ // the `ContainerStartedEvent` in the operation metadata.
+ map port_mappings = 8;
+
+ // A list of mounts to make available to the action.
+ //
+ // In addition to the values specified here, every action has a special
+ // virtual disk mounted under `/google` that contains log files and other
+ // operational components.
+ //
+ //
+ // /google/logs
All logs written during the pipeline
+ // execution.
+ // /google/logs/output
The combined standard output and
+ // standard error of all actions run as part of the pipeline
+ // execution.
+ // /google/logs/action/*/stdout
The complete contents of
+ // each individual action's standard output.
+ // /google/logs/action/*/stderr
The complete contents of
+ // each individual action's standard error output.
+ //
+ repeated Mount mounts = 9;
+
+ // Labels to associate with the action. This field is provided to assist
+ // workflow engine authors in identifying actions (for example, to indicate
+ // what sort of action they perform, such as localization or debugging).
+ // They are returned in the operation metadata, but are otherwise ignored.
+ map labels = 10;
+
+ // If the specified image is hosted on a private registry other than Google
+ // Container Registry, the credentials required to pull the image must be
+ // specified here as an encrypted secret.
+ //
+ // The secret must decrypt to a JSON-encoded dictionary containing both
+ // `username` and `password` keys.
+ Secret credentials = 11;
+
+ // The maximum amount of time to give the action to complete. If the action
+ // fails to complete before the timeout, it will be terminated and the exit
+ // status will be non-zero. The pipeline will continue or terminate based
+ // on the rules defined by the `ALWAYS_RUN` and `IGNORE_EXIT_STATUS` flags.
+ google.protobuf.Duration timeout = 12;
+
+ // Normally, a non-zero exit status causes the pipeline to fail. This flag
+ // allows execution of other actions to continue instead.
+ bool ignore_exit_status = 13;
+
+ // This flag allows an action to continue running in the background while
+ // executing subsequent actions. This is useful to provide services to
+ // other actions (or to provide debugging support tools like SSH servers).
+ bool run_in_background = 14;
+
+ // By default, after an action fails, no further actions are run. This flag
+ // indicates that this action must be run even if the pipeline has already
+ // failed. This is useful for actions that copy output files off of the VM
+ // or for debugging. Note that no actions will be run if image prefetching
+ // fails.
+ bool always_run = 15;
+
+ // Enable access to the FUSE device for this action. Filesystems can then
+ // be mounted into disks shared with other actions. The other actions do
+ // not need the `enable_fuse` flag to access the mounted filesystem.
+ //
+ // This has the effect of causing the container to be executed with
+ // `CAP_SYS_ADMIN` and exposes `/dev/fuse` to the container, so use it only
+ // for containers you trust.
+ bool enable_fuse = 16;
+
+ // Exposes all ports specified by `EXPOSE` statements in the container. To
+ // discover the host side port numbers, consult the `ACTION_STARTED` event
+ // in the operation metadata.
+ bool publish_exposed_ports = 17;
+
+ // All container images are typically downloaded before any actions are
+ // executed. This helps prevent typos in URIs or issues like lack of disk
+ // space from wasting large amounts of compute resources.
+ //
+ // If set, this flag prevents the worker from downloading the image until
+ // just before the action is executed.
+ bool disable_image_prefetch = 18;
+
+ // A small portion of the container's standard error stream is typically
+ // captured and returned inside the `ContainerStoppedEvent`. Setting this
+ // flag disables this functionality.
+ bool disable_standard_error_capture = 19;
+
+ // Prevents the container from accessing the external network.
+ bool block_external_network = 20;
+}
+
+// Holds encrypted information that is only decrypted and stored in RAM
+// by the worker VM when running the pipeline.
+message Secret {
+ // The name of the Cloud KMS key that will be used to decrypt the secret
+ // value. The VM service account must have the required permissions and
+ // authentication scopes to invoke the `decrypt` method on the specified key.
+ string key_name = 1;
+
+ // The value of the cipherText response from the `encrypt` method. This field
+ // is intentionally unaudited.
+ string cipher_text = 2;
+}
+
+// Carries information about a particular disk mount inside a container.
+message Mount {
+ // The name of the disk to mount, as specified in the resources section.
+ string disk = 1;
+
+ // The path to mount the disk inside the container.
+ string path = 2;
+
+ // If true, the disk is mounted read-only inside the container.
+ bool read_only = 3;
+}
+
+// The system resources for the pipeline run.
+//
+// At least one zone or region must be specified or the pipeline run will fail.
+message Resources {
+ // The list of regions allowed for VM allocation. If set, the `zones` field
+ // must not be set.
+ repeated string regions = 2;
+
+ // The list of zones allowed for VM allocation. If set, the `regions` field
+ // must not be set.
+ repeated string zones = 3;
+
+ // The virtual machine specification.
+ VirtualMachine virtual_machine = 4;
+}
+
+// Carries information about a Compute Engine VM resource.
+message VirtualMachine {
+ // Required. The machine type of the virtual machine to create. Must be the short name
+ // of a standard machine type (such as "n1-standard-1") or a custom machine
+ // type (such as "custom-1-4096", where "1" indicates the number of vCPUs and
+ // "4096" indicates the memory in MB). See
+ // [Creating an instance with a custom machine
+ // type](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create)
+ // for more specifications on creating a custom machine type.
+ string machine_type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // If true, allocate a preemptible VM.
+ bool preemptible = 2;
+
+ // Optional set of labels to apply to the VM and any attached disk resources.
+ // These labels must adhere to the [name and value
+ // restrictions](https://cloud.google.com/compute/docs/labeling-resources) on
+ // VM labels imposed by Compute Engine.
+ //
+ // Labels keys with the prefix 'google-' are reserved for use by Google.
+ //
+ // Labels applied at creation time to the VM. Applied on a best-effort basis
+ // to attached disk resources shortly after VM creation.
+ map labels = 3;
+
+ // The list of disks to create and attach to the VM.
+ //
+ // Specify either the `volumes[]` field or the `disks[]` field, but not both.
+ repeated Disk disks = 4;
+
+ // The VM network configuration.
+ Network network = 5;
+
+ // The list of accelerators to attach to the VM.
+ repeated Accelerator accelerators = 6;
+
+ // The service account to install on the VM. This account does not need
+ // any permissions other than those required by the pipeline.
+ ServiceAccount service_account = 7;
+
+ // The size of the boot disk, in GB. The boot disk must be large
+ // enough to accommodate all of the Docker images from each action in the
+ // pipeline at the same time. If not specified, a small but reasonable
+ // default value is used.
+ int32 boot_disk_size_gb = 8;
+
+ // The CPU platform to request. An instance based on a newer platform can be
+ // allocated, but never one with fewer capabilities. The value of this
+ // parameter must be a valid Compute Engine CPU platform name (such as "Intel
+ // Skylake"). This parameter is only useful for carefully optimized work
+ // loads where the CPU platform has a significant impact.
+ //
+ // For more information about the effect of this parameter, see
+ // https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform.
+ string cpu_platform = 9;
+
+ // The host operating system image to use.
+ //
+ // Currently, only Container-Optimized OS images can be used.
+ //
+ // The default value is `projects/cos-cloud/global/images/family/cos-stable`,
+ // which selects the latest stable release of Container-Optimized OS.
+ //
+ // This option is provided to allow testing against the beta release of the
+ // operating system to ensure that the new version does not interact
+ // negatively with production pipelines.
+ //
+ // To test a pipeline against the beta release of Container-Optimized OS,
+ // use the value `projects/cos-cloud/global/images/family/cos-beta`.
+ string boot_image = 10;
+
+ // The NVIDIA driver version to use when attaching an NVIDIA GPU accelerator.
+ // The version specified here must be compatible with the GPU libraries
+ // contained in the container being executed, and must be one of the drivers
+ // hosted in the `nvidia-drivers-us-public` bucket on Google Cloud Storage.
+ string nvidia_driver_version = 11 [deprecated = true];
+
+ // Whether Stackdriver monitoring should be enabled on the VM.
+ bool enable_stackdriver_monitoring = 12;
+
+ // The Compute Engine Disk Images to use as a Docker cache. The disks will be
+ // mounted into the Docker folder in a way that the images present in the
+ // cache will not need to be pulled. The digests of the cached images must
+ // match those of the tags used or the latest version will still be pulled.
+ // The root directory of the ext4 image must contain `image` and `overlay2`
+ // directories copied from the Docker directory of a VM where the desired
+ // Docker images have already been pulled. Any images pulled that are not
+ // cached will be stored on the first cache disk instead of the boot disk.
+ // Only a single image is supported.
+ repeated string docker_cache_images = 13;
+
+ // The list of disks and other storage to create or attach to the VM.
+ //
+ // Specify either the `volumes[]` field or the `disks[]` field, but not both.
+ repeated Volume volumes = 14;
+}
+
+// Carries information about a Google Cloud service account.
+message ServiceAccount {
+ // Email address of the service account. If not specified, the default
+ // Compute Engine service account for the project will be used.
+ string email = 1;
+
+ // List of scopes to be enabled for this service account on the VM, in
+ // addition to the cloud-platform API scope that will be added by default.
+ repeated string scopes = 2;
+}
+
+// Carries information about an accelerator that can be attached to a VM.
+message Accelerator {
+ // The accelerator type string (for example, "nvidia-tesla-k80").
+ //
+ // Only NVIDIA GPU accelerators are currently supported. If an NVIDIA GPU is
+ // attached, the required runtime libraries will be made available to all
+ // containers under `/usr/local/nvidia`. The driver version to install must
+ // be specified using the NVIDIA driver version parameter on the virtual
+ // machine specification. Note that attaching a GPU increases the worker VM
+ // startup time by a few minutes.
+ string type = 1;
+
+ // How many accelerators of this type to attach.
+ int64 count = 2;
+}
+
+// VM networking options.
+message Network {
+ // The network name to attach the VM's network interface to. The value will
+ // be prefixed with `global/networks/` unless it contains a `/`, in which
+ // case it is assumed to be a fully specified network resource URL.
+ //
+ // If unspecified, the global default network is used.
+ string network = 1;
+
+ // If set to true, do not attach a public IP address to the VM. Note that
+ // without a public IP address, additional configuration is required to
+ // allow the VM to access Google services.
+ //
+ // See https://cloud.google.com/vpc/docs/configure-private-google-access
+ // for more information.
+ bool use_private_address = 2;
+
+ // If the specified network is configured for custom subnet creation, the
+ // name of the subnetwork to attach the instance to must be specified here.
+ //
+ // The value is prefixed with `regions/*/subnetworks/` unless it contains a
+ // `/`, in which case it is assumed to be a fully specified subnetwork
+ // resource URL.
+ //
+ // If the `*` character appears in the value, it is replaced with the region
+ // that the virtual machine has been allocated in.
+ string subnetwork = 3;
+}
+
+// Carries information about a disk that can be attached to a VM.
+//
+// See https://cloud.google.com/compute/docs/disks/performance for more
+// information about disk type, size, and performance considerations.
+//
+// Specify either [`Volume`][google.cloud.lifesciences.v2beta.Volume] or
+// [`Disk`][google.cloud.lifesciences.v2beta.Disk], but not both.
+message Disk {
+ // A user-supplied name for the disk. Used when mounting the disk into
+ // actions. The name must contain only upper and lowercase alphanumeric
+ // characters and hyphens and cannot start with a hyphen.
+ string name = 1;
+
+ // The size, in GB, of the disk to attach. If the size is not
+ // specified, a default is chosen to ensure reasonable I/O performance.
+ //
+ // If the disk type is specified as `local-ssd`, multiple local drives are
+ // automatically combined to provide the requested size. Note, however, that
+ // each physical SSD is 375GB in size, and no more than 8 drives can be
+ // attached to a single instance.
+ int32 size_gb = 2;
+
+ // The Compute Engine disk type. If unspecified, `pd-standard` is used.
+ string type = 3;
+
+ // An optional image to put on the disk before attaching it to the VM.
+ string source_image = 4;
+}
+
+// Carries information about storage that can be attached to a VM.
+//
+// Specify either [`Volume`][google.cloud.lifesciences.v2beta.Volume] or
+// [`Disk`][google.cloud.lifesciences.v2beta.Disk], but not both.
+message Volume {
+ // A user-supplied name for the volume. Used when mounting the volume into
+ // [`Actions`][google.cloud.lifesciences.v2beta.Action]. The name must contain
+ // only upper and lowercase alphanumeric characters and hyphens and cannot
+ // start with a hyphen.
+ string volume = 1;
+
+ oneof storage {
+ // Configuration for a persistent disk.
+ PersistentDisk persistent_disk = 2;
+
+ // Configuration for a existing disk.
+ ExistingDisk existing_disk = 3;
+
+ // Configuration for an NFS mount.
+ NFSMount nfs_mount = 4;
+ }
+}
+
+// Configuration for a persistent disk to be attached to the VM.
+//
+// See https://cloud.google.com/compute/docs/disks/performance for more
+// information about disk type, size, and performance considerations.
+message PersistentDisk {
+ // The size, in GB, of the disk to attach. If the size is not
+ // specified, a default is chosen to ensure reasonable I/O performance.
+ //
+ // If the disk type is specified as `local-ssd`, multiple local drives are
+ // automatically combined to provide the requested size. Note, however, that
+ // each physical SSD is 375GB in size, and no more than 8 drives can be
+ // attached to a single instance.
+ int32 size_gb = 1;
+
+ // The Compute Engine disk type. If unspecified, `pd-standard` is used.
+ string type = 2;
+
+ // An image to put on the disk before attaching it to the VM.
+ string source_image = 3;
+}
+
+// Configuration for an existing disk to be attached to the VM.
+message ExistingDisk {
+ // If `disk` contains slashes, the Cloud Life Sciences API assumes that it is
+ // a complete URL for the disk. If `disk` does not contain slashes, the Cloud
+ // Life Sciences API assumes that the disk is a zonal disk and a URL will be
+ // generated of the form `zones//disks/`, where `` is the
+ // zone in which the instance is allocated. The disk must be ext4 formatted.
+ //
+ // If all `Mount` references to this disk have the `read_only` flag set to
+ // true, the disk will be attached in `read-only` mode and can be shared with
+ // other instances. Otherwise, the disk will be available for writing but
+ // cannot be shared.
+ string disk = 1;
+}
+
+// Configuration for an `NFSMount` to be attached to the VM.
+message NFSMount {
+ // A target NFS mount. The target must be specified as `address:/mount".
+ string target = 1;
+}
+
+// Carries information about the pipeline execution that is returned
+// in the long running operation's metadata field.
+message Metadata {
+ // The pipeline this operation represents.
+ Pipeline pipeline = 1;
+
+ // The user-defined labels associated with this operation.
+ map labels = 2;
+
+ // The list of events that have happened so far during the execution of this
+ // operation.
+ repeated Event events = 3;
+
+ // The time at which the operation was created by the API.
+ google.protobuf.Timestamp create_time = 4;
+
+ // The first time at which resources were allocated to execute the pipeline.
+ google.protobuf.Timestamp start_time = 5;
+
+ // The time at which execution was completed and resources were cleaned up.
+ google.protobuf.Timestamp end_time = 6;
+
+ // The name of the Cloud Pub/Sub topic where notifications of operation status
+ // changes are sent.
+ string pub_sub_topic = 7;
+}
+
+// Carries information about events that occur during pipeline execution.
+message Event {
+ // The time at which the event occurred.
+ google.protobuf.Timestamp timestamp = 1;
+
+ // A human-readable description of the event. Note that these strings can
+ // change at any time without notice. Any application logic must use the
+ // information in the `details` field.
+ string description = 2;
+
+ // Machine-readable details about the event.
+ oneof details {
+ // See [google.cloud.lifesciences.v2beta.DelayedEvent][google.cloud.lifesciences.v2beta.DelayedEvent].
+ DelayedEvent delayed = 17;
+
+ // See [google.cloud.lifesciences.v2beta.WorkerAssignedEvent][google.cloud.lifesciences.v2beta.WorkerAssignedEvent].
+ WorkerAssignedEvent worker_assigned = 18;
+
+ // See [google.cloud.lifesciences.v2beta.WorkerReleasedEvent][google.cloud.lifesciences.v2beta.WorkerReleasedEvent].
+ WorkerReleasedEvent worker_released = 19;
+
+ // See [google.cloud.lifesciences.v2beta.PullStartedEvent][google.cloud.lifesciences.v2beta.PullStartedEvent].
+ PullStartedEvent pull_started = 20;
+
+ // See [google.cloud.lifesciences.v2beta.PullStoppedEvent][google.cloud.lifesciences.v2beta.PullStoppedEvent].
+ PullStoppedEvent pull_stopped = 21;
+
+ // See [google.cloud.lifesciences.v2beta.ContainerStartedEvent][google.cloud.lifesciences.v2beta.ContainerStartedEvent].
+ ContainerStartedEvent container_started = 22;
+
+ // See [google.cloud.lifesciences.v2beta.ContainerStoppedEvent][google.cloud.lifesciences.v2beta.ContainerStoppedEvent].
+ ContainerStoppedEvent container_stopped = 23;
+
+ // See [google.cloud.lifesciences.v2beta.ContainerKilledEvent][google.cloud.lifesciences.v2beta.ContainerKilledEvent].
+ ContainerKilledEvent container_killed = 24;
+
+ // See [google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent][google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent].
+ UnexpectedExitStatusEvent unexpected_exit_status = 25;
+
+ // See [google.cloud.lifesciences.v2beta.FailedEvent][google.cloud.lifesciences.v2beta.FailedEvent].
+ FailedEvent failed = 26;
+ }
+}
+
+// An event generated whenever a resource limitation or transient error
+// delays execution of a pipeline that was otherwise ready to run.
+message DelayedEvent {
+ // A textual description of the cause of the delay. The string can change
+ // without notice because it is often generated by another service (such as
+ // Compute Engine).
+ string cause = 1;
+
+ // If the delay was caused by a resource shortage, this field lists the
+ // Compute Engine metrics that are preventing this operation from running
+ // (for example, `CPUS` or `INSTANCES`). If the particular metric is not
+ // known, a single `UNKNOWN` metric will be present.
+ repeated string metrics = 2;
+}
+
+// An event generated after a worker VM has been assigned to run the
+// pipeline.
+message WorkerAssignedEvent {
+ // The zone the worker is running in.
+ string zone = 1;
+
+ // The worker's instance name.
+ string instance = 2;
+
+ // The machine type that was assigned for the worker.
+ string machine_type = 3;
+}
+
+// An event generated when the worker VM that was assigned to the pipeline
+// has been released (deleted).
+message WorkerReleasedEvent {
+ // The zone the worker was running in.
+ string zone = 1;
+
+ // The worker's instance name.
+ string instance = 2;
+}
+
+// An event generated when the worker starts pulling an image.
+message PullStartedEvent {
+ // The URI of the image that was pulled.
+ string image_uri = 1;
+}
+
+// An event generated when the worker stops pulling an image.
+message PullStoppedEvent {
+ // The URI of the image that was pulled.
+ string image_uri = 1;
+}
+
+// An event generated when a container starts.
+message ContainerStartedEvent {
+ // The numeric ID of the action that started this container.
+ int32 action_id = 1;
+
+ // The container-to-host port mappings installed for this container. This
+ // set will contain any ports exposed using the `PUBLISH_EXPOSED_PORTS` flag
+ // as well as any specified in the `Action` definition.
+ map port_mappings = 2;
+
+ // The public IP address that can be used to connect to the container. This
+ // field is only populated when at least one port mapping is present. If the
+ // instance was created with a private address, this field will be empty even
+ // if port mappings exist.
+ string ip_address = 3;
+}
+
+// An event generated when a container exits.
+message ContainerStoppedEvent {
+ // The numeric ID of the action that started this container.
+ int32 action_id = 1;
+
+ // The exit status of the container.
+ int32 exit_status = 2;
+
+ // The tail end of any content written to standard error by the container.
+ // If the content emits large amounts of debugging noise or contains
+ // sensitive information, you can prevent the content from being printed by
+ // setting the `DISABLE_STANDARD_ERROR_CAPTURE` flag.
+ //
+ // Note that only a small amount of the end of the stream is captured here.
+ // The entire stream is stored in the `/google/logs` directory mounted into
+ // each action, and can be copied off the machine as described elsewhere.
+ string stderr = 3;
+}
+
+// An event generated when the execution of a container results in a
+// non-zero exit status that was not otherwise ignored. Execution will
+// continue, but only actions that are flagged as `ALWAYS_RUN` will be
+// executed. Other actions will be skipped.
+message UnexpectedExitStatusEvent {
+ // The numeric ID of the action that started the container.
+ int32 action_id = 1;
+
+ // The exit status of the container.
+ int32 exit_status = 2;
+}
+
+// An event generated when a container is forcibly terminated by the
+// worker. Currently, this only occurs when the container outlives the
+// timeout specified by the user.
+message ContainerKilledEvent {
+ // The numeric ID of the action that started the container.
+ int32 action_id = 1;
+}
+
+// An event generated when the execution of a pipeline has failed. Note
+// that other events can continue to occur after this event.
+message FailedEvent {
+ // The Google standard error code that best describes this failure.
+ google.rpc.Code code = 1;
+
+ // The human-readable description of the cause of the failure.
+ string cause = 2;
+}
diff --git a/packages/google-cloud-lifesciences/protos/protos.d.ts b/packages/google-cloud-lifesciences/protos/protos.d.ts
new file mode 100644
index 00000000000..60d1bce2e15
--- /dev/null
+++ b/packages/google-cloud-lifesciences/protos/protos.d.ts
@@ -0,0 +1,8501 @@
+// 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 lifesciences. */
+ namespace lifesciences {
+
+ /** Namespace v2beta. */
+ namespace v2beta {
+
+ /** Represents a WorkflowsServiceV2Beta */
+ class WorkflowsServiceV2Beta extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new WorkflowsServiceV2Beta 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 WorkflowsServiceV2Beta 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): WorkflowsServiceV2Beta;
+
+ /**
+ * Calls RunPipeline.
+ * @param request RunPipelineRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public runPipeline(request: google.cloud.lifesciences.v2beta.IRunPipelineRequest, callback: google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta.RunPipelineCallback): void;
+
+ /**
+ * Calls RunPipeline.
+ * @param request RunPipelineRequest message or plain object
+ * @returns Promise
+ */
+ public runPipeline(request: google.cloud.lifesciences.v2beta.IRunPipelineRequest): Promise;
+ }
+
+ namespace WorkflowsServiceV2Beta {
+
+ /**
+ * Callback as used by {@link google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta|runPipeline}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RunPipelineCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a RunPipelineRequest. */
+ interface IRunPipelineRequest {
+
+ /** RunPipelineRequest parent */
+ parent?: (string|null);
+
+ /** RunPipelineRequest pipeline */
+ pipeline?: (google.cloud.lifesciences.v2beta.IPipeline|null);
+
+ /** RunPipelineRequest labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** RunPipelineRequest pubSubTopic */
+ pubSubTopic?: (string|null);
+ }
+
+ /** Represents a RunPipelineRequest. */
+ class RunPipelineRequest implements IRunPipelineRequest {
+
+ /**
+ * Constructs a new RunPipelineRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IRunPipelineRequest);
+
+ /** RunPipelineRequest parent. */
+ public parent: string;
+
+ /** RunPipelineRequest pipeline. */
+ public pipeline?: (google.cloud.lifesciences.v2beta.IPipeline|null);
+
+ /** RunPipelineRequest labels. */
+ public labels: { [k: string]: string };
+
+ /** RunPipelineRequest pubSubTopic. */
+ public pubSubTopic: string;
+
+ /**
+ * Creates a new RunPipelineRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunPipelineRequest instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IRunPipelineRequest): google.cloud.lifesciences.v2beta.RunPipelineRequest;
+
+ /**
+ * Encodes the specified RunPipelineRequest message. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineRequest.verify|verify} messages.
+ * @param message RunPipelineRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IRunPipelineRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunPipelineRequest message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineRequest.verify|verify} messages.
+ * @param message RunPipelineRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IRunPipelineRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunPipelineRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunPipelineRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.RunPipelineRequest;
+
+ /**
+ * Decodes a RunPipelineRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunPipelineRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.RunPipelineRequest;
+
+ /**
+ * Verifies a RunPipelineRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunPipelineRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunPipelineRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.RunPipelineRequest;
+
+ /**
+ * Creates a plain object from a RunPipelineRequest message. Also converts values to other types if specified.
+ * @param message RunPipelineRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.RunPipelineRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunPipelineRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunPipelineRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RunPipelineResponse. */
+ interface IRunPipelineResponse {
+ }
+
+ /** Represents a RunPipelineResponse. */
+ class RunPipelineResponse implements IRunPipelineResponse {
+
+ /**
+ * Constructs a new RunPipelineResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IRunPipelineResponse);
+
+ /**
+ * Creates a new RunPipelineResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunPipelineResponse instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IRunPipelineResponse): google.cloud.lifesciences.v2beta.RunPipelineResponse;
+
+ /**
+ * Encodes the specified RunPipelineResponse message. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineResponse.verify|verify} messages.
+ * @param message RunPipelineResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IRunPipelineResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunPipelineResponse message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineResponse.verify|verify} messages.
+ * @param message RunPipelineResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IRunPipelineResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunPipelineResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunPipelineResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.RunPipelineResponse;
+
+ /**
+ * Decodes a RunPipelineResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunPipelineResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.RunPipelineResponse;
+
+ /**
+ * Verifies a RunPipelineResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunPipelineResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunPipelineResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.RunPipelineResponse;
+
+ /**
+ * Creates a plain object from a RunPipelineResponse message. Also converts values to other types if specified.
+ * @param message RunPipelineResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.RunPipelineResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunPipelineResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunPipelineResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Pipeline. */
+ interface IPipeline {
+
+ /** Pipeline actions */
+ actions?: (google.cloud.lifesciences.v2beta.IAction[]|null);
+
+ /** Pipeline resources */
+ resources?: (google.cloud.lifesciences.v2beta.IResources|null);
+
+ /** Pipeline environment */
+ environment?: ({ [k: string]: string }|null);
+
+ /** Pipeline timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a Pipeline. */
+ class Pipeline implements IPipeline {
+
+ /**
+ * Constructs a new Pipeline.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IPipeline);
+
+ /** Pipeline actions. */
+ public actions: google.cloud.lifesciences.v2beta.IAction[];
+
+ /** Pipeline resources. */
+ public resources?: (google.cloud.lifesciences.v2beta.IResources|null);
+
+ /** Pipeline environment. */
+ public environment: { [k: string]: string };
+
+ /** Pipeline timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new Pipeline instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Pipeline instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IPipeline): google.cloud.lifesciences.v2beta.Pipeline;
+
+ /**
+ * Encodes the specified Pipeline message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Pipeline.verify|verify} messages.
+ * @param message Pipeline message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IPipeline, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Pipeline message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Pipeline.verify|verify} messages.
+ * @param message Pipeline message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IPipeline, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Pipeline message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Pipeline
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Pipeline;
+
+ /**
+ * Decodes a Pipeline message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Pipeline
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Pipeline;
+
+ /**
+ * Verifies a Pipeline message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Pipeline message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Pipeline
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Pipeline;
+
+ /**
+ * Creates a plain object from a Pipeline message. Also converts values to other types if specified.
+ * @param message Pipeline
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Pipeline, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Pipeline to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Pipeline
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Action. */
+ interface IAction {
+
+ /** Action containerName */
+ containerName?: (string|null);
+
+ /** Action imageUri */
+ imageUri?: (string|null);
+
+ /** Action commands */
+ commands?: (string[]|null);
+
+ /** Action entrypoint */
+ entrypoint?: (string|null);
+
+ /** Action environment */
+ environment?: ({ [k: string]: string }|null);
+
+ /** Action pidNamespace */
+ pidNamespace?: (string|null);
+
+ /** Action portMappings */
+ portMappings?: ({ [k: string]: number }|null);
+
+ /** Action mounts */
+ mounts?: (google.cloud.lifesciences.v2beta.IMount[]|null);
+
+ /** Action labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Action credentials */
+ credentials?: (google.cloud.lifesciences.v2beta.ISecret|null);
+
+ /** Action timeout */
+ timeout?: (google.protobuf.IDuration|null);
+
+ /** Action ignoreExitStatus */
+ ignoreExitStatus?: (boolean|null);
+
+ /** Action runInBackground */
+ runInBackground?: (boolean|null);
+
+ /** Action alwaysRun */
+ alwaysRun?: (boolean|null);
+
+ /** Action enableFuse */
+ enableFuse?: (boolean|null);
+
+ /** Action publishExposedPorts */
+ publishExposedPorts?: (boolean|null);
+
+ /** Action disableImagePrefetch */
+ disableImagePrefetch?: (boolean|null);
+
+ /** Action disableStandardErrorCapture */
+ disableStandardErrorCapture?: (boolean|null);
+
+ /** Action blockExternalNetwork */
+ blockExternalNetwork?: (boolean|null);
+ }
+
+ /** Represents an Action. */
+ class Action implements IAction {
+
+ /**
+ * Constructs a new Action.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IAction);
+
+ /** Action containerName. */
+ public containerName: string;
+
+ /** Action imageUri. */
+ public imageUri: string;
+
+ /** Action commands. */
+ public commands: string[];
+
+ /** Action entrypoint. */
+ public entrypoint: string;
+
+ /** Action environment. */
+ public environment: { [k: string]: string };
+
+ /** Action pidNamespace. */
+ public pidNamespace: string;
+
+ /** Action portMappings. */
+ public portMappings: { [k: string]: number };
+
+ /** Action mounts. */
+ public mounts: google.cloud.lifesciences.v2beta.IMount[];
+
+ /** Action labels. */
+ public labels: { [k: string]: string };
+
+ /** Action credentials. */
+ public credentials?: (google.cloud.lifesciences.v2beta.ISecret|null);
+
+ /** Action timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /** Action ignoreExitStatus. */
+ public ignoreExitStatus: boolean;
+
+ /** Action runInBackground. */
+ public runInBackground: boolean;
+
+ /** Action alwaysRun. */
+ public alwaysRun: boolean;
+
+ /** Action enableFuse. */
+ public enableFuse: boolean;
+
+ /** Action publishExposedPorts. */
+ public publishExposedPorts: boolean;
+
+ /** Action disableImagePrefetch. */
+ public disableImagePrefetch: boolean;
+
+ /** Action disableStandardErrorCapture. */
+ public disableStandardErrorCapture: boolean;
+
+ /** Action blockExternalNetwork. */
+ public blockExternalNetwork: boolean;
+
+ /**
+ * Creates a new Action instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Action instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IAction): google.cloud.lifesciences.v2beta.Action;
+
+ /**
+ * Encodes the specified Action message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Action.verify|verify} messages.
+ * @param message Action message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Action message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Action.verify|verify} messages.
+ * @param message Action message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Action message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Action
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Action;
+
+ /**
+ * Decodes an Action message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Action
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Action;
+
+ /**
+ * Verifies an Action message.
+ * @param message Plain 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 Action message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Action
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Action;
+
+ /**
+ * Creates a plain object from an Action message. Also converts values to other types if specified.
+ * @param message Action
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Action, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Action to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Action
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Secret. */
+ interface ISecret {
+
+ /** Secret keyName */
+ keyName?: (string|null);
+
+ /** Secret cipherText */
+ cipherText?: (string|null);
+ }
+
+ /** Represents a Secret. */
+ class Secret implements ISecret {
+
+ /**
+ * Constructs a new Secret.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.ISecret);
+
+ /** Secret keyName. */
+ public keyName: string;
+
+ /** Secret cipherText. */
+ public cipherText: string;
+
+ /**
+ * Creates a new Secret instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Secret instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.ISecret): google.cloud.lifesciences.v2beta.Secret;
+
+ /**
+ * Encodes the specified Secret message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Secret.verify|verify} messages.
+ * @param message Secret message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.ISecret, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Secret message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Secret.verify|verify} messages.
+ * @param message Secret message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.ISecret, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Secret message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Secret
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Secret;
+
+ /**
+ * Decodes a Secret message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Secret
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Secret;
+
+ /**
+ * Verifies a Secret message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Secret message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Secret
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Secret;
+
+ /**
+ * Creates a plain object from a Secret message. Also converts values to other types if specified.
+ * @param message Secret
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Secret, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Secret to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Secret
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Mount. */
+ interface IMount {
+
+ /** Mount disk */
+ disk?: (string|null);
+
+ /** Mount path */
+ path?: (string|null);
+
+ /** Mount readOnly */
+ readOnly?: (boolean|null);
+ }
+
+ /** Represents a Mount. */
+ class Mount implements IMount {
+
+ /**
+ * Constructs a new Mount.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IMount);
+
+ /** Mount disk. */
+ public disk: string;
+
+ /** Mount path. */
+ public path: string;
+
+ /** Mount readOnly. */
+ public readOnly: boolean;
+
+ /**
+ * Creates a new Mount instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Mount instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IMount): google.cloud.lifesciences.v2beta.Mount;
+
+ /**
+ * Encodes the specified Mount message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Mount.verify|verify} messages.
+ * @param message Mount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IMount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Mount message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Mount.verify|verify} messages.
+ * @param message Mount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IMount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Mount message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Mount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Mount;
+
+ /**
+ * Decodes a Mount message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Mount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Mount;
+
+ /**
+ * Verifies a Mount message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Mount message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Mount
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Mount;
+
+ /**
+ * Creates a plain object from a Mount message. Also converts values to other types if specified.
+ * @param message Mount
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Mount, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Mount to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Mount
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Resources. */
+ interface IResources {
+
+ /** Resources regions */
+ regions?: (string[]|null);
+
+ /** Resources zones */
+ zones?: (string[]|null);
+
+ /** Resources virtualMachine */
+ virtualMachine?: (google.cloud.lifesciences.v2beta.IVirtualMachine|null);
+ }
+
+ /** Represents a Resources. */
+ class Resources implements IResources {
+
+ /**
+ * Constructs a new Resources.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IResources);
+
+ /** Resources regions. */
+ public regions: string[];
+
+ /** Resources zones. */
+ public zones: string[];
+
+ /** Resources virtualMachine. */
+ public virtualMachine?: (google.cloud.lifesciences.v2beta.IVirtualMachine|null);
+
+ /**
+ * Creates a new Resources instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Resources instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IResources): google.cloud.lifesciences.v2beta.Resources;
+
+ /**
+ * Encodes the specified Resources message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Resources.verify|verify} messages.
+ * @param message Resources message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IResources, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Resources message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Resources.verify|verify} messages.
+ * @param message Resources message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IResources, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Resources message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Resources
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Resources;
+
+ /**
+ * Decodes a Resources message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Resources
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Resources;
+
+ /**
+ * Verifies a Resources message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Resources message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Resources
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Resources;
+
+ /**
+ * Creates a plain object from a Resources message. Also converts values to other types if specified.
+ * @param message Resources
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Resources, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Resources to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Resources
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VirtualMachine. */
+ interface IVirtualMachine {
+
+ /** VirtualMachine machineType */
+ machineType?: (string|null);
+
+ /** VirtualMachine preemptible */
+ preemptible?: (boolean|null);
+
+ /** VirtualMachine labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** VirtualMachine disks */
+ disks?: (google.cloud.lifesciences.v2beta.IDisk[]|null);
+
+ /** VirtualMachine network */
+ network?: (google.cloud.lifesciences.v2beta.INetwork|null);
+
+ /** VirtualMachine accelerators */
+ accelerators?: (google.cloud.lifesciences.v2beta.IAccelerator[]|null);
+
+ /** VirtualMachine serviceAccount */
+ serviceAccount?: (google.cloud.lifesciences.v2beta.IServiceAccount|null);
+
+ /** VirtualMachine bootDiskSizeGb */
+ bootDiskSizeGb?: (number|null);
+
+ /** VirtualMachine cpuPlatform */
+ cpuPlatform?: (string|null);
+
+ /** VirtualMachine bootImage */
+ bootImage?: (string|null);
+
+ /** VirtualMachine nvidiaDriverVersion */
+ nvidiaDriverVersion?: (string|null);
+
+ /** VirtualMachine enableStackdriverMonitoring */
+ enableStackdriverMonitoring?: (boolean|null);
+
+ /** VirtualMachine dockerCacheImages */
+ dockerCacheImages?: (string[]|null);
+
+ /** VirtualMachine volumes */
+ volumes?: (google.cloud.lifesciences.v2beta.IVolume[]|null);
+ }
+
+ /** Represents a VirtualMachine. */
+ class VirtualMachine implements IVirtualMachine {
+
+ /**
+ * Constructs a new VirtualMachine.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IVirtualMachine);
+
+ /** VirtualMachine machineType. */
+ public machineType: string;
+
+ /** VirtualMachine preemptible. */
+ public preemptible: boolean;
+
+ /** VirtualMachine labels. */
+ public labels: { [k: string]: string };
+
+ /** VirtualMachine disks. */
+ public disks: google.cloud.lifesciences.v2beta.IDisk[];
+
+ /** VirtualMachine network. */
+ public network?: (google.cloud.lifesciences.v2beta.INetwork|null);
+
+ /** VirtualMachine accelerators. */
+ public accelerators: google.cloud.lifesciences.v2beta.IAccelerator[];
+
+ /** VirtualMachine serviceAccount. */
+ public serviceAccount?: (google.cloud.lifesciences.v2beta.IServiceAccount|null);
+
+ /** VirtualMachine bootDiskSizeGb. */
+ public bootDiskSizeGb: number;
+
+ /** VirtualMachine cpuPlatform. */
+ public cpuPlatform: string;
+
+ /** VirtualMachine bootImage. */
+ public bootImage: string;
+
+ /** VirtualMachine nvidiaDriverVersion. */
+ public nvidiaDriverVersion: string;
+
+ /** VirtualMachine enableStackdriverMonitoring. */
+ public enableStackdriverMonitoring: boolean;
+
+ /** VirtualMachine dockerCacheImages. */
+ public dockerCacheImages: string[];
+
+ /** VirtualMachine volumes. */
+ public volumes: google.cloud.lifesciences.v2beta.IVolume[];
+
+ /**
+ * Creates a new VirtualMachine instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VirtualMachine instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IVirtualMachine): google.cloud.lifesciences.v2beta.VirtualMachine;
+
+ /**
+ * Encodes the specified VirtualMachine message. Does not implicitly {@link google.cloud.lifesciences.v2beta.VirtualMachine.verify|verify} messages.
+ * @param message VirtualMachine message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IVirtualMachine, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VirtualMachine message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.VirtualMachine.verify|verify} messages.
+ * @param message VirtualMachine message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IVirtualMachine, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.VirtualMachine;
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.VirtualMachine;
+
+ /**
+ * Verifies a VirtualMachine message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VirtualMachine message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VirtualMachine
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.VirtualMachine;
+
+ /**
+ * Creates a plain object from a VirtualMachine message. Also converts values to other types if specified.
+ * @param message VirtualMachine
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.VirtualMachine, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VirtualMachine to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VirtualMachine
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceAccount. */
+ interface IServiceAccount {
+
+ /** ServiceAccount email */
+ email?: (string|null);
+
+ /** ServiceAccount scopes */
+ scopes?: (string[]|null);
+ }
+
+ /** Represents a ServiceAccount. */
+ class ServiceAccount implements IServiceAccount {
+
+ /**
+ * Constructs a new ServiceAccount.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IServiceAccount);
+
+ /** ServiceAccount email. */
+ public email: string;
+
+ /** ServiceAccount scopes. */
+ public scopes: string[];
+
+ /**
+ * Creates a new ServiceAccount instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceAccount instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IServiceAccount): google.cloud.lifesciences.v2beta.ServiceAccount;
+
+ /**
+ * Encodes the specified ServiceAccount message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ServiceAccount.verify|verify} messages.
+ * @param message ServiceAccount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IServiceAccount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceAccount message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ServiceAccount.verify|verify} messages.
+ * @param message ServiceAccount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IServiceAccount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceAccount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.ServiceAccount;
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceAccount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.ServiceAccount;
+
+ /**
+ * Verifies a ServiceAccount message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceAccount message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceAccount
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.ServiceAccount;
+
+ /**
+ * Creates a plain object from a ServiceAccount message. Also converts values to other types if specified.
+ * @param message ServiceAccount
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.ServiceAccount, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceAccount to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceAccount
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Accelerator. */
+ interface IAccelerator {
+
+ /** Accelerator type */
+ type?: (string|null);
+
+ /** Accelerator count */
+ count?: (number|Long|string|null);
+ }
+
+ /** Represents an Accelerator. */
+ class Accelerator implements IAccelerator {
+
+ /**
+ * Constructs a new Accelerator.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IAccelerator);
+
+ /** Accelerator type. */
+ public type: string;
+
+ /** Accelerator count. */
+ public count: (number|Long|string);
+
+ /**
+ * Creates a new Accelerator instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Accelerator instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IAccelerator): google.cloud.lifesciences.v2beta.Accelerator;
+
+ /**
+ * Encodes the specified Accelerator message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Accelerator.verify|verify} messages.
+ * @param message Accelerator message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IAccelerator, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Accelerator message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Accelerator.verify|verify} messages.
+ * @param message Accelerator message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IAccelerator, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Accelerator message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Accelerator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Accelerator;
+
+ /**
+ * Decodes an Accelerator message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Accelerator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Accelerator;
+
+ /**
+ * Verifies an Accelerator message.
+ * @param message Plain 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 Accelerator message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Accelerator
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Accelerator;
+
+ /**
+ * Creates a plain object from an Accelerator message. Also converts values to other types if specified.
+ * @param message Accelerator
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Accelerator, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Accelerator to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Accelerator
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Network. */
+ interface INetwork {
+
+ /** Network network */
+ network?: (string|null);
+
+ /** Network usePrivateAddress */
+ usePrivateAddress?: (boolean|null);
+
+ /** Network subnetwork */
+ subnetwork?: (string|null);
+ }
+
+ /** Represents a Network. */
+ class Network implements INetwork {
+
+ /**
+ * Constructs a new Network.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.INetwork);
+
+ /** Network network. */
+ public network: string;
+
+ /** Network usePrivateAddress. */
+ public usePrivateAddress: boolean;
+
+ /** Network subnetwork. */
+ public subnetwork: string;
+
+ /**
+ * Creates a new Network instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Network instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.INetwork): google.cloud.lifesciences.v2beta.Network;
+
+ /**
+ * Encodes the specified Network message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Network.verify|verify} messages.
+ * @param message Network message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.INetwork, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Network message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Network.verify|verify} messages.
+ * @param message Network message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.INetwork, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Network message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Network
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Network;
+
+ /**
+ * Decodes a Network message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Network
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Network;
+
+ /**
+ * Verifies a Network message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Network message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Network
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Network;
+
+ /**
+ * Creates a plain object from a Network message. Also converts values to other types if specified.
+ * @param message Network
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Network, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Network to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Network
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Disk. */
+ interface IDisk {
+
+ /** Disk name */
+ name?: (string|null);
+
+ /** Disk sizeGb */
+ sizeGb?: (number|null);
+
+ /** Disk type */
+ type?: (string|null);
+
+ /** Disk sourceImage */
+ sourceImage?: (string|null);
+ }
+
+ /** Represents a Disk. */
+ class Disk implements IDisk {
+
+ /**
+ * Constructs a new Disk.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IDisk);
+
+ /** Disk name. */
+ public name: string;
+
+ /** Disk sizeGb. */
+ public sizeGb: number;
+
+ /** Disk type. */
+ public type: string;
+
+ /** Disk sourceImage. */
+ public sourceImage: string;
+
+ /**
+ * Creates a new Disk instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Disk instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IDisk): google.cloud.lifesciences.v2beta.Disk;
+
+ /**
+ * Encodes the specified Disk message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Disk.verify|verify} messages.
+ * @param message Disk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Disk message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Disk.verify|verify} messages.
+ * @param message Disk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Disk message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Disk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Disk;
+
+ /**
+ * Decodes a Disk message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Disk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Disk;
+
+ /**
+ * Verifies a Disk message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Disk message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Disk
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Disk;
+
+ /**
+ * Creates a plain object from a Disk message. Also converts values to other types if specified.
+ * @param message Disk
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Disk, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Disk to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Disk
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Volume. */
+ interface IVolume {
+
+ /** Volume volume */
+ volume?: (string|null);
+
+ /** Volume persistentDisk */
+ persistentDisk?: (google.cloud.lifesciences.v2beta.IPersistentDisk|null);
+
+ /** Volume existingDisk */
+ existingDisk?: (google.cloud.lifesciences.v2beta.IExistingDisk|null);
+
+ /** Volume nfsMount */
+ nfsMount?: (google.cloud.lifesciences.v2beta.INFSMount|null);
+ }
+
+ /** Represents a Volume. */
+ class Volume implements IVolume {
+
+ /**
+ * Constructs a new Volume.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IVolume);
+
+ /** Volume volume. */
+ public volume: string;
+
+ /** Volume persistentDisk. */
+ public persistentDisk?: (google.cloud.lifesciences.v2beta.IPersistentDisk|null);
+
+ /** Volume existingDisk. */
+ public existingDisk?: (google.cloud.lifesciences.v2beta.IExistingDisk|null);
+
+ /** Volume nfsMount. */
+ public nfsMount?: (google.cloud.lifesciences.v2beta.INFSMount|null);
+
+ /** Volume storage. */
+ public storage?: ("persistentDisk"|"existingDisk"|"nfsMount");
+
+ /**
+ * Creates a new Volume instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Volume instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IVolume): google.cloud.lifesciences.v2beta.Volume;
+
+ /**
+ * Encodes the specified Volume message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Volume.verify|verify} messages.
+ * @param message Volume message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IVolume, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Volume message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Volume.verify|verify} messages.
+ * @param message Volume message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IVolume, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Volume message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Volume
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Volume;
+
+ /**
+ * Decodes a Volume message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Volume
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Volume;
+
+ /**
+ * Verifies a Volume message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Volume message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Volume
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Volume;
+
+ /**
+ * Creates a plain object from a Volume message. Also converts values to other types if specified.
+ * @param message Volume
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Volume, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Volume to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Volume
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PersistentDisk. */
+ interface IPersistentDisk {
+
+ /** PersistentDisk sizeGb */
+ sizeGb?: (number|null);
+
+ /** PersistentDisk type */
+ type?: (string|null);
+
+ /** PersistentDisk sourceImage */
+ sourceImage?: (string|null);
+ }
+
+ /** Represents a PersistentDisk. */
+ class PersistentDisk implements IPersistentDisk {
+
+ /**
+ * Constructs a new PersistentDisk.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IPersistentDisk);
+
+ /** PersistentDisk sizeGb. */
+ public sizeGb: number;
+
+ /** PersistentDisk type. */
+ public type: string;
+
+ /** PersistentDisk sourceImage. */
+ public sourceImage: string;
+
+ /**
+ * Creates a new PersistentDisk instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersistentDisk instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IPersistentDisk): google.cloud.lifesciences.v2beta.PersistentDisk;
+
+ /**
+ * Encodes the specified PersistentDisk message. Does not implicitly {@link google.cloud.lifesciences.v2beta.PersistentDisk.verify|verify} messages.
+ * @param message PersistentDisk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IPersistentDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersistentDisk message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.PersistentDisk.verify|verify} messages.
+ * @param message PersistentDisk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IPersistentDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersistentDisk message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersistentDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.PersistentDisk;
+
+ /**
+ * Decodes a PersistentDisk message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersistentDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.PersistentDisk;
+
+ /**
+ * Verifies a PersistentDisk message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersistentDisk message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersistentDisk
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.PersistentDisk;
+
+ /**
+ * Creates a plain object from a PersistentDisk message. Also converts values to other types if specified.
+ * @param message PersistentDisk
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.PersistentDisk, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersistentDisk to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersistentDisk
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExistingDisk. */
+ interface IExistingDisk {
+
+ /** ExistingDisk disk */
+ disk?: (string|null);
+ }
+
+ /** Represents an ExistingDisk. */
+ class ExistingDisk implements IExistingDisk {
+
+ /**
+ * Constructs a new ExistingDisk.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IExistingDisk);
+
+ /** ExistingDisk disk. */
+ public disk: string;
+
+ /**
+ * Creates a new ExistingDisk instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExistingDisk instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IExistingDisk): google.cloud.lifesciences.v2beta.ExistingDisk;
+
+ /**
+ * Encodes the specified ExistingDisk message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ExistingDisk.verify|verify} messages.
+ * @param message ExistingDisk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IExistingDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExistingDisk message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ExistingDisk.verify|verify} messages.
+ * @param message ExistingDisk message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IExistingDisk, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExistingDisk message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExistingDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.ExistingDisk;
+
+ /**
+ * Decodes an ExistingDisk message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExistingDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.ExistingDisk;
+
+ /**
+ * Verifies an ExistingDisk message.
+ * @param message Plain 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 ExistingDisk message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExistingDisk
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.ExistingDisk;
+
+ /**
+ * Creates a plain object from an ExistingDisk message. Also converts values to other types if specified.
+ * @param message ExistingDisk
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.ExistingDisk, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExistingDisk to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExistingDisk
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NFSMount. */
+ interface INFSMount {
+
+ /** NFSMount target */
+ target?: (string|null);
+ }
+
+ /** Represents a NFSMount. */
+ class NFSMount implements INFSMount {
+
+ /**
+ * Constructs a new NFSMount.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.INFSMount);
+
+ /** NFSMount target. */
+ public target: string;
+
+ /**
+ * Creates a new NFSMount instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NFSMount instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.INFSMount): google.cloud.lifesciences.v2beta.NFSMount;
+
+ /**
+ * Encodes the specified NFSMount message. Does not implicitly {@link google.cloud.lifesciences.v2beta.NFSMount.verify|verify} messages.
+ * @param message NFSMount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.INFSMount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NFSMount message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.NFSMount.verify|verify} messages.
+ * @param message NFSMount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.INFSMount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NFSMount message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NFSMount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.NFSMount;
+
+ /**
+ * Decodes a NFSMount message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NFSMount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.NFSMount;
+
+ /**
+ * Verifies a NFSMount message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NFSMount message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NFSMount
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.NFSMount;
+
+ /**
+ * Creates a plain object from a NFSMount message. Also converts values to other types if specified.
+ * @param message NFSMount
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.NFSMount, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NFSMount to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NFSMount
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Metadata. */
+ interface IMetadata {
+
+ /** Metadata pipeline */
+ pipeline?: (google.cloud.lifesciences.v2beta.IPipeline|null);
+
+ /** Metadata labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Metadata events */
+ events?: (google.cloud.lifesciences.v2beta.IEvent[]|null);
+
+ /** Metadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Metadata startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** Metadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** Metadata pubSubTopic */
+ pubSubTopic?: (string|null);
+ }
+
+ /** Represents a Metadata. */
+ class Metadata implements IMetadata {
+
+ /**
+ * Constructs a new Metadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IMetadata);
+
+ /** Metadata pipeline. */
+ public pipeline?: (google.cloud.lifesciences.v2beta.IPipeline|null);
+
+ /** Metadata labels. */
+ public labels: { [k: string]: string };
+
+ /** Metadata events. */
+ public events: google.cloud.lifesciences.v2beta.IEvent[];
+
+ /** Metadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Metadata startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** Metadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** Metadata pubSubTopic. */
+ public pubSubTopic: string;
+
+ /**
+ * Creates a new Metadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Metadata instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IMetadata): google.cloud.lifesciences.v2beta.Metadata;
+
+ /**
+ * Encodes the specified Metadata message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Metadata.verify|verify} messages.
+ * @param message Metadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Metadata message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Metadata.verify|verify} messages.
+ * @param message Metadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Metadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Metadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Metadata;
+
+ /**
+ * Decodes a Metadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Metadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Metadata;
+
+ /**
+ * Verifies a Metadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Metadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Metadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Metadata;
+
+ /**
+ * Creates a plain object from a Metadata message. Also converts values to other types if specified.
+ * @param message Metadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Metadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Metadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Metadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Event. */
+ interface IEvent {
+
+ /** Event timestamp */
+ timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** Event description */
+ description?: (string|null);
+
+ /** Event delayed */
+ delayed?: (google.cloud.lifesciences.v2beta.IDelayedEvent|null);
+
+ /** Event workerAssigned */
+ workerAssigned?: (google.cloud.lifesciences.v2beta.IWorkerAssignedEvent|null);
+
+ /** Event workerReleased */
+ workerReleased?: (google.cloud.lifesciences.v2beta.IWorkerReleasedEvent|null);
+
+ /** Event pullStarted */
+ pullStarted?: (google.cloud.lifesciences.v2beta.IPullStartedEvent|null);
+
+ /** Event pullStopped */
+ pullStopped?: (google.cloud.lifesciences.v2beta.IPullStoppedEvent|null);
+
+ /** Event containerStarted */
+ containerStarted?: (google.cloud.lifesciences.v2beta.IContainerStartedEvent|null);
+
+ /** Event containerStopped */
+ containerStopped?: (google.cloud.lifesciences.v2beta.IContainerStoppedEvent|null);
+
+ /** Event containerKilled */
+ containerKilled?: (google.cloud.lifesciences.v2beta.IContainerKilledEvent|null);
+
+ /** Event unexpectedExitStatus */
+ unexpectedExitStatus?: (google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent|null);
+
+ /** Event failed */
+ failed?: (google.cloud.lifesciences.v2beta.IFailedEvent|null);
+ }
+
+ /** Represents an Event. */
+ class Event implements IEvent {
+
+ /**
+ * Constructs a new Event.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IEvent);
+
+ /** Event timestamp. */
+ public timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** Event description. */
+ public description: string;
+
+ /** Event delayed. */
+ public delayed?: (google.cloud.lifesciences.v2beta.IDelayedEvent|null);
+
+ /** Event workerAssigned. */
+ public workerAssigned?: (google.cloud.lifesciences.v2beta.IWorkerAssignedEvent|null);
+
+ /** Event workerReleased. */
+ public workerReleased?: (google.cloud.lifesciences.v2beta.IWorkerReleasedEvent|null);
+
+ /** Event pullStarted. */
+ public pullStarted?: (google.cloud.lifesciences.v2beta.IPullStartedEvent|null);
+
+ /** Event pullStopped. */
+ public pullStopped?: (google.cloud.lifesciences.v2beta.IPullStoppedEvent|null);
+
+ /** Event containerStarted. */
+ public containerStarted?: (google.cloud.lifesciences.v2beta.IContainerStartedEvent|null);
+
+ /** Event containerStopped. */
+ public containerStopped?: (google.cloud.lifesciences.v2beta.IContainerStoppedEvent|null);
+
+ /** Event containerKilled. */
+ public containerKilled?: (google.cloud.lifesciences.v2beta.IContainerKilledEvent|null);
+
+ /** Event unexpectedExitStatus. */
+ public unexpectedExitStatus?: (google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent|null);
+
+ /** Event failed. */
+ public failed?: (google.cloud.lifesciences.v2beta.IFailedEvent|null);
+
+ /** Event details. */
+ public details?: ("delayed"|"workerAssigned"|"workerReleased"|"pullStarted"|"pullStopped"|"containerStarted"|"containerStopped"|"containerKilled"|"unexpectedExitStatus"|"failed");
+
+ /**
+ * Creates a new Event instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Event instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IEvent): google.cloud.lifesciences.v2beta.Event;
+
+ /**
+ * Encodes the specified Event message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Event.verify|verify} messages.
+ * @param message Event message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Event message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Event.verify|verify} messages.
+ * @param message Event message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Event message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.Event;
+
+ /**
+ * Decodes an Event message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.Event;
+
+ /**
+ * Verifies an Event message.
+ * @param message Plain 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 Event message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Event
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.Event;
+
+ /**
+ * Creates a plain object from an Event message. Also converts values to other types if specified.
+ * @param message Event
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.Event, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Event to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Event
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DelayedEvent. */
+ interface IDelayedEvent {
+
+ /** DelayedEvent cause */
+ cause?: (string|null);
+
+ /** DelayedEvent metrics */
+ metrics?: (string[]|null);
+ }
+
+ /** Represents a DelayedEvent. */
+ class DelayedEvent implements IDelayedEvent {
+
+ /**
+ * Constructs a new DelayedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IDelayedEvent);
+
+ /** DelayedEvent cause. */
+ public cause: string;
+
+ /** DelayedEvent metrics. */
+ public metrics: string[];
+
+ /**
+ * Creates a new DelayedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DelayedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IDelayedEvent): google.cloud.lifesciences.v2beta.DelayedEvent;
+
+ /**
+ * Encodes the specified DelayedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.DelayedEvent.verify|verify} messages.
+ * @param message DelayedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IDelayedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DelayedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.DelayedEvent.verify|verify} messages.
+ * @param message DelayedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IDelayedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DelayedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DelayedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.DelayedEvent;
+
+ /**
+ * Decodes a DelayedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DelayedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.DelayedEvent;
+
+ /**
+ * Verifies a DelayedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DelayedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DelayedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.DelayedEvent;
+
+ /**
+ * Creates a plain object from a DelayedEvent message. Also converts values to other types if specified.
+ * @param message DelayedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.DelayedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DelayedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DelayedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WorkerAssignedEvent. */
+ interface IWorkerAssignedEvent {
+
+ /** WorkerAssignedEvent zone */
+ zone?: (string|null);
+
+ /** WorkerAssignedEvent instance */
+ instance?: (string|null);
+
+ /** WorkerAssignedEvent machineType */
+ machineType?: (string|null);
+ }
+
+ /** Represents a WorkerAssignedEvent. */
+ class WorkerAssignedEvent implements IWorkerAssignedEvent {
+
+ /**
+ * Constructs a new WorkerAssignedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IWorkerAssignedEvent);
+
+ /** WorkerAssignedEvent zone. */
+ public zone: string;
+
+ /** WorkerAssignedEvent instance. */
+ public instance: string;
+
+ /** WorkerAssignedEvent machineType. */
+ public machineType: string;
+
+ /**
+ * Creates a new WorkerAssignedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WorkerAssignedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IWorkerAssignedEvent): google.cloud.lifesciences.v2beta.WorkerAssignedEvent;
+
+ /**
+ * Encodes the specified WorkerAssignedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerAssignedEvent.verify|verify} messages.
+ * @param message WorkerAssignedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IWorkerAssignedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WorkerAssignedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerAssignedEvent.verify|verify} messages.
+ * @param message WorkerAssignedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IWorkerAssignedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WorkerAssignedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WorkerAssignedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.WorkerAssignedEvent;
+
+ /**
+ * Decodes a WorkerAssignedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WorkerAssignedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.WorkerAssignedEvent;
+
+ /**
+ * Verifies a WorkerAssignedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WorkerAssignedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WorkerAssignedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.WorkerAssignedEvent;
+
+ /**
+ * Creates a plain object from a WorkerAssignedEvent message. Also converts values to other types if specified.
+ * @param message WorkerAssignedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.WorkerAssignedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WorkerAssignedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WorkerAssignedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WorkerReleasedEvent. */
+ interface IWorkerReleasedEvent {
+
+ /** WorkerReleasedEvent zone */
+ zone?: (string|null);
+
+ /** WorkerReleasedEvent instance */
+ instance?: (string|null);
+ }
+
+ /** Represents a WorkerReleasedEvent. */
+ class WorkerReleasedEvent implements IWorkerReleasedEvent {
+
+ /**
+ * Constructs a new WorkerReleasedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IWorkerReleasedEvent);
+
+ /** WorkerReleasedEvent zone. */
+ public zone: string;
+
+ /** WorkerReleasedEvent instance. */
+ public instance: string;
+
+ /**
+ * Creates a new WorkerReleasedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WorkerReleasedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IWorkerReleasedEvent): google.cloud.lifesciences.v2beta.WorkerReleasedEvent;
+
+ /**
+ * Encodes the specified WorkerReleasedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerReleasedEvent.verify|verify} messages.
+ * @param message WorkerReleasedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IWorkerReleasedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WorkerReleasedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerReleasedEvent.verify|verify} messages.
+ * @param message WorkerReleasedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IWorkerReleasedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WorkerReleasedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WorkerReleasedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.WorkerReleasedEvent;
+
+ /**
+ * Decodes a WorkerReleasedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WorkerReleasedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.WorkerReleasedEvent;
+
+ /**
+ * Verifies a WorkerReleasedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WorkerReleasedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WorkerReleasedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.WorkerReleasedEvent;
+
+ /**
+ * Creates a plain object from a WorkerReleasedEvent message. Also converts values to other types if specified.
+ * @param message WorkerReleasedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.WorkerReleasedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WorkerReleasedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WorkerReleasedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PullStartedEvent. */
+ interface IPullStartedEvent {
+
+ /** PullStartedEvent imageUri */
+ imageUri?: (string|null);
+ }
+
+ /** Represents a PullStartedEvent. */
+ class PullStartedEvent implements IPullStartedEvent {
+
+ /**
+ * Constructs a new PullStartedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IPullStartedEvent);
+
+ /** PullStartedEvent imageUri. */
+ public imageUri: string;
+
+ /**
+ * Creates a new PullStartedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PullStartedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IPullStartedEvent): google.cloud.lifesciences.v2beta.PullStartedEvent;
+
+ /**
+ * Encodes the specified PullStartedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStartedEvent.verify|verify} messages.
+ * @param message PullStartedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IPullStartedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PullStartedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStartedEvent.verify|verify} messages.
+ * @param message PullStartedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IPullStartedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PullStartedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PullStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.PullStartedEvent;
+
+ /**
+ * Decodes a PullStartedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PullStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.PullStartedEvent;
+
+ /**
+ * Verifies a PullStartedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PullStartedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PullStartedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.PullStartedEvent;
+
+ /**
+ * Creates a plain object from a PullStartedEvent message. Also converts values to other types if specified.
+ * @param message PullStartedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.PullStartedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PullStartedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PullStartedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PullStoppedEvent. */
+ interface IPullStoppedEvent {
+
+ /** PullStoppedEvent imageUri */
+ imageUri?: (string|null);
+ }
+
+ /** Represents a PullStoppedEvent. */
+ class PullStoppedEvent implements IPullStoppedEvent {
+
+ /**
+ * Constructs a new PullStoppedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IPullStoppedEvent);
+
+ /** PullStoppedEvent imageUri. */
+ public imageUri: string;
+
+ /**
+ * Creates a new PullStoppedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PullStoppedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IPullStoppedEvent): google.cloud.lifesciences.v2beta.PullStoppedEvent;
+
+ /**
+ * Encodes the specified PullStoppedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStoppedEvent.verify|verify} messages.
+ * @param message PullStoppedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IPullStoppedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PullStoppedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStoppedEvent.verify|verify} messages.
+ * @param message PullStoppedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IPullStoppedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PullStoppedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PullStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.PullStoppedEvent;
+
+ /**
+ * Decodes a PullStoppedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PullStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.PullStoppedEvent;
+
+ /**
+ * Verifies a PullStoppedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PullStoppedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PullStoppedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.PullStoppedEvent;
+
+ /**
+ * Creates a plain object from a PullStoppedEvent message. Also converts values to other types if specified.
+ * @param message PullStoppedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.PullStoppedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PullStoppedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PullStoppedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ContainerStartedEvent. */
+ interface IContainerStartedEvent {
+
+ /** ContainerStartedEvent actionId */
+ actionId?: (number|null);
+
+ /** ContainerStartedEvent portMappings */
+ portMappings?: ({ [k: string]: number }|null);
+
+ /** ContainerStartedEvent ipAddress */
+ ipAddress?: (string|null);
+ }
+
+ /** Represents a ContainerStartedEvent. */
+ class ContainerStartedEvent implements IContainerStartedEvent {
+
+ /**
+ * Constructs a new ContainerStartedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IContainerStartedEvent);
+
+ /** ContainerStartedEvent actionId. */
+ public actionId: number;
+
+ /** ContainerStartedEvent portMappings. */
+ public portMappings: { [k: string]: number };
+
+ /** ContainerStartedEvent ipAddress. */
+ public ipAddress: string;
+
+ /**
+ * Creates a new ContainerStartedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContainerStartedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IContainerStartedEvent): google.cloud.lifesciences.v2beta.ContainerStartedEvent;
+
+ /**
+ * Encodes the specified ContainerStartedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStartedEvent.verify|verify} messages.
+ * @param message ContainerStartedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IContainerStartedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContainerStartedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStartedEvent.verify|verify} messages.
+ * @param message ContainerStartedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IContainerStartedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContainerStartedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContainerStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.ContainerStartedEvent;
+
+ /**
+ * Decodes a ContainerStartedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContainerStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.ContainerStartedEvent;
+
+ /**
+ * Verifies a ContainerStartedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContainerStartedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContainerStartedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.ContainerStartedEvent;
+
+ /**
+ * Creates a plain object from a ContainerStartedEvent message. Also converts values to other types if specified.
+ * @param message ContainerStartedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.ContainerStartedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContainerStartedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContainerStartedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ContainerStoppedEvent. */
+ interface IContainerStoppedEvent {
+
+ /** ContainerStoppedEvent actionId */
+ actionId?: (number|null);
+
+ /** ContainerStoppedEvent exitStatus */
+ exitStatus?: (number|null);
+
+ /** ContainerStoppedEvent stderr */
+ stderr?: (string|null);
+ }
+
+ /** Represents a ContainerStoppedEvent. */
+ class ContainerStoppedEvent implements IContainerStoppedEvent {
+
+ /**
+ * Constructs a new ContainerStoppedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IContainerStoppedEvent);
+
+ /** ContainerStoppedEvent actionId. */
+ public actionId: number;
+
+ /** ContainerStoppedEvent exitStatus. */
+ public exitStatus: number;
+
+ /** ContainerStoppedEvent stderr. */
+ public stderr: string;
+
+ /**
+ * Creates a new ContainerStoppedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContainerStoppedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IContainerStoppedEvent): google.cloud.lifesciences.v2beta.ContainerStoppedEvent;
+
+ /**
+ * Encodes the specified ContainerStoppedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStoppedEvent.verify|verify} messages.
+ * @param message ContainerStoppedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IContainerStoppedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContainerStoppedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStoppedEvent.verify|verify} messages.
+ * @param message ContainerStoppedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IContainerStoppedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContainerStoppedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContainerStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.ContainerStoppedEvent;
+
+ /**
+ * Decodes a ContainerStoppedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContainerStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.ContainerStoppedEvent;
+
+ /**
+ * Verifies a ContainerStoppedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContainerStoppedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContainerStoppedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.ContainerStoppedEvent;
+
+ /**
+ * Creates a plain object from a ContainerStoppedEvent message. Also converts values to other types if specified.
+ * @param message ContainerStoppedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.ContainerStoppedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContainerStoppedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContainerStoppedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UnexpectedExitStatusEvent. */
+ interface IUnexpectedExitStatusEvent {
+
+ /** UnexpectedExitStatusEvent actionId */
+ actionId?: (number|null);
+
+ /** UnexpectedExitStatusEvent exitStatus */
+ exitStatus?: (number|null);
+ }
+
+ /** Represents an UnexpectedExitStatusEvent. */
+ class UnexpectedExitStatusEvent implements IUnexpectedExitStatusEvent {
+
+ /**
+ * Constructs a new UnexpectedExitStatusEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent);
+
+ /** UnexpectedExitStatusEvent actionId. */
+ public actionId: number;
+
+ /** UnexpectedExitStatusEvent exitStatus. */
+ public exitStatus: number;
+
+ /**
+ * Creates a new UnexpectedExitStatusEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UnexpectedExitStatusEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent): google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent;
+
+ /**
+ * Encodes the specified UnexpectedExitStatusEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.verify|verify} messages.
+ * @param message UnexpectedExitStatusEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UnexpectedExitStatusEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.verify|verify} messages.
+ * @param message UnexpectedExitStatusEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UnexpectedExitStatusEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UnexpectedExitStatusEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent;
+
+ /**
+ * Decodes an UnexpectedExitStatusEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UnexpectedExitStatusEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent;
+
+ /**
+ * Verifies an UnexpectedExitStatusEvent message.
+ * @param message Plain 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 UnexpectedExitStatusEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UnexpectedExitStatusEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent;
+
+ /**
+ * Creates a plain object from an UnexpectedExitStatusEvent message. Also converts values to other types if specified.
+ * @param message UnexpectedExitStatusEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UnexpectedExitStatusEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UnexpectedExitStatusEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ContainerKilledEvent. */
+ interface IContainerKilledEvent {
+
+ /** ContainerKilledEvent actionId */
+ actionId?: (number|null);
+ }
+
+ /** Represents a ContainerKilledEvent. */
+ class ContainerKilledEvent implements IContainerKilledEvent {
+
+ /**
+ * Constructs a new ContainerKilledEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IContainerKilledEvent);
+
+ /** ContainerKilledEvent actionId. */
+ public actionId: number;
+
+ /**
+ * Creates a new ContainerKilledEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContainerKilledEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IContainerKilledEvent): google.cloud.lifesciences.v2beta.ContainerKilledEvent;
+
+ /**
+ * Encodes the specified ContainerKilledEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerKilledEvent.verify|verify} messages.
+ * @param message ContainerKilledEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IContainerKilledEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContainerKilledEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerKilledEvent.verify|verify} messages.
+ * @param message ContainerKilledEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IContainerKilledEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContainerKilledEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContainerKilledEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.ContainerKilledEvent;
+
+ /**
+ * Decodes a ContainerKilledEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContainerKilledEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.ContainerKilledEvent;
+
+ /**
+ * Verifies a ContainerKilledEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContainerKilledEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContainerKilledEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.ContainerKilledEvent;
+
+ /**
+ * Creates a plain object from a ContainerKilledEvent message. Also converts values to other types if specified.
+ * @param message ContainerKilledEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.ContainerKilledEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContainerKilledEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContainerKilledEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FailedEvent. */
+ interface IFailedEvent {
+
+ /** FailedEvent code */
+ code?: (google.rpc.Code|keyof typeof google.rpc.Code|null);
+
+ /** FailedEvent cause */
+ cause?: (string|null);
+ }
+
+ /** Represents a FailedEvent. */
+ class FailedEvent implements IFailedEvent {
+
+ /**
+ * Constructs a new FailedEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.lifesciences.v2beta.IFailedEvent);
+
+ /** FailedEvent code. */
+ public code: (google.rpc.Code|keyof typeof google.rpc.Code);
+
+ /** FailedEvent cause. */
+ public cause: string;
+
+ /**
+ * Creates a new FailedEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FailedEvent instance
+ */
+ public static create(properties?: google.cloud.lifesciences.v2beta.IFailedEvent): google.cloud.lifesciences.v2beta.FailedEvent;
+
+ /**
+ * Encodes the specified FailedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.FailedEvent.verify|verify} messages.
+ * @param message FailedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.lifesciences.v2beta.IFailedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FailedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.FailedEvent.verify|verify} messages.
+ * @param message FailedEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.lifesciences.v2beta.IFailedEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FailedEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FailedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.lifesciences.v2beta.FailedEvent;
+
+ /**
+ * Decodes a FailedEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FailedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.lifesciences.v2beta.FailedEvent;
+
+ /**
+ * Verifies a FailedEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FailedEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FailedEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.lifesciences.v2beta.FailedEvent;
+
+ /**
+ * Creates a plain object from a FailedEvent message. Also converts values to other types if specified.
+ * @param message FailedEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.lifesciences.v2beta.FailedEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FailedEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FailedEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7
+ }
+ }
+
+ /** 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);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions phpGenericServices. */
+ public phpGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Code enum. */
+ enum Code {
+ OK = 0,
+ CANCELLED = 1,
+ UNKNOWN = 2,
+ INVALID_ARGUMENT = 3,
+ DEADLINE_EXCEEDED = 4,
+ NOT_FOUND = 5,
+ ALREADY_EXISTS = 6,
+ PERMISSION_DENIED = 7,
+ UNAUTHENTICATED = 16,
+ RESOURCE_EXHAUSTED = 8,
+ FAILED_PRECONDITION = 9,
+ ABORTED = 10,
+ OUT_OF_RANGE = 11,
+ UNIMPLEMENTED = 12,
+ INTERNAL = 13,
+ UNAVAILABLE = 14,
+ DATA_LOSS = 15
+ }
+ }
+}
diff --git a/packages/google-cloud-lifesciences/protos/protos.js b/packages/google-cloud-lifesciences/protos/protos.js
new file mode 100644
index 00000000000..ecbff4d199e
--- /dev/null
+++ b/packages/google-cloud-lifesciences/protos/protos.js
@@ -0,0 +1,22237 @@
+// 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_life_sciences_protos || ($protobuf.roots._google_cloud_life_sciences_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.lifesciences = (function() {
+
+ /**
+ * Namespace lifesciences.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var lifesciences = {};
+
+ lifesciences.v2beta = (function() {
+
+ /**
+ * Namespace v2beta.
+ * @memberof google.cloud.lifesciences
+ * @namespace
+ */
+ var v2beta = {};
+
+ v2beta.WorkflowsServiceV2Beta = (function() {
+
+ /**
+ * Constructs a new WorkflowsServiceV2Beta service.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a WorkflowsServiceV2Beta
+ * @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 WorkflowsServiceV2Beta(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (WorkflowsServiceV2Beta.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = WorkflowsServiceV2Beta;
+
+ /**
+ * Creates new WorkflowsServiceV2Beta service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta
+ * @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 {WorkflowsServiceV2Beta} RPC service. Useful where requests and/or responses are streamed.
+ */
+ WorkflowsServiceV2Beta.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta|runPipeline}.
+ * @memberof google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta
+ * @typedef RunPipelineCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls RunPipeline.
+ * @function runPipeline
+ * @memberof google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta
+ * @instance
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineRequest} request RunPipelineRequest message or plain object
+ * @param {google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta.RunPipelineCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(WorkflowsServiceV2Beta.prototype.runPipeline = function runPipeline(request, callback) {
+ return this.rpcCall(runPipeline, $root.google.cloud.lifesciences.v2beta.RunPipelineRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "RunPipeline" });
+
+ /**
+ * Calls RunPipeline.
+ * @function runPipeline
+ * @memberof google.cloud.lifesciences.v2beta.WorkflowsServiceV2Beta
+ * @instance
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineRequest} request RunPipelineRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return WorkflowsServiceV2Beta;
+ })();
+
+ v2beta.RunPipelineRequest = (function() {
+
+ /**
+ * Properties of a RunPipelineRequest.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IRunPipelineRequest
+ * @property {string|null} [parent] RunPipelineRequest parent
+ * @property {google.cloud.lifesciences.v2beta.IPipeline|null} [pipeline] RunPipelineRequest pipeline
+ * @property {Object.|null} [labels] RunPipelineRequest labels
+ * @property {string|null} [pubSubTopic] RunPipelineRequest pubSubTopic
+ */
+
+ /**
+ * Constructs a new RunPipelineRequest.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a RunPipelineRequest.
+ * @implements IRunPipelineRequest
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineRequest=} [properties] Properties to set
+ */
+ function RunPipelineRequest(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * RunPipelineRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @instance
+ */
+ RunPipelineRequest.prototype.parent = "";
+
+ /**
+ * RunPipelineRequest pipeline.
+ * @member {google.cloud.lifesciences.v2beta.IPipeline|null|undefined} pipeline
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @instance
+ */
+ RunPipelineRequest.prototype.pipeline = null;
+
+ /**
+ * RunPipelineRequest labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @instance
+ */
+ RunPipelineRequest.prototype.labels = $util.emptyObject;
+
+ /**
+ * RunPipelineRequest pubSubTopic.
+ * @member {string} pubSubTopic
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @instance
+ */
+ RunPipelineRequest.prototype.pubSubTopic = "";
+
+ /**
+ * Creates a new RunPipelineRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineRequest=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineRequest} RunPipelineRequest instance
+ */
+ RunPipelineRequest.create = function create(properties) {
+ return new RunPipelineRequest(properties);
+ };
+
+ /**
+ * Encodes the specified RunPipelineRequest message. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineRequest} message RunPipelineRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunPipelineRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pipeline != null && Object.hasOwnProperty.call(message, "pipeline"))
+ $root.google.cloud.lifesciences.v2beta.Pipeline.encode(message.pipeline, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.pubSubTopic != null && Object.hasOwnProperty.call(message, "pubSubTopic"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pubSubTopic);
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.parent);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RunPipelineRequest message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineRequest} message RunPipelineRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunPipelineRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RunPipelineRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineRequest} RunPipelineRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunPipelineRequest.decode = function 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.lifesciences.v2beta.RunPipelineRequest(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 4: {
+ message.parent = reader.string();
+ break;
+ }
+ case 1: {
+ message.pipeline = $root.google.cloud.lifesciences.v2beta.Pipeline.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 3: {
+ message.pubSubTopic = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RunPipelineRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineRequest} RunPipelineRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunPipelineRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RunPipelineRequest message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RunPipelineRequest.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.pipeline != null && message.hasOwnProperty("pipeline")) {
+ var error = $root.google.cloud.lifesciences.v2beta.Pipeline.verify(message.pipeline);
+ if (error)
+ return "pipeline." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.pubSubTopic != null && message.hasOwnProperty("pubSubTopic"))
+ if (!$util.isString(message.pubSubTopic))
+ return "pubSubTopic: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a RunPipelineRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineRequest} RunPipelineRequest
+ */
+ RunPipelineRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.RunPipelineRequest)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.RunPipelineRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pipeline != null) {
+ if (typeof object.pipeline !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.RunPipelineRequest.pipeline: object expected");
+ message.pipeline = $root.google.cloud.lifesciences.v2beta.Pipeline.fromObject(object.pipeline);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.RunPipelineRequest.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.pubSubTopic != null)
+ message.pubSubTopic = String(object.pubSubTopic);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RunPipelineRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.RunPipelineRequest} message RunPipelineRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RunPipelineRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.pipeline = null;
+ object.pubSubTopic = "";
+ object.parent = "";
+ }
+ if (message.pipeline != null && message.hasOwnProperty("pipeline"))
+ object.pipeline = $root.google.cloud.lifesciences.v2beta.Pipeline.toObject(message.pipeline, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.pubSubTopic != null && message.hasOwnProperty("pubSubTopic"))
+ object.pubSubTopic = message.pubSubTopic;
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ return object;
+ };
+
+ /**
+ * Converts this RunPipelineRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RunPipelineRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RunPipelineRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RunPipelineRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.RunPipelineRequest";
+ };
+
+ return RunPipelineRequest;
+ })();
+
+ v2beta.RunPipelineResponse = (function() {
+
+ /**
+ * Properties of a RunPipelineResponse.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IRunPipelineResponse
+ */
+
+ /**
+ * Constructs a new RunPipelineResponse.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a RunPipelineResponse.
+ * @implements IRunPipelineResponse
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineResponse=} [properties] Properties to set
+ */
+ function RunPipelineResponse(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Creates a new RunPipelineResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineResponse=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineResponse} RunPipelineResponse instance
+ */
+ RunPipelineResponse.create = function create(properties) {
+ return new RunPipelineResponse(properties);
+ };
+
+ /**
+ * Encodes the specified RunPipelineResponse message. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineResponse} message RunPipelineResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunPipelineResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RunPipelineResponse message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.RunPipelineResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IRunPipelineResponse} message RunPipelineResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunPipelineResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RunPipelineResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineResponse} RunPipelineResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunPipelineResponse.decode = function 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.lifesciences.v2beta.RunPipelineResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RunPipelineResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineResponse} RunPipelineResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunPipelineResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RunPipelineResponse message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RunPipelineResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a RunPipelineResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.RunPipelineResponse} RunPipelineResponse
+ */
+ RunPipelineResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.RunPipelineResponse)
+ return object;
+ return new $root.google.cloud.lifesciences.v2beta.RunPipelineResponse();
+ };
+
+ /**
+ * Creates a plain object from a RunPipelineResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.RunPipelineResponse} message RunPipelineResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RunPipelineResponse.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this RunPipelineResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RunPipelineResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RunPipelineResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.RunPipelineResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RunPipelineResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.RunPipelineResponse";
+ };
+
+ return RunPipelineResponse;
+ })();
+
+ v2beta.Pipeline = (function() {
+
+ /**
+ * Properties of a Pipeline.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IPipeline
+ * @property {Array.|null} [actions] Pipeline actions
+ * @property {google.cloud.lifesciences.v2beta.IResources|null} [resources] Pipeline resources
+ * @property {Object.|null} [environment] Pipeline environment
+ * @property {google.protobuf.IDuration|null} [timeout] Pipeline timeout
+ */
+
+ /**
+ * Constructs a new Pipeline.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Pipeline.
+ * @implements IPipeline
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IPipeline=} [properties] Properties to set
+ */
+ function Pipeline(properties) {
+ this.actions = [];
+ this.environment = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Pipeline actions.
+ * @member {Array.} actions
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @instance
+ */
+ Pipeline.prototype.actions = $util.emptyArray;
+
+ /**
+ * Pipeline resources.
+ * @member {google.cloud.lifesciences.v2beta.IResources|null|undefined} resources
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @instance
+ */
+ Pipeline.prototype.resources = null;
+
+ /**
+ * Pipeline environment.
+ * @member {Object.} environment
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @instance
+ */
+ Pipeline.prototype.environment = $util.emptyObject;
+
+ /**
+ * Pipeline timeout.
+ * @member {google.protobuf.IDuration|null|undefined} timeout
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @instance
+ */
+ Pipeline.prototype.timeout = null;
+
+ /**
+ * Creates a new Pipeline instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPipeline=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Pipeline} Pipeline instance
+ */
+ Pipeline.create = function create(properties) {
+ return new Pipeline(properties);
+ };
+
+ /**
+ * Encodes the specified Pipeline message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Pipeline.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPipeline} message Pipeline message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Pipeline.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.actions != null && message.actions.length)
+ for (var i = 0; i < message.actions.length; ++i)
+ $root.google.cloud.lifesciences.v2beta.Action.encode(message.actions[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.resources != null && Object.hasOwnProperty.call(message, "resources"))
+ $root.google.cloud.lifesciences.v2beta.Resources.encode(message.resources, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.environment != null && Object.hasOwnProperty.call(message, "environment"))
+ for (var keys = Object.keys(message.environment), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.environment[keys[i]]).ldelim();
+ if (message.timeout != null && Object.hasOwnProperty.call(message, "timeout"))
+ $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Pipeline message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Pipeline.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPipeline} message Pipeline message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Pipeline.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Pipeline message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Pipeline} Pipeline
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Pipeline.decode = function 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.lifesciences.v2beta.Pipeline(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.actions && message.actions.length))
+ message.actions = [];
+ message.actions.push($root.google.cloud.lifesciences.v2beta.Action.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.resources = $root.google.cloud.lifesciences.v2beta.Resources.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (message.environment === $util.emptyObject)
+ message.environment = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.environment[key] = value;
+ break;
+ }
+ case 4: {
+ message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Pipeline message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Pipeline} Pipeline
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Pipeline.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Pipeline message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Pipeline.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.actions != null && message.hasOwnProperty("actions")) {
+ if (!Array.isArray(message.actions))
+ return "actions: array expected";
+ for (var i = 0; i < message.actions.length; ++i) {
+ var error = $root.google.cloud.lifesciences.v2beta.Action.verify(message.actions[i]);
+ if (error)
+ return "actions." + error;
+ }
+ }
+ if (message.resources != null && message.hasOwnProperty("resources")) {
+ var error = $root.google.cloud.lifesciences.v2beta.Resources.verify(message.resources);
+ if (error)
+ return "resources." + error;
+ }
+ if (message.environment != null && message.hasOwnProperty("environment")) {
+ if (!$util.isObject(message.environment))
+ return "environment: object expected";
+ var key = Object.keys(message.environment);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.environment[key[i]]))
+ return "environment: string{k:string} expected";
+ }
+ if (message.timeout != null && message.hasOwnProperty("timeout")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeout);
+ if (error)
+ return "timeout." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Pipeline message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Pipeline} Pipeline
+ */
+ Pipeline.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Pipeline)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Pipeline();
+ if (object.actions) {
+ if (!Array.isArray(object.actions))
+ throw TypeError(".google.cloud.lifesciences.v2beta.Pipeline.actions: array expected");
+ message.actions = [];
+ for (var i = 0; i < object.actions.length; ++i) {
+ if (typeof object.actions[i] !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Pipeline.actions: object expected");
+ message.actions[i] = $root.google.cloud.lifesciences.v2beta.Action.fromObject(object.actions[i]);
+ }
+ }
+ if (object.resources != null) {
+ if (typeof object.resources !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Pipeline.resources: object expected");
+ message.resources = $root.google.cloud.lifesciences.v2beta.Resources.fromObject(object.resources);
+ }
+ if (object.environment) {
+ if (typeof object.environment !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Pipeline.environment: object expected");
+ message.environment = {};
+ for (var keys = Object.keys(object.environment), i = 0; i < keys.length; ++i)
+ message.environment[keys[i]] = String(object.environment[keys[i]]);
+ }
+ if (object.timeout != null) {
+ if (typeof object.timeout !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Pipeline.timeout: object expected");
+ message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Pipeline message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Pipeline} message Pipeline
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Pipeline.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.actions = [];
+ if (options.objects || options.defaults)
+ object.environment = {};
+ if (options.defaults) {
+ object.resources = null;
+ object.timeout = null;
+ }
+ if (message.actions && message.actions.length) {
+ object.actions = [];
+ for (var j = 0; j < message.actions.length; ++j)
+ object.actions[j] = $root.google.cloud.lifesciences.v2beta.Action.toObject(message.actions[j], options);
+ }
+ if (message.resources != null && message.hasOwnProperty("resources"))
+ object.resources = $root.google.cloud.lifesciences.v2beta.Resources.toObject(message.resources, options);
+ var keys2;
+ if (message.environment && (keys2 = Object.keys(message.environment)).length) {
+ object.environment = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.environment[keys2[j]] = message.environment[keys2[j]];
+ }
+ if (message.timeout != null && message.hasOwnProperty("timeout"))
+ object.timeout = $root.google.protobuf.Duration.toObject(message.timeout, options);
+ return object;
+ };
+
+ /**
+ * Converts this Pipeline to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Pipeline.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Pipeline
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Pipeline
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Pipeline.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Pipeline";
+ };
+
+ return Pipeline;
+ })();
+
+ v2beta.Action = (function() {
+
+ /**
+ * Properties of an Action.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IAction
+ * @property {string|null} [containerName] Action containerName
+ * @property {string|null} [imageUri] Action imageUri
+ * @property {Array.|null} [commands] Action commands
+ * @property {string|null} [entrypoint] Action entrypoint
+ * @property {Object.|null} [environment] Action environment
+ * @property {string|null} [pidNamespace] Action pidNamespace
+ * @property {Object.|null} [portMappings] Action portMappings
+ * @property {Array.|null} [mounts] Action mounts
+ * @property {Object.|null} [labels] Action labels
+ * @property {google.cloud.lifesciences.v2beta.ISecret|null} [credentials] Action credentials
+ * @property {google.protobuf.IDuration|null} [timeout] Action timeout
+ * @property {boolean|null} [ignoreExitStatus] Action ignoreExitStatus
+ * @property {boolean|null} [runInBackground] Action runInBackground
+ * @property {boolean|null} [alwaysRun] Action alwaysRun
+ * @property {boolean|null} [enableFuse] Action enableFuse
+ * @property {boolean|null} [publishExposedPorts] Action publishExposedPorts
+ * @property {boolean|null} [disableImagePrefetch] Action disableImagePrefetch
+ * @property {boolean|null} [disableStandardErrorCapture] Action disableStandardErrorCapture
+ * @property {boolean|null} [blockExternalNetwork] Action blockExternalNetwork
+ */
+
+ /**
+ * Constructs a new Action.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents an Action.
+ * @implements IAction
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IAction=} [properties] Properties to set
+ */
+ function Action(properties) {
+ this.commands = [];
+ this.environment = {};
+ this.portMappings = {};
+ this.mounts = [];
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Action containerName.
+ * @member {string} containerName
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.containerName = "";
+
+ /**
+ * Action imageUri.
+ * @member {string} imageUri
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.imageUri = "";
+
+ /**
+ * Action commands.
+ * @member {Array.} commands
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.commands = $util.emptyArray;
+
+ /**
+ * Action entrypoint.
+ * @member {string} entrypoint
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.entrypoint = "";
+
+ /**
+ * Action environment.
+ * @member {Object.} environment
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.environment = $util.emptyObject;
+
+ /**
+ * Action pidNamespace.
+ * @member {string} pidNamespace
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.pidNamespace = "";
+
+ /**
+ * Action portMappings.
+ * @member {Object.} portMappings
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.portMappings = $util.emptyObject;
+
+ /**
+ * Action mounts.
+ * @member {Array.} mounts
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.mounts = $util.emptyArray;
+
+ /**
+ * Action labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.labels = $util.emptyObject;
+
+ /**
+ * Action credentials.
+ * @member {google.cloud.lifesciences.v2beta.ISecret|null|undefined} credentials
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.credentials = null;
+
+ /**
+ * Action timeout.
+ * @member {google.protobuf.IDuration|null|undefined} timeout
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.timeout = null;
+
+ /**
+ * Action ignoreExitStatus.
+ * @member {boolean} ignoreExitStatus
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.ignoreExitStatus = false;
+
+ /**
+ * Action runInBackground.
+ * @member {boolean} runInBackground
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.runInBackground = false;
+
+ /**
+ * Action alwaysRun.
+ * @member {boolean} alwaysRun
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.alwaysRun = false;
+
+ /**
+ * Action enableFuse.
+ * @member {boolean} enableFuse
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.enableFuse = false;
+
+ /**
+ * Action publishExposedPorts.
+ * @member {boolean} publishExposedPorts
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.publishExposedPorts = false;
+
+ /**
+ * Action disableImagePrefetch.
+ * @member {boolean} disableImagePrefetch
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.disableImagePrefetch = false;
+
+ /**
+ * Action disableStandardErrorCapture.
+ * @member {boolean} disableStandardErrorCapture
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.disableStandardErrorCapture = false;
+
+ /**
+ * Action blockExternalNetwork.
+ * @member {boolean} blockExternalNetwork
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ */
+ Action.prototype.blockExternalNetwork = false;
+
+ /**
+ * Creates a new Action instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IAction=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Action} Action instance
+ */
+ Action.create = function create(properties) {
+ return new Action(properties);
+ };
+
+ /**
+ * Encodes the specified Action message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Action.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IAction} message Action message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Action.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.containerName != null && Object.hasOwnProperty.call(message, "containerName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.containerName);
+ if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.imageUri);
+ if (message.commands != null && message.commands.length)
+ for (var i = 0; i < message.commands.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.commands[i]);
+ if (message.entrypoint != null && Object.hasOwnProperty.call(message, "entrypoint"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.entrypoint);
+ if (message.environment != null && Object.hasOwnProperty.call(message, "environment"))
+ for (var keys = Object.keys(message.environment), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.environment[keys[i]]).ldelim();
+ if (message.pidNamespace != null && Object.hasOwnProperty.call(message, "pidNamespace"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.pidNamespace);
+ if (message.portMappings != null && Object.hasOwnProperty.call(message, "portMappings"))
+ for (var keys = Object.keys(message.portMappings), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 8, wireType 2 =*/66).fork().uint32(/* id 1, wireType 0 =*/8).int32(keys[i]).uint32(/* id 2, wireType 0 =*/16).int32(message.portMappings[keys[i]]).ldelim();
+ if (message.mounts != null && message.mounts.length)
+ for (var i = 0; i < message.mounts.length; ++i)
+ $root.google.cloud.lifesciences.v2beta.Mount.encode(message.mounts[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 10, wireType 2 =*/82).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.credentials != null && Object.hasOwnProperty.call(message, "credentials"))
+ $root.google.cloud.lifesciences.v2beta.Secret.encode(message.credentials, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.timeout != null && Object.hasOwnProperty.call(message, "timeout"))
+ $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.ignoreExitStatus != null && Object.hasOwnProperty.call(message, "ignoreExitStatus"))
+ writer.uint32(/* id 13, wireType 0 =*/104).bool(message.ignoreExitStatus);
+ if (message.runInBackground != null && Object.hasOwnProperty.call(message, "runInBackground"))
+ writer.uint32(/* id 14, wireType 0 =*/112).bool(message.runInBackground);
+ if (message.alwaysRun != null && Object.hasOwnProperty.call(message, "alwaysRun"))
+ writer.uint32(/* id 15, wireType 0 =*/120).bool(message.alwaysRun);
+ if (message.enableFuse != null && Object.hasOwnProperty.call(message, "enableFuse"))
+ writer.uint32(/* id 16, wireType 0 =*/128).bool(message.enableFuse);
+ if (message.publishExposedPorts != null && Object.hasOwnProperty.call(message, "publishExposedPorts"))
+ writer.uint32(/* id 17, wireType 0 =*/136).bool(message.publishExposedPorts);
+ if (message.disableImagePrefetch != null && Object.hasOwnProperty.call(message, "disableImagePrefetch"))
+ writer.uint32(/* id 18, wireType 0 =*/144).bool(message.disableImagePrefetch);
+ if (message.disableStandardErrorCapture != null && Object.hasOwnProperty.call(message, "disableStandardErrorCapture"))
+ writer.uint32(/* id 19, wireType 0 =*/152).bool(message.disableStandardErrorCapture);
+ if (message.blockExternalNetwork != null && Object.hasOwnProperty.call(message, "blockExternalNetwork"))
+ writer.uint32(/* id 20, wireType 0 =*/160).bool(message.blockExternalNetwork);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Action message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Action.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IAction} message Action message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Action.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Action message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Action} Action
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Action.decode = function 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.lifesciences.v2beta.Action(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.containerName = reader.string();
+ break;
+ }
+ case 2: {
+ message.imageUri = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.commands && message.commands.length))
+ message.commands = [];
+ message.commands.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.entrypoint = reader.string();
+ break;
+ }
+ case 5: {
+ if (message.environment === $util.emptyObject)
+ message.environment = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.environment[key] = value;
+ break;
+ }
+ case 6: {
+ message.pidNamespace = reader.string();
+ break;
+ }
+ case 8: {
+ if (message.portMappings === $util.emptyObject)
+ message.portMappings = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = 0;
+ value = 0;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.int32();
+ break;
+ case 2:
+ value = reader.int32();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.portMappings[key] = value;
+ break;
+ }
+ case 9: {
+ if (!(message.mounts && message.mounts.length))
+ message.mounts = [];
+ message.mounts.push($root.google.cloud.lifesciences.v2beta.Mount.decode(reader, reader.uint32()));
+ break;
+ }
+ case 10: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 11: {
+ message.credentials = $root.google.cloud.lifesciences.v2beta.Secret.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.ignoreExitStatus = reader.bool();
+ break;
+ }
+ case 14: {
+ message.runInBackground = reader.bool();
+ break;
+ }
+ case 15: {
+ message.alwaysRun = reader.bool();
+ break;
+ }
+ case 16: {
+ message.enableFuse = reader.bool();
+ break;
+ }
+ case 17: {
+ message.publishExposedPorts = reader.bool();
+ break;
+ }
+ case 18: {
+ message.disableImagePrefetch = reader.bool();
+ break;
+ }
+ case 19: {
+ message.disableStandardErrorCapture = reader.bool();
+ break;
+ }
+ case 20: {
+ message.blockExternalNetwork = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Action message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Action} Action
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Action.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Action message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Action.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.containerName != null && message.hasOwnProperty("containerName"))
+ if (!$util.isString(message.containerName))
+ return "containerName: string expected";
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ if (!$util.isString(message.imageUri))
+ return "imageUri: string expected";
+ if (message.commands != null && message.hasOwnProperty("commands")) {
+ if (!Array.isArray(message.commands))
+ return "commands: array expected";
+ for (var i = 0; i < message.commands.length; ++i)
+ if (!$util.isString(message.commands[i]))
+ return "commands: string[] expected";
+ }
+ if (message.entrypoint != null && message.hasOwnProperty("entrypoint"))
+ if (!$util.isString(message.entrypoint))
+ return "entrypoint: string expected";
+ if (message.environment != null && message.hasOwnProperty("environment")) {
+ if (!$util.isObject(message.environment))
+ return "environment: object expected";
+ var key = Object.keys(message.environment);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.environment[key[i]]))
+ return "environment: string{k:string} expected";
+ }
+ if (message.pidNamespace != null && message.hasOwnProperty("pidNamespace"))
+ if (!$util.isString(message.pidNamespace))
+ return "pidNamespace: string expected";
+ if (message.portMappings != null && message.hasOwnProperty("portMappings")) {
+ if (!$util.isObject(message.portMappings))
+ return "portMappings: object expected";
+ var key = Object.keys(message.portMappings);
+ for (var i = 0; i < key.length; ++i) {
+ if (!$util.key32Re.test(key[i]))
+ return "portMappings: integer key{k:int32} expected";
+ if (!$util.isInteger(message.portMappings[key[i]]))
+ return "portMappings: integer{k:int32} expected";
+ }
+ }
+ if (message.mounts != null && message.hasOwnProperty("mounts")) {
+ if (!Array.isArray(message.mounts))
+ return "mounts: array expected";
+ for (var i = 0; i < message.mounts.length; ++i) {
+ var error = $root.google.cloud.lifesciences.v2beta.Mount.verify(message.mounts[i]);
+ if (error)
+ return "mounts." + error;
+ }
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.credentials != null && message.hasOwnProperty("credentials")) {
+ var error = $root.google.cloud.lifesciences.v2beta.Secret.verify(message.credentials);
+ if (error)
+ return "credentials." + error;
+ }
+ if (message.timeout != null && message.hasOwnProperty("timeout")) {
+ var error = $root.google.protobuf.Duration.verify(message.timeout);
+ if (error)
+ return "timeout." + error;
+ }
+ if (message.ignoreExitStatus != null && message.hasOwnProperty("ignoreExitStatus"))
+ if (typeof message.ignoreExitStatus !== "boolean")
+ return "ignoreExitStatus: boolean expected";
+ if (message.runInBackground != null && message.hasOwnProperty("runInBackground"))
+ if (typeof message.runInBackground !== "boolean")
+ return "runInBackground: boolean expected";
+ if (message.alwaysRun != null && message.hasOwnProperty("alwaysRun"))
+ if (typeof message.alwaysRun !== "boolean")
+ return "alwaysRun: boolean expected";
+ if (message.enableFuse != null && message.hasOwnProperty("enableFuse"))
+ if (typeof message.enableFuse !== "boolean")
+ return "enableFuse: boolean expected";
+ if (message.publishExposedPorts != null && message.hasOwnProperty("publishExposedPorts"))
+ if (typeof message.publishExposedPorts !== "boolean")
+ return "publishExposedPorts: boolean expected";
+ if (message.disableImagePrefetch != null && message.hasOwnProperty("disableImagePrefetch"))
+ if (typeof message.disableImagePrefetch !== "boolean")
+ return "disableImagePrefetch: boolean expected";
+ if (message.disableStandardErrorCapture != null && message.hasOwnProperty("disableStandardErrorCapture"))
+ if (typeof message.disableStandardErrorCapture !== "boolean")
+ return "disableStandardErrorCapture: boolean expected";
+ if (message.blockExternalNetwork != null && message.hasOwnProperty("blockExternalNetwork"))
+ if (typeof message.blockExternalNetwork !== "boolean")
+ return "blockExternalNetwork: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates an Action message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Action} Action
+ */
+ Action.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Action)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Action();
+ if (object.containerName != null)
+ message.containerName = String(object.containerName);
+ if (object.imageUri != null)
+ message.imageUri = String(object.imageUri);
+ if (object.commands) {
+ if (!Array.isArray(object.commands))
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.commands: array expected");
+ message.commands = [];
+ for (var i = 0; i < object.commands.length; ++i)
+ message.commands[i] = String(object.commands[i]);
+ }
+ if (object.entrypoint != null)
+ message.entrypoint = String(object.entrypoint);
+ if (object.environment) {
+ if (typeof object.environment !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.environment: object expected");
+ message.environment = {};
+ for (var keys = Object.keys(object.environment), i = 0; i < keys.length; ++i)
+ message.environment[keys[i]] = String(object.environment[keys[i]]);
+ }
+ if (object.pidNamespace != null)
+ message.pidNamespace = String(object.pidNamespace);
+ if (object.portMappings) {
+ if (typeof object.portMappings !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.portMappings: object expected");
+ message.portMappings = {};
+ for (var keys = Object.keys(object.portMappings), i = 0; i < keys.length; ++i)
+ message.portMappings[keys[i]] = object.portMappings[keys[i]] | 0;
+ }
+ if (object.mounts) {
+ if (!Array.isArray(object.mounts))
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.mounts: array expected");
+ message.mounts = [];
+ for (var i = 0; i < object.mounts.length; ++i) {
+ if (typeof object.mounts[i] !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.mounts: object expected");
+ message.mounts[i] = $root.google.cloud.lifesciences.v2beta.Mount.fromObject(object.mounts[i]);
+ }
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.credentials != null) {
+ if (typeof object.credentials !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.credentials: object expected");
+ message.credentials = $root.google.cloud.lifesciences.v2beta.Secret.fromObject(object.credentials);
+ }
+ if (object.timeout != null) {
+ if (typeof object.timeout !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Action.timeout: object expected");
+ message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout);
+ }
+ if (object.ignoreExitStatus != null)
+ message.ignoreExitStatus = Boolean(object.ignoreExitStatus);
+ if (object.runInBackground != null)
+ message.runInBackground = Boolean(object.runInBackground);
+ if (object.alwaysRun != null)
+ message.alwaysRun = Boolean(object.alwaysRun);
+ if (object.enableFuse != null)
+ message.enableFuse = Boolean(object.enableFuse);
+ if (object.publishExposedPorts != null)
+ message.publishExposedPorts = Boolean(object.publishExposedPorts);
+ if (object.disableImagePrefetch != null)
+ message.disableImagePrefetch = Boolean(object.disableImagePrefetch);
+ if (object.disableStandardErrorCapture != null)
+ message.disableStandardErrorCapture = Boolean(object.disableStandardErrorCapture);
+ if (object.blockExternalNetwork != null)
+ message.blockExternalNetwork = Boolean(object.blockExternalNetwork);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Action message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Action} message Action
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Action.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.commands = [];
+ object.mounts = [];
+ }
+ if (options.objects || options.defaults) {
+ object.environment = {};
+ object.portMappings = {};
+ object.labels = {};
+ }
+ if (options.defaults) {
+ object.containerName = "";
+ object.imageUri = "";
+ object.entrypoint = "";
+ object.pidNamespace = "";
+ object.credentials = null;
+ object.timeout = null;
+ object.ignoreExitStatus = false;
+ object.runInBackground = false;
+ object.alwaysRun = false;
+ object.enableFuse = false;
+ object.publishExposedPorts = false;
+ object.disableImagePrefetch = false;
+ object.disableStandardErrorCapture = false;
+ object.blockExternalNetwork = false;
+ }
+ if (message.containerName != null && message.hasOwnProperty("containerName"))
+ object.containerName = message.containerName;
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ object.imageUri = message.imageUri;
+ if (message.commands && message.commands.length) {
+ object.commands = [];
+ for (var j = 0; j < message.commands.length; ++j)
+ object.commands[j] = message.commands[j];
+ }
+ if (message.entrypoint != null && message.hasOwnProperty("entrypoint"))
+ object.entrypoint = message.entrypoint;
+ var keys2;
+ if (message.environment && (keys2 = Object.keys(message.environment)).length) {
+ object.environment = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.environment[keys2[j]] = message.environment[keys2[j]];
+ }
+ if (message.pidNamespace != null && message.hasOwnProperty("pidNamespace"))
+ object.pidNamespace = message.pidNamespace;
+ if (message.portMappings && (keys2 = Object.keys(message.portMappings)).length) {
+ object.portMappings = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.portMappings[keys2[j]] = message.portMappings[keys2[j]];
+ }
+ if (message.mounts && message.mounts.length) {
+ object.mounts = [];
+ for (var j = 0; j < message.mounts.length; ++j)
+ object.mounts[j] = $root.google.cloud.lifesciences.v2beta.Mount.toObject(message.mounts[j], options);
+ }
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.credentials != null && message.hasOwnProperty("credentials"))
+ object.credentials = $root.google.cloud.lifesciences.v2beta.Secret.toObject(message.credentials, options);
+ if (message.timeout != null && message.hasOwnProperty("timeout"))
+ object.timeout = $root.google.protobuf.Duration.toObject(message.timeout, options);
+ if (message.ignoreExitStatus != null && message.hasOwnProperty("ignoreExitStatus"))
+ object.ignoreExitStatus = message.ignoreExitStatus;
+ if (message.runInBackground != null && message.hasOwnProperty("runInBackground"))
+ object.runInBackground = message.runInBackground;
+ if (message.alwaysRun != null && message.hasOwnProperty("alwaysRun"))
+ object.alwaysRun = message.alwaysRun;
+ if (message.enableFuse != null && message.hasOwnProperty("enableFuse"))
+ object.enableFuse = message.enableFuse;
+ if (message.publishExposedPorts != null && message.hasOwnProperty("publishExposedPorts"))
+ object.publishExposedPorts = message.publishExposedPorts;
+ if (message.disableImagePrefetch != null && message.hasOwnProperty("disableImagePrefetch"))
+ object.disableImagePrefetch = message.disableImagePrefetch;
+ if (message.disableStandardErrorCapture != null && message.hasOwnProperty("disableStandardErrorCapture"))
+ object.disableStandardErrorCapture = message.disableStandardErrorCapture;
+ if (message.blockExternalNetwork != null && message.hasOwnProperty("blockExternalNetwork"))
+ object.blockExternalNetwork = message.blockExternalNetwork;
+ return object;
+ };
+
+ /**
+ * Converts this Action to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Action.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Action
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Action
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Action.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Action";
+ };
+
+ return Action;
+ })();
+
+ v2beta.Secret = (function() {
+
+ /**
+ * Properties of a Secret.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface ISecret
+ * @property {string|null} [keyName] Secret keyName
+ * @property {string|null} [cipherText] Secret cipherText
+ */
+
+ /**
+ * Constructs a new Secret.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Secret.
+ * @implements ISecret
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.ISecret=} [properties] Properties to set
+ */
+ function Secret(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]];
+ }
+
+ /**
+ * Secret keyName.
+ * @member {string} keyName
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @instance
+ */
+ Secret.prototype.keyName = "";
+
+ /**
+ * Secret cipherText.
+ * @member {string} cipherText
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @instance
+ */
+ Secret.prototype.cipherText = "";
+
+ /**
+ * Creates a new Secret instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ISecret=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Secret} Secret instance
+ */
+ Secret.create = function create(properties) {
+ return new Secret(properties);
+ };
+
+ /**
+ * Encodes the specified Secret message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Secret.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ISecret} message Secret message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Secret.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.keyName != null && Object.hasOwnProperty.call(message, "keyName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.keyName);
+ if (message.cipherText != null && Object.hasOwnProperty.call(message, "cipherText"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.cipherText);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Secret message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Secret.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ISecret} message Secret message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Secret.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Secret message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Secret} Secret
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Secret.decode = function 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.lifesciences.v2beta.Secret();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.keyName = reader.string();
+ break;
+ }
+ case 2: {
+ message.cipherText = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Secret message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Secret} Secret
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Secret.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Secret message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Secret.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.keyName != null && message.hasOwnProperty("keyName"))
+ if (!$util.isString(message.keyName))
+ return "keyName: string expected";
+ if (message.cipherText != null && message.hasOwnProperty("cipherText"))
+ if (!$util.isString(message.cipherText))
+ return "cipherText: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Secret message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Secret} Secret
+ */
+ Secret.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Secret)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Secret();
+ if (object.keyName != null)
+ message.keyName = String(object.keyName);
+ if (object.cipherText != null)
+ message.cipherText = String(object.cipherText);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Secret message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Secret} message Secret
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Secret.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.keyName = "";
+ object.cipherText = "";
+ }
+ if (message.keyName != null && message.hasOwnProperty("keyName"))
+ object.keyName = message.keyName;
+ if (message.cipherText != null && message.hasOwnProperty("cipherText"))
+ object.cipherText = message.cipherText;
+ return object;
+ };
+
+ /**
+ * Converts this Secret to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Secret.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Secret
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Secret
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Secret.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Secret";
+ };
+
+ return Secret;
+ })();
+
+ v2beta.Mount = (function() {
+
+ /**
+ * Properties of a Mount.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IMount
+ * @property {string|null} [disk] Mount disk
+ * @property {string|null} [path] Mount path
+ * @property {boolean|null} [readOnly] Mount readOnly
+ */
+
+ /**
+ * Constructs a new Mount.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Mount.
+ * @implements IMount
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IMount=} [properties] Properties to set
+ */
+ function Mount(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]];
+ }
+
+ /**
+ * Mount disk.
+ * @member {string} disk
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @instance
+ */
+ Mount.prototype.disk = "";
+
+ /**
+ * Mount path.
+ * @member {string} path
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @instance
+ */
+ Mount.prototype.path = "";
+
+ /**
+ * Mount readOnly.
+ * @member {boolean} readOnly
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @instance
+ */
+ Mount.prototype.readOnly = false;
+
+ /**
+ * Creates a new Mount instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IMount=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Mount} Mount instance
+ */
+ Mount.create = function create(properties) {
+ return new Mount(properties);
+ };
+
+ /**
+ * Encodes the specified Mount message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Mount.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IMount} message Mount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Mount.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.disk != null && Object.hasOwnProperty.call(message, "disk"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.disk);
+ if (message.path != null && Object.hasOwnProperty.call(message, "path"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.path);
+ if (message.readOnly != null && Object.hasOwnProperty.call(message, "readOnly"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.readOnly);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Mount message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Mount.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IMount} message Mount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Mount.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Mount message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Mount} Mount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Mount.decode = function 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.lifesciences.v2beta.Mount();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.disk = reader.string();
+ break;
+ }
+ case 2: {
+ message.path = reader.string();
+ break;
+ }
+ case 3: {
+ message.readOnly = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Mount message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Mount} Mount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Mount.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Mount message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Mount.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.disk != null && message.hasOwnProperty("disk"))
+ if (!$util.isString(message.disk))
+ return "disk: string expected";
+ if (message.path != null && message.hasOwnProperty("path"))
+ if (!$util.isString(message.path))
+ return "path: string expected";
+ if (message.readOnly != null && message.hasOwnProperty("readOnly"))
+ if (typeof message.readOnly !== "boolean")
+ return "readOnly: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Mount message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Mount} Mount
+ */
+ Mount.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Mount)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Mount();
+ if (object.disk != null)
+ message.disk = String(object.disk);
+ if (object.path != null)
+ message.path = String(object.path);
+ if (object.readOnly != null)
+ message.readOnly = Boolean(object.readOnly);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Mount message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Mount} message Mount
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Mount.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.disk = "";
+ object.path = "";
+ object.readOnly = false;
+ }
+ if (message.disk != null && message.hasOwnProperty("disk"))
+ object.disk = message.disk;
+ if (message.path != null && message.hasOwnProperty("path"))
+ object.path = message.path;
+ if (message.readOnly != null && message.hasOwnProperty("readOnly"))
+ object.readOnly = message.readOnly;
+ return object;
+ };
+
+ /**
+ * Converts this Mount to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Mount.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Mount
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Mount
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Mount.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Mount";
+ };
+
+ return Mount;
+ })();
+
+ v2beta.Resources = (function() {
+
+ /**
+ * Properties of a Resources.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IResources
+ * @property {Array.|null} [regions] Resources regions
+ * @property {Array.|null} [zones] Resources zones
+ * @property {google.cloud.lifesciences.v2beta.IVirtualMachine|null} [virtualMachine] Resources virtualMachine
+ */
+
+ /**
+ * Constructs a new Resources.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Resources.
+ * @implements IResources
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IResources=} [properties] Properties to set
+ */
+ function Resources(properties) {
+ this.regions = [];
+ this.zones = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Resources regions.
+ * @member {Array.} regions
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @instance
+ */
+ Resources.prototype.regions = $util.emptyArray;
+
+ /**
+ * Resources zones.
+ * @member {Array.} zones
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @instance
+ */
+ Resources.prototype.zones = $util.emptyArray;
+
+ /**
+ * Resources virtualMachine.
+ * @member {google.cloud.lifesciences.v2beta.IVirtualMachine|null|undefined} virtualMachine
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @instance
+ */
+ Resources.prototype.virtualMachine = null;
+
+ /**
+ * Creates a new Resources instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IResources=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Resources} Resources instance
+ */
+ Resources.create = function create(properties) {
+ return new Resources(properties);
+ };
+
+ /**
+ * Encodes the specified Resources message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Resources.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IResources} message Resources message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Resources.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.regions != null && message.regions.length)
+ for (var i = 0; i < message.regions.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.regions[i]);
+ if (message.zones != null && message.zones.length)
+ for (var i = 0; i < message.zones.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.zones[i]);
+ if (message.virtualMachine != null && Object.hasOwnProperty.call(message, "virtualMachine"))
+ $root.google.cloud.lifesciences.v2beta.VirtualMachine.encode(message.virtualMachine, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Resources message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Resources.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IResources} message Resources message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Resources.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Resources message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Resources} Resources
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Resources.decode = function 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.lifesciences.v2beta.Resources();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ if (!(message.regions && message.regions.length))
+ message.regions = [];
+ message.regions.push(reader.string());
+ break;
+ }
+ case 3: {
+ if (!(message.zones && message.zones.length))
+ message.zones = [];
+ message.zones.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.virtualMachine = $root.google.cloud.lifesciences.v2beta.VirtualMachine.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Resources message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Resources} Resources
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Resources.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Resources message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Resources.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.regions != null && message.hasOwnProperty("regions")) {
+ if (!Array.isArray(message.regions))
+ return "regions: array expected";
+ for (var i = 0; i < message.regions.length; ++i)
+ if (!$util.isString(message.regions[i]))
+ return "regions: string[] expected";
+ }
+ if (message.zones != null && message.hasOwnProperty("zones")) {
+ if (!Array.isArray(message.zones))
+ return "zones: array expected";
+ for (var i = 0; i < message.zones.length; ++i)
+ if (!$util.isString(message.zones[i]))
+ return "zones: string[] expected";
+ }
+ if (message.virtualMachine != null && message.hasOwnProperty("virtualMachine")) {
+ var error = $root.google.cloud.lifesciences.v2beta.VirtualMachine.verify(message.virtualMachine);
+ if (error)
+ return "virtualMachine." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Resources message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Resources} Resources
+ */
+ Resources.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Resources)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Resources();
+ if (object.regions) {
+ if (!Array.isArray(object.regions))
+ throw TypeError(".google.cloud.lifesciences.v2beta.Resources.regions: array expected");
+ message.regions = [];
+ for (var i = 0; i < object.regions.length; ++i)
+ message.regions[i] = String(object.regions[i]);
+ }
+ if (object.zones) {
+ if (!Array.isArray(object.zones))
+ throw TypeError(".google.cloud.lifesciences.v2beta.Resources.zones: array expected");
+ message.zones = [];
+ for (var i = 0; i < object.zones.length; ++i)
+ message.zones[i] = String(object.zones[i]);
+ }
+ if (object.virtualMachine != null) {
+ if (typeof object.virtualMachine !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Resources.virtualMachine: object expected");
+ message.virtualMachine = $root.google.cloud.lifesciences.v2beta.VirtualMachine.fromObject(object.virtualMachine);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Resources message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Resources} message Resources
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Resources.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.regions = [];
+ object.zones = [];
+ }
+ if (options.defaults)
+ object.virtualMachine = null;
+ if (message.regions && message.regions.length) {
+ object.regions = [];
+ for (var j = 0; j < message.regions.length; ++j)
+ object.regions[j] = message.regions[j];
+ }
+ if (message.zones && message.zones.length) {
+ object.zones = [];
+ for (var j = 0; j < message.zones.length; ++j)
+ object.zones[j] = message.zones[j];
+ }
+ if (message.virtualMachine != null && message.hasOwnProperty("virtualMachine"))
+ object.virtualMachine = $root.google.cloud.lifesciences.v2beta.VirtualMachine.toObject(message.virtualMachine, options);
+ return object;
+ };
+
+ /**
+ * Converts this Resources to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Resources.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Resources
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Resources
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Resources.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Resources";
+ };
+
+ return Resources;
+ })();
+
+ v2beta.VirtualMachine = (function() {
+
+ /**
+ * Properties of a VirtualMachine.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IVirtualMachine
+ * @property {string|null} [machineType] VirtualMachine machineType
+ * @property {boolean|null} [preemptible] VirtualMachine preemptible
+ * @property {Object.|null} [labels] VirtualMachine labels
+ * @property {Array.|null} [disks] VirtualMachine disks
+ * @property {google.cloud.lifesciences.v2beta.INetwork|null} [network] VirtualMachine network
+ * @property {Array.|null} [accelerators] VirtualMachine accelerators
+ * @property {google.cloud.lifesciences.v2beta.IServiceAccount|null} [serviceAccount] VirtualMachine serviceAccount
+ * @property {number|null} [bootDiskSizeGb] VirtualMachine bootDiskSizeGb
+ * @property {string|null} [cpuPlatform] VirtualMachine cpuPlatform
+ * @property {string|null} [bootImage] VirtualMachine bootImage
+ * @property {string|null} [nvidiaDriverVersion] VirtualMachine nvidiaDriverVersion
+ * @property {boolean|null} [enableStackdriverMonitoring] VirtualMachine enableStackdriverMonitoring
+ * @property {Array.|null} [dockerCacheImages] VirtualMachine dockerCacheImages
+ * @property {Array.|null} [volumes] VirtualMachine volumes
+ */
+
+ /**
+ * Constructs a new VirtualMachine.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a VirtualMachine.
+ * @implements IVirtualMachine
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IVirtualMachine=} [properties] Properties to set
+ */
+ function VirtualMachine(properties) {
+ this.labels = {};
+ this.disks = [];
+ this.accelerators = [];
+ this.dockerCacheImages = [];
+ this.volumes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * VirtualMachine machineType.
+ * @member {string} machineType
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.machineType = "";
+
+ /**
+ * VirtualMachine preemptible.
+ * @member {boolean} preemptible
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.preemptible = false;
+
+ /**
+ * VirtualMachine labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.labels = $util.emptyObject;
+
+ /**
+ * VirtualMachine disks.
+ * @member {Array.} disks
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.disks = $util.emptyArray;
+
+ /**
+ * VirtualMachine network.
+ * @member {google.cloud.lifesciences.v2beta.INetwork|null|undefined} network
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.network = null;
+
+ /**
+ * VirtualMachine accelerators.
+ * @member {Array.} accelerators
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.accelerators = $util.emptyArray;
+
+ /**
+ * VirtualMachine serviceAccount.
+ * @member {google.cloud.lifesciences.v2beta.IServiceAccount|null|undefined} serviceAccount
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.serviceAccount = null;
+
+ /**
+ * VirtualMachine bootDiskSizeGb.
+ * @member {number} bootDiskSizeGb
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.bootDiskSizeGb = 0;
+
+ /**
+ * VirtualMachine cpuPlatform.
+ * @member {string} cpuPlatform
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.cpuPlatform = "";
+
+ /**
+ * VirtualMachine bootImage.
+ * @member {string} bootImage
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.bootImage = "";
+
+ /**
+ * VirtualMachine nvidiaDriverVersion.
+ * @member {string} nvidiaDriverVersion
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.nvidiaDriverVersion = "";
+
+ /**
+ * VirtualMachine enableStackdriverMonitoring.
+ * @member {boolean} enableStackdriverMonitoring
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.enableStackdriverMonitoring = false;
+
+ /**
+ * VirtualMachine dockerCacheImages.
+ * @member {Array.} dockerCacheImages
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.dockerCacheImages = $util.emptyArray;
+
+ /**
+ * VirtualMachine volumes.
+ * @member {Array.} volumes
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ */
+ VirtualMachine.prototype.volumes = $util.emptyArray;
+
+ /**
+ * Creates a new VirtualMachine instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IVirtualMachine=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.VirtualMachine} VirtualMachine instance
+ */
+ VirtualMachine.create = function create(properties) {
+ return new VirtualMachine(properties);
+ };
+
+ /**
+ * Encodes the specified VirtualMachine message. Does not implicitly {@link google.cloud.lifesciences.v2beta.VirtualMachine.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IVirtualMachine} message VirtualMachine message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VirtualMachine.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.machineType != null && Object.hasOwnProperty.call(message, "machineType"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.machineType);
+ if (message.preemptible != null && Object.hasOwnProperty.call(message, "preemptible"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.preemptible);
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.disks != null && message.disks.length)
+ for (var i = 0; i < message.disks.length; ++i)
+ $root.google.cloud.lifesciences.v2beta.Disk.encode(message.disks[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.network != null && Object.hasOwnProperty.call(message, "network"))
+ $root.google.cloud.lifesciences.v2beta.Network.encode(message.network, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.accelerators != null && message.accelerators.length)
+ for (var i = 0; i < message.accelerators.length; ++i)
+ $root.google.cloud.lifesciences.v2beta.Accelerator.encode(message.accelerators[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.serviceAccount != null && Object.hasOwnProperty.call(message, "serviceAccount"))
+ $root.google.cloud.lifesciences.v2beta.ServiceAccount.encode(message.serviceAccount, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.bootDiskSizeGb != null && Object.hasOwnProperty.call(message, "bootDiskSizeGb"))
+ writer.uint32(/* id 8, wireType 0 =*/64).int32(message.bootDiskSizeGb);
+ if (message.cpuPlatform != null && Object.hasOwnProperty.call(message, "cpuPlatform"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.cpuPlatform);
+ if (message.bootImage != null && Object.hasOwnProperty.call(message, "bootImage"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.bootImage);
+ if (message.nvidiaDriverVersion != null && Object.hasOwnProperty.call(message, "nvidiaDriverVersion"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.nvidiaDriverVersion);
+ if (message.enableStackdriverMonitoring != null && Object.hasOwnProperty.call(message, "enableStackdriverMonitoring"))
+ writer.uint32(/* id 12, wireType 0 =*/96).bool(message.enableStackdriverMonitoring);
+ if (message.dockerCacheImages != null && message.dockerCacheImages.length)
+ for (var i = 0; i < message.dockerCacheImages.length; ++i)
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.dockerCacheImages[i]);
+ if (message.volumes != null && message.volumes.length)
+ for (var i = 0; i < message.volumes.length; ++i)
+ $root.google.cloud.lifesciences.v2beta.Volume.encode(message.volumes[i], writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified VirtualMachine message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.VirtualMachine.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IVirtualMachine} message VirtualMachine message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ VirtualMachine.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.VirtualMachine} VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VirtualMachine.decode = function 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.lifesciences.v2beta.VirtualMachine(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.machineType = reader.string();
+ break;
+ }
+ case 2: {
+ message.preemptible = reader.bool();
+ break;
+ }
+ case 3: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 4: {
+ if (!(message.disks && message.disks.length))
+ message.disks = [];
+ message.disks.push($root.google.cloud.lifesciences.v2beta.Disk.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ message.network = $root.google.cloud.lifesciences.v2beta.Network.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ if (!(message.accelerators && message.accelerators.length))
+ message.accelerators = [];
+ message.accelerators.push($root.google.cloud.lifesciences.v2beta.Accelerator.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.serviceAccount = $root.google.cloud.lifesciences.v2beta.ServiceAccount.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.bootDiskSizeGb = reader.int32();
+ break;
+ }
+ case 9: {
+ message.cpuPlatform = reader.string();
+ break;
+ }
+ case 10: {
+ message.bootImage = reader.string();
+ break;
+ }
+ case 11: {
+ message.nvidiaDriverVersion = reader.string();
+ break;
+ }
+ case 12: {
+ message.enableStackdriverMonitoring = reader.bool();
+ break;
+ }
+ case 13: {
+ if (!(message.dockerCacheImages && message.dockerCacheImages.length))
+ message.dockerCacheImages = [];
+ message.dockerCacheImages.push(reader.string());
+ break;
+ }
+ case 14: {
+ if (!(message.volumes && message.volumes.length))
+ message.volumes = [];
+ message.volumes.push($root.google.cloud.lifesciences.v2beta.Volume.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a VirtualMachine message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.VirtualMachine} VirtualMachine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ VirtualMachine.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a VirtualMachine message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ VirtualMachine.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.machineType != null && message.hasOwnProperty("machineType"))
+ if (!$util.isString(message.machineType))
+ return "machineType: string expected";
+ if (message.preemptible != null && message.hasOwnProperty("preemptible"))
+ if (typeof message.preemptible !== "boolean")
+ return "preemptible: boolean expected";
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.disks != null && message.hasOwnProperty("disks")) {
+ if (!Array.isArray(message.disks))
+ return "disks: array expected";
+ for (var i = 0; i < message.disks.length; ++i) {
+ var error = $root.google.cloud.lifesciences.v2beta.Disk.verify(message.disks[i]);
+ if (error)
+ return "disks." + error;
+ }
+ }
+ if (message.network != null && message.hasOwnProperty("network")) {
+ var error = $root.google.cloud.lifesciences.v2beta.Network.verify(message.network);
+ if (error)
+ return "network." + error;
+ }
+ if (message.accelerators != null && message.hasOwnProperty("accelerators")) {
+ if (!Array.isArray(message.accelerators))
+ return "accelerators: array expected";
+ for (var i = 0; i < message.accelerators.length; ++i) {
+ var error = $root.google.cloud.lifesciences.v2beta.Accelerator.verify(message.accelerators[i]);
+ if (error)
+ return "accelerators." + error;
+ }
+ }
+ if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount")) {
+ var error = $root.google.cloud.lifesciences.v2beta.ServiceAccount.verify(message.serviceAccount);
+ if (error)
+ return "serviceAccount." + error;
+ }
+ if (message.bootDiskSizeGb != null && message.hasOwnProperty("bootDiskSizeGb"))
+ if (!$util.isInteger(message.bootDiskSizeGb))
+ return "bootDiskSizeGb: integer expected";
+ if (message.cpuPlatform != null && message.hasOwnProperty("cpuPlatform"))
+ if (!$util.isString(message.cpuPlatform))
+ return "cpuPlatform: string expected";
+ if (message.bootImage != null && message.hasOwnProperty("bootImage"))
+ if (!$util.isString(message.bootImage))
+ return "bootImage: string expected";
+ if (message.nvidiaDriverVersion != null && message.hasOwnProperty("nvidiaDriverVersion"))
+ if (!$util.isString(message.nvidiaDriverVersion))
+ return "nvidiaDriverVersion: string expected";
+ if (message.enableStackdriverMonitoring != null && message.hasOwnProperty("enableStackdriverMonitoring"))
+ if (typeof message.enableStackdriverMonitoring !== "boolean")
+ return "enableStackdriverMonitoring: boolean expected";
+ if (message.dockerCacheImages != null && message.hasOwnProperty("dockerCacheImages")) {
+ if (!Array.isArray(message.dockerCacheImages))
+ return "dockerCacheImages: array expected";
+ for (var i = 0; i < message.dockerCacheImages.length; ++i)
+ if (!$util.isString(message.dockerCacheImages[i]))
+ return "dockerCacheImages: string[] expected";
+ }
+ if (message.volumes != null && message.hasOwnProperty("volumes")) {
+ if (!Array.isArray(message.volumes))
+ return "volumes: array expected";
+ for (var i = 0; i < message.volumes.length; ++i) {
+ var error = $root.google.cloud.lifesciences.v2beta.Volume.verify(message.volumes[i]);
+ if (error)
+ return "volumes." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a VirtualMachine message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.VirtualMachine} VirtualMachine
+ */
+ VirtualMachine.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.VirtualMachine)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.VirtualMachine();
+ if (object.machineType != null)
+ message.machineType = String(object.machineType);
+ if (object.preemptible != null)
+ message.preemptible = Boolean(object.preemptible);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.disks) {
+ if (!Array.isArray(object.disks))
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.disks: array expected");
+ message.disks = [];
+ for (var i = 0; i < object.disks.length; ++i) {
+ if (typeof object.disks[i] !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.disks: object expected");
+ message.disks[i] = $root.google.cloud.lifesciences.v2beta.Disk.fromObject(object.disks[i]);
+ }
+ }
+ if (object.network != null) {
+ if (typeof object.network !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.network: object expected");
+ message.network = $root.google.cloud.lifesciences.v2beta.Network.fromObject(object.network);
+ }
+ if (object.accelerators) {
+ if (!Array.isArray(object.accelerators))
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.accelerators: array expected");
+ message.accelerators = [];
+ for (var i = 0; i < object.accelerators.length; ++i) {
+ if (typeof object.accelerators[i] !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.accelerators: object expected");
+ message.accelerators[i] = $root.google.cloud.lifesciences.v2beta.Accelerator.fromObject(object.accelerators[i]);
+ }
+ }
+ if (object.serviceAccount != null) {
+ if (typeof object.serviceAccount !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.serviceAccount: object expected");
+ message.serviceAccount = $root.google.cloud.lifesciences.v2beta.ServiceAccount.fromObject(object.serviceAccount);
+ }
+ if (object.bootDiskSizeGb != null)
+ message.bootDiskSizeGb = object.bootDiskSizeGb | 0;
+ if (object.cpuPlatform != null)
+ message.cpuPlatform = String(object.cpuPlatform);
+ if (object.bootImage != null)
+ message.bootImage = String(object.bootImage);
+ if (object.nvidiaDriverVersion != null)
+ message.nvidiaDriverVersion = String(object.nvidiaDriverVersion);
+ if (object.enableStackdriverMonitoring != null)
+ message.enableStackdriverMonitoring = Boolean(object.enableStackdriverMonitoring);
+ if (object.dockerCacheImages) {
+ if (!Array.isArray(object.dockerCacheImages))
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.dockerCacheImages: array expected");
+ message.dockerCacheImages = [];
+ for (var i = 0; i < object.dockerCacheImages.length; ++i)
+ message.dockerCacheImages[i] = String(object.dockerCacheImages[i]);
+ }
+ if (object.volumes) {
+ if (!Array.isArray(object.volumes))
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.volumes: array expected");
+ message.volumes = [];
+ for (var i = 0; i < object.volumes.length; ++i) {
+ if (typeof object.volumes[i] !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.VirtualMachine.volumes: object expected");
+ message.volumes[i] = $root.google.cloud.lifesciences.v2beta.Volume.fromObject(object.volumes[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a VirtualMachine message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.VirtualMachine} message VirtualMachine
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ VirtualMachine.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.disks = [];
+ object.accelerators = [];
+ object.dockerCacheImages = [];
+ object.volumes = [];
+ }
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.machineType = "";
+ object.preemptible = false;
+ object.network = null;
+ object.serviceAccount = null;
+ object.bootDiskSizeGb = 0;
+ object.cpuPlatform = "";
+ object.bootImage = "";
+ object.nvidiaDriverVersion = "";
+ object.enableStackdriverMonitoring = false;
+ }
+ if (message.machineType != null && message.hasOwnProperty("machineType"))
+ object.machineType = message.machineType;
+ if (message.preemptible != null && message.hasOwnProperty("preemptible"))
+ object.preemptible = message.preemptible;
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.disks && message.disks.length) {
+ object.disks = [];
+ for (var j = 0; j < message.disks.length; ++j)
+ object.disks[j] = $root.google.cloud.lifesciences.v2beta.Disk.toObject(message.disks[j], options);
+ }
+ if (message.network != null && message.hasOwnProperty("network"))
+ object.network = $root.google.cloud.lifesciences.v2beta.Network.toObject(message.network, options);
+ if (message.accelerators && message.accelerators.length) {
+ object.accelerators = [];
+ for (var j = 0; j < message.accelerators.length; ++j)
+ object.accelerators[j] = $root.google.cloud.lifesciences.v2beta.Accelerator.toObject(message.accelerators[j], options);
+ }
+ if (message.serviceAccount != null && message.hasOwnProperty("serviceAccount"))
+ object.serviceAccount = $root.google.cloud.lifesciences.v2beta.ServiceAccount.toObject(message.serviceAccount, options);
+ if (message.bootDiskSizeGb != null && message.hasOwnProperty("bootDiskSizeGb"))
+ object.bootDiskSizeGb = message.bootDiskSizeGb;
+ if (message.cpuPlatform != null && message.hasOwnProperty("cpuPlatform"))
+ object.cpuPlatform = message.cpuPlatform;
+ if (message.bootImage != null && message.hasOwnProperty("bootImage"))
+ object.bootImage = message.bootImage;
+ if (message.nvidiaDriverVersion != null && message.hasOwnProperty("nvidiaDriverVersion"))
+ object.nvidiaDriverVersion = message.nvidiaDriverVersion;
+ if (message.enableStackdriverMonitoring != null && message.hasOwnProperty("enableStackdriverMonitoring"))
+ object.enableStackdriverMonitoring = message.enableStackdriverMonitoring;
+ if (message.dockerCacheImages && message.dockerCacheImages.length) {
+ object.dockerCacheImages = [];
+ for (var j = 0; j < message.dockerCacheImages.length; ++j)
+ object.dockerCacheImages[j] = message.dockerCacheImages[j];
+ }
+ if (message.volumes && message.volumes.length) {
+ object.volumes = [];
+ for (var j = 0; j < message.volumes.length; ++j)
+ object.volumes[j] = $root.google.cloud.lifesciences.v2beta.Volume.toObject(message.volumes[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this VirtualMachine to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ VirtualMachine.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for VirtualMachine
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.VirtualMachine
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ VirtualMachine.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.VirtualMachine";
+ };
+
+ return VirtualMachine;
+ })();
+
+ v2beta.ServiceAccount = (function() {
+
+ /**
+ * Properties of a ServiceAccount.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IServiceAccount
+ * @property {string|null} [email] ServiceAccount email
+ * @property {Array.|null} [scopes] ServiceAccount scopes
+ */
+
+ /**
+ * Constructs a new ServiceAccount.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a ServiceAccount.
+ * @implements IServiceAccount
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IServiceAccount=} [properties] Properties to set
+ */
+ function ServiceAccount(properties) {
+ this.scopes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ServiceAccount email.
+ * @member {string} email
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @instance
+ */
+ ServiceAccount.prototype.email = "";
+
+ /**
+ * ServiceAccount scopes.
+ * @member {Array.} scopes
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @instance
+ */
+ ServiceAccount.prototype.scopes = $util.emptyArray;
+
+ /**
+ * Creates a new ServiceAccount instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IServiceAccount=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.ServiceAccount} ServiceAccount instance
+ */
+ ServiceAccount.create = function create(properties) {
+ return new ServiceAccount(properties);
+ };
+
+ /**
+ * Encodes the specified ServiceAccount message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ServiceAccount.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IServiceAccount} message ServiceAccount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceAccount.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.email != null && Object.hasOwnProperty.call(message, "email"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.email);
+ if (message.scopes != null && message.scopes.length)
+ for (var i = 0; i < message.scopes.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.scopes[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ServiceAccount message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ServiceAccount.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IServiceAccount} message ServiceAccount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ServiceAccount.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.ServiceAccount} ServiceAccount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceAccount.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.lifesciences.v2beta.ServiceAccount();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.email = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.scopes && message.scopes.length))
+ message.scopes = [];
+ message.scopes.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ServiceAccount message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.ServiceAccount} ServiceAccount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ServiceAccount.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ServiceAccount message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ServiceAccount.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.email != null && message.hasOwnProperty("email"))
+ if (!$util.isString(message.email))
+ return "email: string expected";
+ if (message.scopes != null && message.hasOwnProperty("scopes")) {
+ if (!Array.isArray(message.scopes))
+ return "scopes: array expected";
+ for (var i = 0; i < message.scopes.length; ++i)
+ if (!$util.isString(message.scopes[i]))
+ return "scopes: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ServiceAccount message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.ServiceAccount} ServiceAccount
+ */
+ ServiceAccount.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.ServiceAccount)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.ServiceAccount();
+ if (object.email != null)
+ message.email = String(object.email);
+ if (object.scopes) {
+ if (!Array.isArray(object.scopes))
+ throw TypeError(".google.cloud.lifesciences.v2beta.ServiceAccount.scopes: array expected");
+ message.scopes = [];
+ for (var i = 0; i < object.scopes.length; ++i)
+ message.scopes[i] = String(object.scopes[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ServiceAccount message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ServiceAccount} message ServiceAccount
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ServiceAccount.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.scopes = [];
+ if (options.defaults)
+ object.email = "";
+ if (message.email != null && message.hasOwnProperty("email"))
+ object.email = message.email;
+ if (message.scopes && message.scopes.length) {
+ object.scopes = [];
+ for (var j = 0; j < message.scopes.length; ++j)
+ object.scopes[j] = message.scopes[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ServiceAccount to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ServiceAccount.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ServiceAccount
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.ServiceAccount
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ServiceAccount.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.ServiceAccount";
+ };
+
+ return ServiceAccount;
+ })();
+
+ v2beta.Accelerator = (function() {
+
+ /**
+ * Properties of an Accelerator.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IAccelerator
+ * @property {string|null} [type] Accelerator type
+ * @property {number|Long|null} [count] Accelerator count
+ */
+
+ /**
+ * Constructs a new Accelerator.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents an Accelerator.
+ * @implements IAccelerator
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IAccelerator=} [properties] Properties to set
+ */
+ function Accelerator(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]];
+ }
+
+ /**
+ * Accelerator type.
+ * @member {string} type
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @instance
+ */
+ Accelerator.prototype.type = "";
+
+ /**
+ * Accelerator count.
+ * @member {number|Long} count
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @instance
+ */
+ Accelerator.prototype.count = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * Creates a new Accelerator instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IAccelerator=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Accelerator} Accelerator instance
+ */
+ Accelerator.create = function create(properties) {
+ return new Accelerator(properties);
+ };
+
+ /**
+ * Encodes the specified Accelerator message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Accelerator.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IAccelerator} message Accelerator message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Accelerator.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.type);
+ if (message.count != null && Object.hasOwnProperty.call(message, "count"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.count);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Accelerator message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Accelerator.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IAccelerator} message Accelerator message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Accelerator.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Accelerator message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Accelerator} Accelerator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Accelerator.decode = function 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.lifesciences.v2beta.Accelerator();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.type = reader.string();
+ break;
+ }
+ case 2: {
+ message.count = reader.int64();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Accelerator message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Accelerator} Accelerator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Accelerator.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Accelerator message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Accelerator.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ if (!$util.isString(message.type))
+ return "type: string expected";
+ if (message.count != null && message.hasOwnProperty("count"))
+ if (!$util.isInteger(message.count) && !(message.count && $util.isInteger(message.count.low) && $util.isInteger(message.count.high)))
+ return "count: integer|Long expected";
+ return null;
+ };
+
+ /**
+ * Creates an Accelerator message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Accelerator} Accelerator
+ */
+ Accelerator.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Accelerator)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Accelerator();
+ if (object.type != null)
+ message.type = String(object.type);
+ if (object.count != null)
+ if ($util.Long)
+ (message.count = $util.Long.fromValue(object.count)).unsigned = false;
+ else if (typeof object.count === "string")
+ message.count = parseInt(object.count, 10);
+ else if (typeof object.count === "number")
+ message.count = object.count;
+ else if (typeof object.count === "object")
+ message.count = new $util.LongBits(object.count.low >>> 0, object.count.high >>> 0).toNumber();
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Accelerator message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Accelerator} message Accelerator
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Accelerator.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.type = "";
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.count = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.count = options.longs === String ? "0" : 0;
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = message.type;
+ if (message.count != null && message.hasOwnProperty("count"))
+ if (typeof message.count === "number")
+ object.count = options.longs === String ? String(message.count) : message.count;
+ else
+ object.count = options.longs === String ? $util.Long.prototype.toString.call(message.count) : options.longs === Number ? new $util.LongBits(message.count.low >>> 0, message.count.high >>> 0).toNumber() : message.count;
+ return object;
+ };
+
+ /**
+ * Converts this Accelerator to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Accelerator.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Accelerator
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Accelerator
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Accelerator.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Accelerator";
+ };
+
+ return Accelerator;
+ })();
+
+ v2beta.Network = (function() {
+
+ /**
+ * Properties of a Network.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface INetwork
+ * @property {string|null} [network] Network network
+ * @property {boolean|null} [usePrivateAddress] Network usePrivateAddress
+ * @property {string|null} [subnetwork] Network subnetwork
+ */
+
+ /**
+ * Constructs a new Network.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Network.
+ * @implements INetwork
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.INetwork=} [properties] Properties to set
+ */
+ function Network(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]];
+ }
+
+ /**
+ * Network network.
+ * @member {string} network
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @instance
+ */
+ Network.prototype.network = "";
+
+ /**
+ * Network usePrivateAddress.
+ * @member {boolean} usePrivateAddress
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @instance
+ */
+ Network.prototype.usePrivateAddress = false;
+
+ /**
+ * Network subnetwork.
+ * @member {string} subnetwork
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @instance
+ */
+ Network.prototype.subnetwork = "";
+
+ /**
+ * Creates a new Network instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.INetwork=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Network} Network instance
+ */
+ Network.create = function create(properties) {
+ return new Network(properties);
+ };
+
+ /**
+ * Encodes the specified Network message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Network.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.INetwork} message Network message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Network.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.network != null && Object.hasOwnProperty.call(message, "network"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.network);
+ if (message.usePrivateAddress != null && Object.hasOwnProperty.call(message, "usePrivateAddress"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.usePrivateAddress);
+ if (message.subnetwork != null && Object.hasOwnProperty.call(message, "subnetwork"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.subnetwork);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Network message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Network.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.INetwork} message Network message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Network.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Network message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Network} Network
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Network.decode = function 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.lifesciences.v2beta.Network();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.network = reader.string();
+ break;
+ }
+ case 2: {
+ message.usePrivateAddress = reader.bool();
+ break;
+ }
+ case 3: {
+ message.subnetwork = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Network message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Network} Network
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Network.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Network message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Network.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.network != null && message.hasOwnProperty("network"))
+ if (!$util.isString(message.network))
+ return "network: string expected";
+ if (message.usePrivateAddress != null && message.hasOwnProperty("usePrivateAddress"))
+ if (typeof message.usePrivateAddress !== "boolean")
+ return "usePrivateAddress: boolean expected";
+ if (message.subnetwork != null && message.hasOwnProperty("subnetwork"))
+ if (!$util.isString(message.subnetwork))
+ return "subnetwork: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Network message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Network} Network
+ */
+ Network.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Network)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Network();
+ if (object.network != null)
+ message.network = String(object.network);
+ if (object.usePrivateAddress != null)
+ message.usePrivateAddress = Boolean(object.usePrivateAddress);
+ if (object.subnetwork != null)
+ message.subnetwork = String(object.subnetwork);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Network message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Network} message Network
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Network.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.network = "";
+ object.usePrivateAddress = false;
+ object.subnetwork = "";
+ }
+ if (message.network != null && message.hasOwnProperty("network"))
+ object.network = message.network;
+ if (message.usePrivateAddress != null && message.hasOwnProperty("usePrivateAddress"))
+ object.usePrivateAddress = message.usePrivateAddress;
+ if (message.subnetwork != null && message.hasOwnProperty("subnetwork"))
+ object.subnetwork = message.subnetwork;
+ return object;
+ };
+
+ /**
+ * Converts this Network to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Network.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Network
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Network
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Network.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Network";
+ };
+
+ return Network;
+ })();
+
+ v2beta.Disk = (function() {
+
+ /**
+ * Properties of a Disk.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IDisk
+ * @property {string|null} [name] Disk name
+ * @property {number|null} [sizeGb] Disk sizeGb
+ * @property {string|null} [type] Disk type
+ * @property {string|null} [sourceImage] Disk sourceImage
+ */
+
+ /**
+ * Constructs a new Disk.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Disk.
+ * @implements IDisk
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IDisk=} [properties] Properties to set
+ */
+ function Disk(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]];
+ }
+
+ /**
+ * Disk name.
+ * @member {string} name
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @instance
+ */
+ Disk.prototype.name = "";
+
+ /**
+ * Disk sizeGb.
+ * @member {number} sizeGb
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @instance
+ */
+ Disk.prototype.sizeGb = 0;
+
+ /**
+ * Disk type.
+ * @member {string} type
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @instance
+ */
+ Disk.prototype.type = "";
+
+ /**
+ * Disk sourceImage.
+ * @member {string} sourceImage
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @instance
+ */
+ Disk.prototype.sourceImage = "";
+
+ /**
+ * Creates a new Disk instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IDisk=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Disk} Disk instance
+ */
+ Disk.create = function create(properties) {
+ return new Disk(properties);
+ };
+
+ /**
+ * Encodes the specified Disk message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Disk.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IDisk} message Disk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Disk.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.sizeGb != null && Object.hasOwnProperty.call(message, "sizeGb"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.sizeGb);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.type);
+ if (message.sourceImage != null && Object.hasOwnProperty.call(message, "sourceImage"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.sourceImage);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Disk message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Disk.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IDisk} message Disk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Disk.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Disk message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Disk} Disk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Disk.decode = function 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.lifesciences.v2beta.Disk();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.sizeGb = reader.int32();
+ break;
+ }
+ case 3: {
+ message.type = reader.string();
+ break;
+ }
+ case 4: {
+ message.sourceImage = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Disk message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Disk} Disk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Disk.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Disk message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Disk.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.sizeGb != null && message.hasOwnProperty("sizeGb"))
+ if (!$util.isInteger(message.sizeGb))
+ return "sizeGb: integer expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ if (!$util.isString(message.type))
+ return "type: string expected";
+ if (message.sourceImage != null && message.hasOwnProperty("sourceImage"))
+ if (!$util.isString(message.sourceImage))
+ return "sourceImage: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Disk message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Disk} Disk
+ */
+ Disk.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Disk)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Disk();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.sizeGb != null)
+ message.sizeGb = object.sizeGb | 0;
+ if (object.type != null)
+ message.type = String(object.type);
+ if (object.sourceImage != null)
+ message.sourceImage = String(object.sourceImage);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Disk message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Disk} message Disk
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Disk.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.sizeGb = 0;
+ object.type = "";
+ object.sourceImage = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.sizeGb != null && message.hasOwnProperty("sizeGb"))
+ object.sizeGb = message.sizeGb;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = message.type;
+ if (message.sourceImage != null && message.hasOwnProperty("sourceImage"))
+ object.sourceImage = message.sourceImage;
+ return object;
+ };
+
+ /**
+ * Converts this Disk to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Disk.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Disk
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Disk
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Disk.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Disk";
+ };
+
+ return Disk;
+ })();
+
+ v2beta.Volume = (function() {
+
+ /**
+ * Properties of a Volume.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IVolume
+ * @property {string|null} [volume] Volume volume
+ * @property {google.cloud.lifesciences.v2beta.IPersistentDisk|null} [persistentDisk] Volume persistentDisk
+ * @property {google.cloud.lifesciences.v2beta.IExistingDisk|null} [existingDisk] Volume existingDisk
+ * @property {google.cloud.lifesciences.v2beta.INFSMount|null} [nfsMount] Volume nfsMount
+ */
+
+ /**
+ * Constructs a new Volume.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Volume.
+ * @implements IVolume
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IVolume=} [properties] Properties to set
+ */
+ function Volume(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]];
+ }
+
+ /**
+ * Volume volume.
+ * @member {string} volume
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @instance
+ */
+ Volume.prototype.volume = "";
+
+ /**
+ * Volume persistentDisk.
+ * @member {google.cloud.lifesciences.v2beta.IPersistentDisk|null|undefined} persistentDisk
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @instance
+ */
+ Volume.prototype.persistentDisk = null;
+
+ /**
+ * Volume existingDisk.
+ * @member {google.cloud.lifesciences.v2beta.IExistingDisk|null|undefined} existingDisk
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @instance
+ */
+ Volume.prototype.existingDisk = null;
+
+ /**
+ * Volume nfsMount.
+ * @member {google.cloud.lifesciences.v2beta.INFSMount|null|undefined} nfsMount
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @instance
+ */
+ Volume.prototype.nfsMount = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Volume storage.
+ * @member {"persistentDisk"|"existingDisk"|"nfsMount"|undefined} storage
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @instance
+ */
+ Object.defineProperty(Volume.prototype, "storage", {
+ get: $util.oneOfGetter($oneOfFields = ["persistentDisk", "existingDisk", "nfsMount"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Volume instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IVolume=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Volume} Volume instance
+ */
+ Volume.create = function create(properties) {
+ return new Volume(properties);
+ };
+
+ /**
+ * Encodes the specified Volume message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Volume.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IVolume} message Volume message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Volume.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.volume != null && Object.hasOwnProperty.call(message, "volume"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.volume);
+ if (message.persistentDisk != null && Object.hasOwnProperty.call(message, "persistentDisk"))
+ $root.google.cloud.lifesciences.v2beta.PersistentDisk.encode(message.persistentDisk, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.existingDisk != null && Object.hasOwnProperty.call(message, "existingDisk"))
+ $root.google.cloud.lifesciences.v2beta.ExistingDisk.encode(message.existingDisk, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.nfsMount != null && Object.hasOwnProperty.call(message, "nfsMount"))
+ $root.google.cloud.lifesciences.v2beta.NFSMount.encode(message.nfsMount, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Volume message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Volume.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IVolume} message Volume message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Volume.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Volume message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Volume} Volume
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Volume.decode = function 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.lifesciences.v2beta.Volume();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.volume = reader.string();
+ break;
+ }
+ case 2: {
+ message.persistentDisk = $root.google.cloud.lifesciences.v2beta.PersistentDisk.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.existingDisk = $root.google.cloud.lifesciences.v2beta.ExistingDisk.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.nfsMount = $root.google.cloud.lifesciences.v2beta.NFSMount.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Volume message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Volume} Volume
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Volume.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Volume message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Volume.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.volume != null && message.hasOwnProperty("volume"))
+ if (!$util.isString(message.volume))
+ return "volume: string expected";
+ if (message.persistentDisk != null && message.hasOwnProperty("persistentDisk")) {
+ properties.storage = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.PersistentDisk.verify(message.persistentDisk);
+ if (error)
+ return "persistentDisk." + error;
+ }
+ }
+ if (message.existingDisk != null && message.hasOwnProperty("existingDisk")) {
+ if (properties.storage === 1)
+ return "storage: multiple values";
+ properties.storage = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.ExistingDisk.verify(message.existingDisk);
+ if (error)
+ return "existingDisk." + error;
+ }
+ }
+ if (message.nfsMount != null && message.hasOwnProperty("nfsMount")) {
+ if (properties.storage === 1)
+ return "storage: multiple values";
+ properties.storage = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.NFSMount.verify(message.nfsMount);
+ if (error)
+ return "nfsMount." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Volume message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Volume} Volume
+ */
+ Volume.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Volume)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Volume();
+ if (object.volume != null)
+ message.volume = String(object.volume);
+ if (object.persistentDisk != null) {
+ if (typeof object.persistentDisk !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Volume.persistentDisk: object expected");
+ message.persistentDisk = $root.google.cloud.lifesciences.v2beta.PersistentDisk.fromObject(object.persistentDisk);
+ }
+ if (object.existingDisk != null) {
+ if (typeof object.existingDisk !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Volume.existingDisk: object expected");
+ message.existingDisk = $root.google.cloud.lifesciences.v2beta.ExistingDisk.fromObject(object.existingDisk);
+ }
+ if (object.nfsMount != null) {
+ if (typeof object.nfsMount !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Volume.nfsMount: object expected");
+ message.nfsMount = $root.google.cloud.lifesciences.v2beta.NFSMount.fromObject(object.nfsMount);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Volume message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Volume} message Volume
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Volume.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.volume = "";
+ if (message.volume != null && message.hasOwnProperty("volume"))
+ object.volume = message.volume;
+ if (message.persistentDisk != null && message.hasOwnProperty("persistentDisk")) {
+ object.persistentDisk = $root.google.cloud.lifesciences.v2beta.PersistentDisk.toObject(message.persistentDisk, options);
+ if (options.oneofs)
+ object.storage = "persistentDisk";
+ }
+ if (message.existingDisk != null && message.hasOwnProperty("existingDisk")) {
+ object.existingDisk = $root.google.cloud.lifesciences.v2beta.ExistingDisk.toObject(message.existingDisk, options);
+ if (options.oneofs)
+ object.storage = "existingDisk";
+ }
+ if (message.nfsMount != null && message.hasOwnProperty("nfsMount")) {
+ object.nfsMount = $root.google.cloud.lifesciences.v2beta.NFSMount.toObject(message.nfsMount, options);
+ if (options.oneofs)
+ object.storage = "nfsMount";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Volume to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Volume.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Volume
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Volume
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Volume.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Volume";
+ };
+
+ return Volume;
+ })();
+
+ v2beta.PersistentDisk = (function() {
+
+ /**
+ * Properties of a PersistentDisk.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IPersistentDisk
+ * @property {number|null} [sizeGb] PersistentDisk sizeGb
+ * @property {string|null} [type] PersistentDisk type
+ * @property {string|null} [sourceImage] PersistentDisk sourceImage
+ */
+
+ /**
+ * Constructs a new PersistentDisk.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a PersistentDisk.
+ * @implements IPersistentDisk
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IPersistentDisk=} [properties] Properties to set
+ */
+ function PersistentDisk(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]];
+ }
+
+ /**
+ * PersistentDisk sizeGb.
+ * @member {number} sizeGb
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @instance
+ */
+ PersistentDisk.prototype.sizeGb = 0;
+
+ /**
+ * PersistentDisk type.
+ * @member {string} type
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @instance
+ */
+ PersistentDisk.prototype.type = "";
+
+ /**
+ * PersistentDisk sourceImage.
+ * @member {string} sourceImage
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @instance
+ */
+ PersistentDisk.prototype.sourceImage = "";
+
+ /**
+ * Creates a new PersistentDisk instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPersistentDisk=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.PersistentDisk} PersistentDisk instance
+ */
+ PersistentDisk.create = function create(properties) {
+ return new PersistentDisk(properties);
+ };
+
+ /**
+ * Encodes the specified PersistentDisk message. Does not implicitly {@link google.cloud.lifesciences.v2beta.PersistentDisk.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPersistentDisk} message PersistentDisk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersistentDisk.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.sizeGb != null && Object.hasOwnProperty.call(message, "sizeGb"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.sizeGb);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.type);
+ if (message.sourceImage != null && Object.hasOwnProperty.call(message, "sourceImage"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.sourceImage);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PersistentDisk message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.PersistentDisk.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPersistentDisk} message PersistentDisk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersistentDisk.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PersistentDisk message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.PersistentDisk} PersistentDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersistentDisk.decode = function 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.lifesciences.v2beta.PersistentDisk();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.sizeGb = reader.int32();
+ break;
+ }
+ case 2: {
+ message.type = reader.string();
+ break;
+ }
+ case 3: {
+ message.sourceImage = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PersistentDisk message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.PersistentDisk} PersistentDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersistentDisk.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PersistentDisk message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PersistentDisk.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.sizeGb != null && message.hasOwnProperty("sizeGb"))
+ if (!$util.isInteger(message.sizeGb))
+ return "sizeGb: integer expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ if (!$util.isString(message.type))
+ return "type: string expected";
+ if (message.sourceImage != null && message.hasOwnProperty("sourceImage"))
+ if (!$util.isString(message.sourceImage))
+ return "sourceImage: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PersistentDisk message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.PersistentDisk} PersistentDisk
+ */
+ PersistentDisk.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.PersistentDisk)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.PersistentDisk();
+ if (object.sizeGb != null)
+ message.sizeGb = object.sizeGb | 0;
+ if (object.type != null)
+ message.type = String(object.type);
+ if (object.sourceImage != null)
+ message.sourceImage = String(object.sourceImage);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PersistentDisk message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.PersistentDisk} message PersistentDisk
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PersistentDisk.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.sizeGb = 0;
+ object.type = "";
+ object.sourceImage = "";
+ }
+ if (message.sizeGb != null && message.hasOwnProperty("sizeGb"))
+ object.sizeGb = message.sizeGb;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = message.type;
+ if (message.sourceImage != null && message.hasOwnProperty("sourceImage"))
+ object.sourceImage = message.sourceImage;
+ return object;
+ };
+
+ /**
+ * Converts this PersistentDisk to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PersistentDisk.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PersistentDisk
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.PersistentDisk
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PersistentDisk.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.PersistentDisk";
+ };
+
+ return PersistentDisk;
+ })();
+
+ v2beta.ExistingDisk = (function() {
+
+ /**
+ * Properties of an ExistingDisk.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IExistingDisk
+ * @property {string|null} [disk] ExistingDisk disk
+ */
+
+ /**
+ * Constructs a new ExistingDisk.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents an ExistingDisk.
+ * @implements IExistingDisk
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IExistingDisk=} [properties] Properties to set
+ */
+ function ExistingDisk(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]];
+ }
+
+ /**
+ * ExistingDisk disk.
+ * @member {string} disk
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @instance
+ */
+ ExistingDisk.prototype.disk = "";
+
+ /**
+ * Creates a new ExistingDisk instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IExistingDisk=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.ExistingDisk} ExistingDisk instance
+ */
+ ExistingDisk.create = function create(properties) {
+ return new ExistingDisk(properties);
+ };
+
+ /**
+ * Encodes the specified ExistingDisk message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ExistingDisk.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IExistingDisk} message ExistingDisk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExistingDisk.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.disk != null && Object.hasOwnProperty.call(message, "disk"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.disk);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExistingDisk message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ExistingDisk.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IExistingDisk} message ExistingDisk message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExistingDisk.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExistingDisk message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.ExistingDisk} ExistingDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExistingDisk.decode = function 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.lifesciences.v2beta.ExistingDisk();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.disk = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExistingDisk message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.ExistingDisk} ExistingDisk
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExistingDisk.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExistingDisk message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExistingDisk.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.disk != null && message.hasOwnProperty("disk"))
+ if (!$util.isString(message.disk))
+ return "disk: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ExistingDisk message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.ExistingDisk} ExistingDisk
+ */
+ ExistingDisk.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.ExistingDisk)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.ExistingDisk();
+ if (object.disk != null)
+ message.disk = String(object.disk);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExistingDisk message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ExistingDisk} message ExistingDisk
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExistingDisk.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.disk = "";
+ if (message.disk != null && message.hasOwnProperty("disk"))
+ object.disk = message.disk;
+ return object;
+ };
+
+ /**
+ * Converts this ExistingDisk to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExistingDisk.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExistingDisk
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.ExistingDisk
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExistingDisk.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.ExistingDisk";
+ };
+
+ return ExistingDisk;
+ })();
+
+ v2beta.NFSMount = (function() {
+
+ /**
+ * Properties of a NFSMount.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface INFSMount
+ * @property {string|null} [target] NFSMount target
+ */
+
+ /**
+ * Constructs a new NFSMount.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a NFSMount.
+ * @implements INFSMount
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.INFSMount=} [properties] Properties to set
+ */
+ function NFSMount(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]];
+ }
+
+ /**
+ * NFSMount target.
+ * @member {string} target
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @instance
+ */
+ NFSMount.prototype.target = "";
+
+ /**
+ * Creates a new NFSMount instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.INFSMount=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.NFSMount} NFSMount instance
+ */
+ NFSMount.create = function create(properties) {
+ return new NFSMount(properties);
+ };
+
+ /**
+ * Encodes the specified NFSMount message. Does not implicitly {@link google.cloud.lifesciences.v2beta.NFSMount.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.INFSMount} message NFSMount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NFSMount.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.target != null && Object.hasOwnProperty.call(message, "target"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.target);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NFSMount message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.NFSMount.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.INFSMount} message NFSMount message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NFSMount.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NFSMount message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.NFSMount} NFSMount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NFSMount.decode = function 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.lifesciences.v2beta.NFSMount();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.target = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NFSMount message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.NFSMount} NFSMount
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NFSMount.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NFSMount message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NFSMount.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.target != null && message.hasOwnProperty("target"))
+ if (!$util.isString(message.target))
+ return "target: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a NFSMount message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.NFSMount} NFSMount
+ */
+ NFSMount.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.NFSMount)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.NFSMount();
+ if (object.target != null)
+ message.target = String(object.target);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NFSMount message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.NFSMount} message NFSMount
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NFSMount.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.target = "";
+ if (message.target != null && message.hasOwnProperty("target"))
+ object.target = message.target;
+ return object;
+ };
+
+ /**
+ * Converts this NFSMount to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NFSMount.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NFSMount
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.NFSMount
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NFSMount.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.NFSMount";
+ };
+
+ return NFSMount;
+ })();
+
+ v2beta.Metadata = (function() {
+
+ /**
+ * Properties of a Metadata.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IMetadata
+ * @property {google.cloud.lifesciences.v2beta.IPipeline|null} [pipeline] Metadata pipeline
+ * @property {Object.|null} [labels] Metadata labels
+ * @property {Array.|null} [events] Metadata events
+ * @property {google.protobuf.ITimestamp|null} [createTime] Metadata createTime
+ * @property {google.protobuf.ITimestamp|null} [startTime] Metadata startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] Metadata endTime
+ * @property {string|null} [pubSubTopic] Metadata pubSubTopic
+ */
+
+ /**
+ * Constructs a new Metadata.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a Metadata.
+ * @implements IMetadata
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IMetadata=} [properties] Properties to set
+ */
+ function Metadata(properties) {
+ this.labels = {};
+ this.events = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Metadata pipeline.
+ * @member {google.cloud.lifesciences.v2beta.IPipeline|null|undefined} pipeline
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ */
+ Metadata.prototype.pipeline = null;
+
+ /**
+ * Metadata labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ */
+ Metadata.prototype.labels = $util.emptyObject;
+
+ /**
+ * Metadata events.
+ * @member {Array.} events
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ */
+ Metadata.prototype.events = $util.emptyArray;
+
+ /**
+ * Metadata createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ */
+ Metadata.prototype.createTime = null;
+
+ /**
+ * Metadata startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ */
+ Metadata.prototype.startTime = null;
+
+ /**
+ * Metadata endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ */
+ Metadata.prototype.endTime = null;
+
+ /**
+ * Metadata pubSubTopic.
+ * @member {string} pubSubTopic
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ */
+ Metadata.prototype.pubSubTopic = "";
+
+ /**
+ * Creates a new Metadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IMetadata=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Metadata} Metadata instance
+ */
+ Metadata.create = function create(properties) {
+ return new Metadata(properties);
+ };
+
+ /**
+ * Encodes the specified Metadata message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Metadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IMetadata} message Metadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Metadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pipeline != null && Object.hasOwnProperty.call(message, "pipeline"))
+ $root.google.cloud.lifesciences.v2beta.Pipeline.encode(message.pipeline, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ if (message.events != null && message.events.length)
+ for (var i = 0; i < message.events.length; ++i)
+ $root.google.cloud.lifesciences.v2beta.Event.encode(message.events[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.pubSubTopic != null && Object.hasOwnProperty.call(message, "pubSubTopic"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.pubSubTopic);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Metadata message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Metadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IMetadata} message Metadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Metadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Metadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Metadata} Metadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Metadata.decode = function 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.lifesciences.v2beta.Metadata(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.pipeline = $root.google.cloud.lifesciences.v2beta.Pipeline.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ case 3: {
+ if (!(message.events && message.events.length))
+ message.events = [];
+ message.events.push($root.google.cloud.lifesciences.v2beta.Event.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.pubSubTopic = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Metadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Metadata} Metadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Metadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Metadata message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Metadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.pipeline != null && message.hasOwnProperty("pipeline")) {
+ var error = $root.google.cloud.lifesciences.v2beta.Pipeline.verify(message.pipeline);
+ if (error)
+ return "pipeline." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.events != null && message.hasOwnProperty("events")) {
+ if (!Array.isArray(message.events))
+ return "events: array expected";
+ for (var i = 0; i < message.events.length; ++i) {
+ var error = $root.google.cloud.lifesciences.v2beta.Event.verify(message.events[i]);
+ if (error)
+ return "events." + error;
+ }
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + 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.pubSubTopic != null && message.hasOwnProperty("pubSubTopic"))
+ if (!$util.isString(message.pubSubTopic))
+ return "pubSubTopic: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Metadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Metadata} Metadata
+ */
+ Metadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Metadata)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Metadata();
+ if (object.pipeline != null) {
+ if (typeof object.pipeline !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Metadata.pipeline: object expected");
+ message.pipeline = $root.google.cloud.lifesciences.v2beta.Pipeline.fromObject(object.pipeline);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Metadata.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ if (object.events) {
+ if (!Array.isArray(object.events))
+ throw TypeError(".google.cloud.lifesciences.v2beta.Metadata.events: array expected");
+ message.events = [];
+ for (var i = 0; i < object.events.length; ++i) {
+ if (typeof object.events[i] !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Metadata.events: object expected");
+ message.events[i] = $root.google.cloud.lifesciences.v2beta.Event.fromObject(object.events[i]);
+ }
+ }
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Metadata.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Metadata.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.lifesciences.v2beta.Metadata.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.pubSubTopic != null)
+ message.pubSubTopic = String(object.pubSubTopic);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Metadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Metadata} message Metadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Metadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.events = [];
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.pipeline = null;
+ object.createTime = null;
+ object.startTime = null;
+ object.endTime = null;
+ object.pubSubTopic = "";
+ }
+ if (message.pipeline != null && message.hasOwnProperty("pipeline"))
+ object.pipeline = $root.google.cloud.lifesciences.v2beta.Pipeline.toObject(message.pipeline, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ if (message.events && message.events.length) {
+ object.events = [];
+ for (var j = 0; j < message.events.length; ++j)
+ object.events[j] = $root.google.cloud.lifesciences.v2beta.Event.toObject(message.events[j], options);
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, 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.pubSubTopic != null && message.hasOwnProperty("pubSubTopic"))
+ object.pubSubTopic = message.pubSubTopic;
+ return object;
+ };
+
+ /**
+ * Converts this Metadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Metadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Metadata
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Metadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Metadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Metadata";
+ };
+
+ return Metadata;
+ })();
+
+ v2beta.Event = (function() {
+
+ /**
+ * Properties of an Event.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IEvent
+ * @property {google.protobuf.ITimestamp|null} [timestamp] Event timestamp
+ * @property {string|null} [description] Event description
+ * @property {google.cloud.lifesciences.v2beta.IDelayedEvent|null} [delayed] Event delayed
+ * @property {google.cloud.lifesciences.v2beta.IWorkerAssignedEvent|null} [workerAssigned] Event workerAssigned
+ * @property {google.cloud.lifesciences.v2beta.IWorkerReleasedEvent|null} [workerReleased] Event workerReleased
+ * @property {google.cloud.lifesciences.v2beta.IPullStartedEvent|null} [pullStarted] Event pullStarted
+ * @property {google.cloud.lifesciences.v2beta.IPullStoppedEvent|null} [pullStopped] Event pullStopped
+ * @property {google.cloud.lifesciences.v2beta.IContainerStartedEvent|null} [containerStarted] Event containerStarted
+ * @property {google.cloud.lifesciences.v2beta.IContainerStoppedEvent|null} [containerStopped] Event containerStopped
+ * @property {google.cloud.lifesciences.v2beta.IContainerKilledEvent|null} [containerKilled] Event containerKilled
+ * @property {google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent|null} [unexpectedExitStatus] Event unexpectedExitStatus
+ * @property {google.cloud.lifesciences.v2beta.IFailedEvent|null} [failed] Event failed
+ */
+
+ /**
+ * Constructs a new Event.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents an Event.
+ * @implements IEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IEvent=} [properties] Properties to set
+ */
+ function Event(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]];
+ }
+
+ /**
+ * Event timestamp.
+ * @member {google.protobuf.ITimestamp|null|undefined} timestamp
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.timestamp = null;
+
+ /**
+ * Event description.
+ * @member {string} description
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.description = "";
+
+ /**
+ * Event delayed.
+ * @member {google.cloud.lifesciences.v2beta.IDelayedEvent|null|undefined} delayed
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.delayed = null;
+
+ /**
+ * Event workerAssigned.
+ * @member {google.cloud.lifesciences.v2beta.IWorkerAssignedEvent|null|undefined} workerAssigned
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.workerAssigned = null;
+
+ /**
+ * Event workerReleased.
+ * @member {google.cloud.lifesciences.v2beta.IWorkerReleasedEvent|null|undefined} workerReleased
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.workerReleased = null;
+
+ /**
+ * Event pullStarted.
+ * @member {google.cloud.lifesciences.v2beta.IPullStartedEvent|null|undefined} pullStarted
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.pullStarted = null;
+
+ /**
+ * Event pullStopped.
+ * @member {google.cloud.lifesciences.v2beta.IPullStoppedEvent|null|undefined} pullStopped
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.pullStopped = null;
+
+ /**
+ * Event containerStarted.
+ * @member {google.cloud.lifesciences.v2beta.IContainerStartedEvent|null|undefined} containerStarted
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.containerStarted = null;
+
+ /**
+ * Event containerStopped.
+ * @member {google.cloud.lifesciences.v2beta.IContainerStoppedEvent|null|undefined} containerStopped
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.containerStopped = null;
+
+ /**
+ * Event containerKilled.
+ * @member {google.cloud.lifesciences.v2beta.IContainerKilledEvent|null|undefined} containerKilled
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.containerKilled = null;
+
+ /**
+ * Event unexpectedExitStatus.
+ * @member {google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent|null|undefined} unexpectedExitStatus
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.unexpectedExitStatus = null;
+
+ /**
+ * Event failed.
+ * @member {google.cloud.lifesciences.v2beta.IFailedEvent|null|undefined} failed
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Event.prototype.failed = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Event details.
+ * @member {"delayed"|"workerAssigned"|"workerReleased"|"pullStarted"|"pullStopped"|"containerStarted"|"containerStopped"|"containerKilled"|"unexpectedExitStatus"|"failed"|undefined} details
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ */
+ Object.defineProperty(Event.prototype, "details", {
+ get: $util.oneOfGetter($oneOfFields = ["delayed", "workerAssigned", "workerReleased", "pullStarted", "pullStopped", "containerStarted", "containerStopped", "containerKilled", "unexpectedExitStatus", "failed"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Event instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.Event} Event instance
+ */
+ Event.create = function create(properties) {
+ return new Event(properties);
+ };
+
+ /**
+ * Encodes the specified Event message. Does not implicitly {@link google.cloud.lifesciences.v2beta.Event.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IEvent} message Event message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Event.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.timestamp != null && Object.hasOwnProperty.call(message, "timestamp"))
+ $root.google.protobuf.Timestamp.encode(message.timestamp, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);
+ if (message.delayed != null && Object.hasOwnProperty.call(message, "delayed"))
+ $root.google.cloud.lifesciences.v2beta.DelayedEvent.encode(message.delayed, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();
+ if (message.workerAssigned != null && Object.hasOwnProperty.call(message, "workerAssigned"))
+ $root.google.cloud.lifesciences.v2beta.WorkerAssignedEvent.encode(message.workerAssigned, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
+ if (message.workerReleased != null && Object.hasOwnProperty.call(message, "workerReleased"))
+ $root.google.cloud.lifesciences.v2beta.WorkerReleasedEvent.encode(message.workerReleased, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
+ if (message.pullStarted != null && Object.hasOwnProperty.call(message, "pullStarted"))
+ $root.google.cloud.lifesciences.v2beta.PullStartedEvent.encode(message.pullStarted, writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
+ if (message.pullStopped != null && Object.hasOwnProperty.call(message, "pullStopped"))
+ $root.google.cloud.lifesciences.v2beta.PullStoppedEvent.encode(message.pullStopped, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+ if (message.containerStarted != null && Object.hasOwnProperty.call(message, "containerStarted"))
+ $root.google.cloud.lifesciences.v2beta.ContainerStartedEvent.encode(message.containerStarted, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
+ if (message.containerStopped != null && Object.hasOwnProperty.call(message, "containerStopped"))
+ $root.google.cloud.lifesciences.v2beta.ContainerStoppedEvent.encode(message.containerStopped, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();
+ if (message.containerKilled != null && Object.hasOwnProperty.call(message, "containerKilled"))
+ $root.google.cloud.lifesciences.v2beta.ContainerKilledEvent.encode(message.containerKilled, writer.uint32(/* id 24, wireType 2 =*/194).fork()).ldelim();
+ if (message.unexpectedExitStatus != null && Object.hasOwnProperty.call(message, "unexpectedExitStatus"))
+ $root.google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.encode(message.unexpectedExitStatus, writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
+ if (message.failed != null && Object.hasOwnProperty.call(message, "failed"))
+ $root.google.cloud.lifesciences.v2beta.FailedEvent.encode(message.failed, writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Event message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.Event.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IEvent} message Event message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Event.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Event message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.Event} Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Event.decode = function 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.lifesciences.v2beta.Event();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.timestamp = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.description = reader.string();
+ break;
+ }
+ case 17: {
+ message.delayed = $root.google.cloud.lifesciences.v2beta.DelayedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 18: {
+ message.workerAssigned = $root.google.cloud.lifesciences.v2beta.WorkerAssignedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 19: {
+ message.workerReleased = $root.google.cloud.lifesciences.v2beta.WorkerReleasedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 20: {
+ message.pullStarted = $root.google.cloud.lifesciences.v2beta.PullStartedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 21: {
+ message.pullStopped = $root.google.cloud.lifesciences.v2beta.PullStoppedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 22: {
+ message.containerStarted = $root.google.cloud.lifesciences.v2beta.ContainerStartedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 23: {
+ message.containerStopped = $root.google.cloud.lifesciences.v2beta.ContainerStoppedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 24: {
+ message.containerKilled = $root.google.cloud.lifesciences.v2beta.ContainerKilledEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 25: {
+ message.unexpectedExitStatus = $root.google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 26: {
+ message.failed = $root.google.cloud.lifesciences.v2beta.FailedEvent.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Event message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.Event} Event
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Event.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Event message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Event.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.timestamp != null && message.hasOwnProperty("timestamp")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.timestamp);
+ if (error)
+ return "timestamp." + error;
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.delayed != null && message.hasOwnProperty("delayed")) {
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.DelayedEvent.verify(message.delayed);
+ if (error)
+ return "delayed." + error;
+ }
+ }
+ if (message.workerAssigned != null && message.hasOwnProperty("workerAssigned")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.WorkerAssignedEvent.verify(message.workerAssigned);
+ if (error)
+ return "workerAssigned." + error;
+ }
+ }
+ if (message.workerReleased != null && message.hasOwnProperty("workerReleased")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.WorkerReleasedEvent.verify(message.workerReleased);
+ if (error)
+ return "workerReleased." + error;
+ }
+ }
+ if (message.pullStarted != null && message.hasOwnProperty("pullStarted")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.PullStartedEvent.verify(message.pullStarted);
+ if (error)
+ return "pullStarted." + error;
+ }
+ }
+ if (message.pullStopped != null && message.hasOwnProperty("pullStopped")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.PullStoppedEvent.verify(message.pullStopped);
+ if (error)
+ return "pullStopped." + error;
+ }
+ }
+ if (message.containerStarted != null && message.hasOwnProperty("containerStarted")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.ContainerStartedEvent.verify(message.containerStarted);
+ if (error)
+ return "containerStarted." + error;
+ }
+ }
+ if (message.containerStopped != null && message.hasOwnProperty("containerStopped")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.ContainerStoppedEvent.verify(message.containerStopped);
+ if (error)
+ return "containerStopped." + error;
+ }
+ }
+ if (message.containerKilled != null && message.hasOwnProperty("containerKilled")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.ContainerKilledEvent.verify(message.containerKilled);
+ if (error)
+ return "containerKilled." + error;
+ }
+ }
+ if (message.unexpectedExitStatus != null && message.hasOwnProperty("unexpectedExitStatus")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.verify(message.unexpectedExitStatus);
+ if (error)
+ return "unexpectedExitStatus." + error;
+ }
+ }
+ if (message.failed != null && message.hasOwnProperty("failed")) {
+ if (properties.details === 1)
+ return "details: multiple values";
+ properties.details = 1;
+ {
+ var error = $root.google.cloud.lifesciences.v2beta.FailedEvent.verify(message.failed);
+ if (error)
+ return "failed." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Event message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.Event} Event
+ */
+ Event.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.Event)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.Event();
+ if (object.timestamp != null) {
+ if (typeof object.timestamp !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.timestamp: object expected");
+ message.timestamp = $root.google.protobuf.Timestamp.fromObject(object.timestamp);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.delayed != null) {
+ if (typeof object.delayed !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.delayed: object expected");
+ message.delayed = $root.google.cloud.lifesciences.v2beta.DelayedEvent.fromObject(object.delayed);
+ }
+ if (object.workerAssigned != null) {
+ if (typeof object.workerAssigned !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.workerAssigned: object expected");
+ message.workerAssigned = $root.google.cloud.lifesciences.v2beta.WorkerAssignedEvent.fromObject(object.workerAssigned);
+ }
+ if (object.workerReleased != null) {
+ if (typeof object.workerReleased !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.workerReleased: object expected");
+ message.workerReleased = $root.google.cloud.lifesciences.v2beta.WorkerReleasedEvent.fromObject(object.workerReleased);
+ }
+ if (object.pullStarted != null) {
+ if (typeof object.pullStarted !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.pullStarted: object expected");
+ message.pullStarted = $root.google.cloud.lifesciences.v2beta.PullStartedEvent.fromObject(object.pullStarted);
+ }
+ if (object.pullStopped != null) {
+ if (typeof object.pullStopped !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.pullStopped: object expected");
+ message.pullStopped = $root.google.cloud.lifesciences.v2beta.PullStoppedEvent.fromObject(object.pullStopped);
+ }
+ if (object.containerStarted != null) {
+ if (typeof object.containerStarted !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.containerStarted: object expected");
+ message.containerStarted = $root.google.cloud.lifesciences.v2beta.ContainerStartedEvent.fromObject(object.containerStarted);
+ }
+ if (object.containerStopped != null) {
+ if (typeof object.containerStopped !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.containerStopped: object expected");
+ message.containerStopped = $root.google.cloud.lifesciences.v2beta.ContainerStoppedEvent.fromObject(object.containerStopped);
+ }
+ if (object.containerKilled != null) {
+ if (typeof object.containerKilled !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.containerKilled: object expected");
+ message.containerKilled = $root.google.cloud.lifesciences.v2beta.ContainerKilledEvent.fromObject(object.containerKilled);
+ }
+ if (object.unexpectedExitStatus != null) {
+ if (typeof object.unexpectedExitStatus !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.unexpectedExitStatus: object expected");
+ message.unexpectedExitStatus = $root.google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.fromObject(object.unexpectedExitStatus);
+ }
+ if (object.failed != null) {
+ if (typeof object.failed !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.Event.failed: object expected");
+ message.failed = $root.google.cloud.lifesciences.v2beta.FailedEvent.fromObject(object.failed);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Event message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.Event} message Event
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Event.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.timestamp = null;
+ object.description = "";
+ }
+ if (message.timestamp != null && message.hasOwnProperty("timestamp"))
+ object.timestamp = $root.google.protobuf.Timestamp.toObject(message.timestamp, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.delayed != null && message.hasOwnProperty("delayed")) {
+ object.delayed = $root.google.cloud.lifesciences.v2beta.DelayedEvent.toObject(message.delayed, options);
+ if (options.oneofs)
+ object.details = "delayed";
+ }
+ if (message.workerAssigned != null && message.hasOwnProperty("workerAssigned")) {
+ object.workerAssigned = $root.google.cloud.lifesciences.v2beta.WorkerAssignedEvent.toObject(message.workerAssigned, options);
+ if (options.oneofs)
+ object.details = "workerAssigned";
+ }
+ if (message.workerReleased != null && message.hasOwnProperty("workerReleased")) {
+ object.workerReleased = $root.google.cloud.lifesciences.v2beta.WorkerReleasedEvent.toObject(message.workerReleased, options);
+ if (options.oneofs)
+ object.details = "workerReleased";
+ }
+ if (message.pullStarted != null && message.hasOwnProperty("pullStarted")) {
+ object.pullStarted = $root.google.cloud.lifesciences.v2beta.PullStartedEvent.toObject(message.pullStarted, options);
+ if (options.oneofs)
+ object.details = "pullStarted";
+ }
+ if (message.pullStopped != null && message.hasOwnProperty("pullStopped")) {
+ object.pullStopped = $root.google.cloud.lifesciences.v2beta.PullStoppedEvent.toObject(message.pullStopped, options);
+ if (options.oneofs)
+ object.details = "pullStopped";
+ }
+ if (message.containerStarted != null && message.hasOwnProperty("containerStarted")) {
+ object.containerStarted = $root.google.cloud.lifesciences.v2beta.ContainerStartedEvent.toObject(message.containerStarted, options);
+ if (options.oneofs)
+ object.details = "containerStarted";
+ }
+ if (message.containerStopped != null && message.hasOwnProperty("containerStopped")) {
+ object.containerStopped = $root.google.cloud.lifesciences.v2beta.ContainerStoppedEvent.toObject(message.containerStopped, options);
+ if (options.oneofs)
+ object.details = "containerStopped";
+ }
+ if (message.containerKilled != null && message.hasOwnProperty("containerKilled")) {
+ object.containerKilled = $root.google.cloud.lifesciences.v2beta.ContainerKilledEvent.toObject(message.containerKilled, options);
+ if (options.oneofs)
+ object.details = "containerKilled";
+ }
+ if (message.unexpectedExitStatus != null && message.hasOwnProperty("unexpectedExitStatus")) {
+ object.unexpectedExitStatus = $root.google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.toObject(message.unexpectedExitStatus, options);
+ if (options.oneofs)
+ object.details = "unexpectedExitStatus";
+ }
+ if (message.failed != null && message.hasOwnProperty("failed")) {
+ object.failed = $root.google.cloud.lifesciences.v2beta.FailedEvent.toObject(message.failed, options);
+ if (options.oneofs)
+ object.details = "failed";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Event to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Event.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Event
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.Event
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Event.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.Event";
+ };
+
+ return Event;
+ })();
+
+ v2beta.DelayedEvent = (function() {
+
+ /**
+ * Properties of a DelayedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IDelayedEvent
+ * @property {string|null} [cause] DelayedEvent cause
+ * @property {Array.|null} [metrics] DelayedEvent metrics
+ */
+
+ /**
+ * Constructs a new DelayedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a DelayedEvent.
+ * @implements IDelayedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IDelayedEvent=} [properties] Properties to set
+ */
+ function DelayedEvent(properties) {
+ this.metrics = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DelayedEvent cause.
+ * @member {string} cause
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @instance
+ */
+ DelayedEvent.prototype.cause = "";
+
+ /**
+ * DelayedEvent metrics.
+ * @member {Array.} metrics
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @instance
+ */
+ DelayedEvent.prototype.metrics = $util.emptyArray;
+
+ /**
+ * Creates a new DelayedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IDelayedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.DelayedEvent} DelayedEvent instance
+ */
+ DelayedEvent.create = function create(properties) {
+ return new DelayedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified DelayedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.DelayedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IDelayedEvent} message DelayedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DelayedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.cause != null && Object.hasOwnProperty.call(message, "cause"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.cause);
+ if (message.metrics != null && message.metrics.length)
+ for (var i = 0; i < message.metrics.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.metrics[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DelayedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.DelayedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IDelayedEvent} message DelayedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DelayedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DelayedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.DelayedEvent} DelayedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DelayedEvent.decode = function 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.lifesciences.v2beta.DelayedEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.cause = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.metrics && message.metrics.length))
+ message.metrics = [];
+ message.metrics.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DelayedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.DelayedEvent} DelayedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DelayedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DelayedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DelayedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.cause != null && message.hasOwnProperty("cause"))
+ if (!$util.isString(message.cause))
+ return "cause: string expected";
+ if (message.metrics != null && message.hasOwnProperty("metrics")) {
+ if (!Array.isArray(message.metrics))
+ return "metrics: array expected";
+ for (var i = 0; i < message.metrics.length; ++i)
+ if (!$util.isString(message.metrics[i]))
+ return "metrics: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DelayedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.DelayedEvent} DelayedEvent
+ */
+ DelayedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.DelayedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.DelayedEvent();
+ if (object.cause != null)
+ message.cause = String(object.cause);
+ if (object.metrics) {
+ if (!Array.isArray(object.metrics))
+ throw TypeError(".google.cloud.lifesciences.v2beta.DelayedEvent.metrics: array expected");
+ message.metrics = [];
+ for (var i = 0; i < object.metrics.length; ++i)
+ message.metrics[i] = String(object.metrics[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DelayedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.DelayedEvent} message DelayedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DelayedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.metrics = [];
+ if (options.defaults)
+ object.cause = "";
+ if (message.cause != null && message.hasOwnProperty("cause"))
+ object.cause = message.cause;
+ if (message.metrics && message.metrics.length) {
+ object.metrics = [];
+ for (var j = 0; j < message.metrics.length; ++j)
+ object.metrics[j] = message.metrics[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this DelayedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DelayedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DelayedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.DelayedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DelayedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.DelayedEvent";
+ };
+
+ return DelayedEvent;
+ })();
+
+ v2beta.WorkerAssignedEvent = (function() {
+
+ /**
+ * Properties of a WorkerAssignedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IWorkerAssignedEvent
+ * @property {string|null} [zone] WorkerAssignedEvent zone
+ * @property {string|null} [instance] WorkerAssignedEvent instance
+ * @property {string|null} [machineType] WorkerAssignedEvent machineType
+ */
+
+ /**
+ * Constructs a new WorkerAssignedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a WorkerAssignedEvent.
+ * @implements IWorkerAssignedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IWorkerAssignedEvent=} [properties] Properties to set
+ */
+ function WorkerAssignedEvent(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]];
+ }
+
+ /**
+ * WorkerAssignedEvent zone.
+ * @member {string} zone
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @instance
+ */
+ WorkerAssignedEvent.prototype.zone = "";
+
+ /**
+ * WorkerAssignedEvent instance.
+ * @member {string} instance
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @instance
+ */
+ WorkerAssignedEvent.prototype.instance = "";
+
+ /**
+ * WorkerAssignedEvent machineType.
+ * @member {string} machineType
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @instance
+ */
+ WorkerAssignedEvent.prototype.machineType = "";
+
+ /**
+ * Creates a new WorkerAssignedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IWorkerAssignedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.WorkerAssignedEvent} WorkerAssignedEvent instance
+ */
+ WorkerAssignedEvent.create = function create(properties) {
+ return new WorkerAssignedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified WorkerAssignedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerAssignedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IWorkerAssignedEvent} message WorkerAssignedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WorkerAssignedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.zone != null && Object.hasOwnProperty.call(message, "zone"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.zone);
+ if (message.instance != null && Object.hasOwnProperty.call(message, "instance"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.instance);
+ if (message.machineType != null && Object.hasOwnProperty.call(message, "machineType"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.machineType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified WorkerAssignedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerAssignedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IWorkerAssignedEvent} message WorkerAssignedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WorkerAssignedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a WorkerAssignedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.WorkerAssignedEvent} WorkerAssignedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WorkerAssignedEvent.decode = function 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.lifesciences.v2beta.WorkerAssignedEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.zone = reader.string();
+ break;
+ }
+ case 2: {
+ message.instance = reader.string();
+ break;
+ }
+ case 3: {
+ message.machineType = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a WorkerAssignedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.WorkerAssignedEvent} WorkerAssignedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WorkerAssignedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a WorkerAssignedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ WorkerAssignedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ if (!$util.isString(message.zone))
+ return "zone: string expected";
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ if (!$util.isString(message.instance))
+ return "instance: string expected";
+ if (message.machineType != null && message.hasOwnProperty("machineType"))
+ if (!$util.isString(message.machineType))
+ return "machineType: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a WorkerAssignedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.WorkerAssignedEvent} WorkerAssignedEvent
+ */
+ WorkerAssignedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.WorkerAssignedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.WorkerAssignedEvent();
+ if (object.zone != null)
+ message.zone = String(object.zone);
+ if (object.instance != null)
+ message.instance = String(object.instance);
+ if (object.machineType != null)
+ message.machineType = String(object.machineType);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a WorkerAssignedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.WorkerAssignedEvent} message WorkerAssignedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ WorkerAssignedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.zone = "";
+ object.instance = "";
+ object.machineType = "";
+ }
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ object.zone = message.zone;
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ object.instance = message.instance;
+ if (message.machineType != null && message.hasOwnProperty("machineType"))
+ object.machineType = message.machineType;
+ return object;
+ };
+
+ /**
+ * Converts this WorkerAssignedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ WorkerAssignedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for WorkerAssignedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.WorkerAssignedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ WorkerAssignedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.WorkerAssignedEvent";
+ };
+
+ return WorkerAssignedEvent;
+ })();
+
+ v2beta.WorkerReleasedEvent = (function() {
+
+ /**
+ * Properties of a WorkerReleasedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IWorkerReleasedEvent
+ * @property {string|null} [zone] WorkerReleasedEvent zone
+ * @property {string|null} [instance] WorkerReleasedEvent instance
+ */
+
+ /**
+ * Constructs a new WorkerReleasedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a WorkerReleasedEvent.
+ * @implements IWorkerReleasedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IWorkerReleasedEvent=} [properties] Properties to set
+ */
+ function WorkerReleasedEvent(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]];
+ }
+
+ /**
+ * WorkerReleasedEvent zone.
+ * @member {string} zone
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @instance
+ */
+ WorkerReleasedEvent.prototype.zone = "";
+
+ /**
+ * WorkerReleasedEvent instance.
+ * @member {string} instance
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @instance
+ */
+ WorkerReleasedEvent.prototype.instance = "";
+
+ /**
+ * Creates a new WorkerReleasedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IWorkerReleasedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.WorkerReleasedEvent} WorkerReleasedEvent instance
+ */
+ WorkerReleasedEvent.create = function create(properties) {
+ return new WorkerReleasedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified WorkerReleasedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerReleasedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IWorkerReleasedEvent} message WorkerReleasedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WorkerReleasedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.zone != null && Object.hasOwnProperty.call(message, "zone"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.zone);
+ if (message.instance != null && Object.hasOwnProperty.call(message, "instance"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.instance);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified WorkerReleasedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.WorkerReleasedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IWorkerReleasedEvent} message WorkerReleasedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WorkerReleasedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a WorkerReleasedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.WorkerReleasedEvent} WorkerReleasedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WorkerReleasedEvent.decode = function 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.lifesciences.v2beta.WorkerReleasedEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.zone = reader.string();
+ break;
+ }
+ case 2: {
+ message.instance = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a WorkerReleasedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.WorkerReleasedEvent} WorkerReleasedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WorkerReleasedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a WorkerReleasedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ WorkerReleasedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ if (!$util.isString(message.zone))
+ return "zone: string expected";
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ if (!$util.isString(message.instance))
+ return "instance: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a WorkerReleasedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.WorkerReleasedEvent} WorkerReleasedEvent
+ */
+ WorkerReleasedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.WorkerReleasedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.WorkerReleasedEvent();
+ if (object.zone != null)
+ message.zone = String(object.zone);
+ if (object.instance != null)
+ message.instance = String(object.instance);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a WorkerReleasedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.WorkerReleasedEvent} message WorkerReleasedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ WorkerReleasedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.zone = "";
+ object.instance = "";
+ }
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ object.zone = message.zone;
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ object.instance = message.instance;
+ return object;
+ };
+
+ /**
+ * Converts this WorkerReleasedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ WorkerReleasedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for WorkerReleasedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.WorkerReleasedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ WorkerReleasedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.WorkerReleasedEvent";
+ };
+
+ return WorkerReleasedEvent;
+ })();
+
+ v2beta.PullStartedEvent = (function() {
+
+ /**
+ * Properties of a PullStartedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IPullStartedEvent
+ * @property {string|null} [imageUri] PullStartedEvent imageUri
+ */
+
+ /**
+ * Constructs a new PullStartedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a PullStartedEvent.
+ * @implements IPullStartedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IPullStartedEvent=} [properties] Properties to set
+ */
+ function PullStartedEvent(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]];
+ }
+
+ /**
+ * PullStartedEvent imageUri.
+ * @member {string} imageUri
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @instance
+ */
+ PullStartedEvent.prototype.imageUri = "";
+
+ /**
+ * Creates a new PullStartedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPullStartedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.PullStartedEvent} PullStartedEvent instance
+ */
+ PullStartedEvent.create = function create(properties) {
+ return new PullStartedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified PullStartedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStartedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPullStartedEvent} message PullStartedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PullStartedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.imageUri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PullStartedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStartedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPullStartedEvent} message PullStartedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PullStartedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PullStartedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.PullStartedEvent} PullStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PullStartedEvent.decode = function 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.lifesciences.v2beta.PullStartedEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.imageUri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PullStartedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.PullStartedEvent} PullStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PullStartedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PullStartedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PullStartedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ if (!$util.isString(message.imageUri))
+ return "imageUri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PullStartedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.PullStartedEvent} PullStartedEvent
+ */
+ PullStartedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.PullStartedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.PullStartedEvent();
+ if (object.imageUri != null)
+ message.imageUri = String(object.imageUri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PullStartedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.PullStartedEvent} message PullStartedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PullStartedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.imageUri = "";
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ object.imageUri = message.imageUri;
+ return object;
+ };
+
+ /**
+ * Converts this PullStartedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PullStartedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PullStartedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.PullStartedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PullStartedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.PullStartedEvent";
+ };
+
+ return PullStartedEvent;
+ })();
+
+ v2beta.PullStoppedEvent = (function() {
+
+ /**
+ * Properties of a PullStoppedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IPullStoppedEvent
+ * @property {string|null} [imageUri] PullStoppedEvent imageUri
+ */
+
+ /**
+ * Constructs a new PullStoppedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a PullStoppedEvent.
+ * @implements IPullStoppedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IPullStoppedEvent=} [properties] Properties to set
+ */
+ function PullStoppedEvent(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]];
+ }
+
+ /**
+ * PullStoppedEvent imageUri.
+ * @member {string} imageUri
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @instance
+ */
+ PullStoppedEvent.prototype.imageUri = "";
+
+ /**
+ * Creates a new PullStoppedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPullStoppedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.PullStoppedEvent} PullStoppedEvent instance
+ */
+ PullStoppedEvent.create = function create(properties) {
+ return new PullStoppedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified PullStoppedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStoppedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPullStoppedEvent} message PullStoppedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PullStoppedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.imageUri != null && Object.hasOwnProperty.call(message, "imageUri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.imageUri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PullStoppedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.PullStoppedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IPullStoppedEvent} message PullStoppedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PullStoppedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PullStoppedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.PullStoppedEvent} PullStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PullStoppedEvent.decode = function 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.lifesciences.v2beta.PullStoppedEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.imageUri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PullStoppedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.PullStoppedEvent} PullStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PullStoppedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PullStoppedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PullStoppedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ if (!$util.isString(message.imageUri))
+ return "imageUri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PullStoppedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.PullStoppedEvent} PullStoppedEvent
+ */
+ PullStoppedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.PullStoppedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.PullStoppedEvent();
+ if (object.imageUri != null)
+ message.imageUri = String(object.imageUri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PullStoppedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.PullStoppedEvent} message PullStoppedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PullStoppedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.imageUri = "";
+ if (message.imageUri != null && message.hasOwnProperty("imageUri"))
+ object.imageUri = message.imageUri;
+ return object;
+ };
+
+ /**
+ * Converts this PullStoppedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PullStoppedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PullStoppedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.PullStoppedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PullStoppedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.PullStoppedEvent";
+ };
+
+ return PullStoppedEvent;
+ })();
+
+ v2beta.ContainerStartedEvent = (function() {
+
+ /**
+ * Properties of a ContainerStartedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IContainerStartedEvent
+ * @property {number|null} [actionId] ContainerStartedEvent actionId
+ * @property {Object.|null} [portMappings] ContainerStartedEvent portMappings
+ * @property {string|null} [ipAddress] ContainerStartedEvent ipAddress
+ */
+
+ /**
+ * Constructs a new ContainerStartedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a ContainerStartedEvent.
+ * @implements IContainerStartedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IContainerStartedEvent=} [properties] Properties to set
+ */
+ function ContainerStartedEvent(properties) {
+ this.portMappings = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ContainerStartedEvent actionId.
+ * @member {number} actionId
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @instance
+ */
+ ContainerStartedEvent.prototype.actionId = 0;
+
+ /**
+ * ContainerStartedEvent portMappings.
+ * @member {Object.} portMappings
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @instance
+ */
+ ContainerStartedEvent.prototype.portMappings = $util.emptyObject;
+
+ /**
+ * ContainerStartedEvent ipAddress.
+ * @member {string} ipAddress
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @instance
+ */
+ ContainerStartedEvent.prototype.ipAddress = "";
+
+ /**
+ * Creates a new ContainerStartedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerStartedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStartedEvent} ContainerStartedEvent instance
+ */
+ ContainerStartedEvent.create = function create(properties) {
+ return new ContainerStartedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified ContainerStartedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStartedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerStartedEvent} message ContainerStartedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContainerStartedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.actionId != null && Object.hasOwnProperty.call(message, "actionId"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.actionId);
+ if (message.portMappings != null && Object.hasOwnProperty.call(message, "portMappings"))
+ for (var keys = Object.keys(message.portMappings), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 0 =*/8).int32(keys[i]).uint32(/* id 2, wireType 0 =*/16).int32(message.portMappings[keys[i]]).ldelim();
+ if (message.ipAddress != null && Object.hasOwnProperty.call(message, "ipAddress"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.ipAddress);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContainerStartedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStartedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerStartedEvent} message ContainerStartedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContainerStartedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContainerStartedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStartedEvent} ContainerStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContainerStartedEvent.decode = function 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.lifesciences.v2beta.ContainerStartedEvent(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.actionId = reader.int32();
+ break;
+ }
+ case 2: {
+ if (message.portMappings === $util.emptyObject)
+ message.portMappings = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = 0;
+ value = 0;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.int32();
+ break;
+ case 2:
+ value = reader.int32();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.portMappings[key] = value;
+ break;
+ }
+ case 3: {
+ message.ipAddress = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContainerStartedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStartedEvent} ContainerStartedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContainerStartedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContainerStartedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContainerStartedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ if (!$util.isInteger(message.actionId))
+ return "actionId: integer expected";
+ if (message.portMappings != null && message.hasOwnProperty("portMappings")) {
+ if (!$util.isObject(message.portMappings))
+ return "portMappings: object expected";
+ var key = Object.keys(message.portMappings);
+ for (var i = 0; i < key.length; ++i) {
+ if (!$util.key32Re.test(key[i]))
+ return "portMappings: integer key{k:int32} expected";
+ if (!$util.isInteger(message.portMappings[key[i]]))
+ return "portMappings: integer{k:int32} expected";
+ }
+ }
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ if (!$util.isString(message.ipAddress))
+ return "ipAddress: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ContainerStartedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStartedEvent} ContainerStartedEvent
+ */
+ ContainerStartedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.ContainerStartedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.ContainerStartedEvent();
+ if (object.actionId != null)
+ message.actionId = object.actionId | 0;
+ if (object.portMappings) {
+ if (typeof object.portMappings !== "object")
+ throw TypeError(".google.cloud.lifesciences.v2beta.ContainerStartedEvent.portMappings: object expected");
+ message.portMappings = {};
+ for (var keys = Object.keys(object.portMappings), i = 0; i < keys.length; ++i)
+ message.portMappings[keys[i]] = object.portMappings[keys[i]] | 0;
+ }
+ if (object.ipAddress != null)
+ message.ipAddress = String(object.ipAddress);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContainerStartedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ContainerStartedEvent} message ContainerStartedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContainerStartedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.portMappings = {};
+ if (options.defaults) {
+ object.actionId = 0;
+ object.ipAddress = "";
+ }
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ object.actionId = message.actionId;
+ var keys2;
+ if (message.portMappings && (keys2 = Object.keys(message.portMappings)).length) {
+ object.portMappings = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.portMappings[keys2[j]] = message.portMappings[keys2[j]];
+ }
+ if (message.ipAddress != null && message.hasOwnProperty("ipAddress"))
+ object.ipAddress = message.ipAddress;
+ return object;
+ };
+
+ /**
+ * Converts this ContainerStartedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContainerStartedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ContainerStartedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStartedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ContainerStartedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.ContainerStartedEvent";
+ };
+
+ return ContainerStartedEvent;
+ })();
+
+ v2beta.ContainerStoppedEvent = (function() {
+
+ /**
+ * Properties of a ContainerStoppedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IContainerStoppedEvent
+ * @property {number|null} [actionId] ContainerStoppedEvent actionId
+ * @property {number|null} [exitStatus] ContainerStoppedEvent exitStatus
+ * @property {string|null} [stderr] ContainerStoppedEvent stderr
+ */
+
+ /**
+ * Constructs a new ContainerStoppedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a ContainerStoppedEvent.
+ * @implements IContainerStoppedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IContainerStoppedEvent=} [properties] Properties to set
+ */
+ function ContainerStoppedEvent(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]];
+ }
+
+ /**
+ * ContainerStoppedEvent actionId.
+ * @member {number} actionId
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @instance
+ */
+ ContainerStoppedEvent.prototype.actionId = 0;
+
+ /**
+ * ContainerStoppedEvent exitStatus.
+ * @member {number} exitStatus
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @instance
+ */
+ ContainerStoppedEvent.prototype.exitStatus = 0;
+
+ /**
+ * ContainerStoppedEvent stderr.
+ * @member {string} stderr
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @instance
+ */
+ ContainerStoppedEvent.prototype.stderr = "";
+
+ /**
+ * Creates a new ContainerStoppedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerStoppedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStoppedEvent} ContainerStoppedEvent instance
+ */
+ ContainerStoppedEvent.create = function create(properties) {
+ return new ContainerStoppedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified ContainerStoppedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStoppedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerStoppedEvent} message ContainerStoppedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContainerStoppedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.actionId != null && Object.hasOwnProperty.call(message, "actionId"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.actionId);
+ if (message.exitStatus != null && Object.hasOwnProperty.call(message, "exitStatus"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.exitStatus);
+ if (message.stderr != null && Object.hasOwnProperty.call(message, "stderr"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.stderr);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContainerStoppedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerStoppedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerStoppedEvent} message ContainerStoppedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContainerStoppedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContainerStoppedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStoppedEvent} ContainerStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContainerStoppedEvent.decode = function 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.lifesciences.v2beta.ContainerStoppedEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.actionId = reader.int32();
+ break;
+ }
+ case 2: {
+ message.exitStatus = reader.int32();
+ break;
+ }
+ case 3: {
+ message.stderr = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContainerStoppedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStoppedEvent} ContainerStoppedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContainerStoppedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContainerStoppedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContainerStoppedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ if (!$util.isInteger(message.actionId))
+ return "actionId: integer expected";
+ if (message.exitStatus != null && message.hasOwnProperty("exitStatus"))
+ if (!$util.isInteger(message.exitStatus))
+ return "exitStatus: integer expected";
+ if (message.stderr != null && message.hasOwnProperty("stderr"))
+ if (!$util.isString(message.stderr))
+ return "stderr: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ContainerStoppedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.ContainerStoppedEvent} ContainerStoppedEvent
+ */
+ ContainerStoppedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.ContainerStoppedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.ContainerStoppedEvent();
+ if (object.actionId != null)
+ message.actionId = object.actionId | 0;
+ if (object.exitStatus != null)
+ message.exitStatus = object.exitStatus | 0;
+ if (object.stderr != null)
+ message.stderr = String(object.stderr);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContainerStoppedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ContainerStoppedEvent} message ContainerStoppedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContainerStoppedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.actionId = 0;
+ object.exitStatus = 0;
+ object.stderr = "";
+ }
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ object.actionId = message.actionId;
+ if (message.exitStatus != null && message.hasOwnProperty("exitStatus"))
+ object.exitStatus = message.exitStatus;
+ if (message.stderr != null && message.hasOwnProperty("stderr"))
+ object.stderr = message.stderr;
+ return object;
+ };
+
+ /**
+ * Converts this ContainerStoppedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContainerStoppedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ContainerStoppedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.ContainerStoppedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ContainerStoppedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.ContainerStoppedEvent";
+ };
+
+ return ContainerStoppedEvent;
+ })();
+
+ v2beta.UnexpectedExitStatusEvent = (function() {
+
+ /**
+ * Properties of an UnexpectedExitStatusEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IUnexpectedExitStatusEvent
+ * @property {number|null} [actionId] UnexpectedExitStatusEvent actionId
+ * @property {number|null} [exitStatus] UnexpectedExitStatusEvent exitStatus
+ */
+
+ /**
+ * Constructs a new UnexpectedExitStatusEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents an UnexpectedExitStatusEvent.
+ * @implements IUnexpectedExitStatusEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent=} [properties] Properties to set
+ */
+ function UnexpectedExitStatusEvent(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]];
+ }
+
+ /**
+ * UnexpectedExitStatusEvent actionId.
+ * @member {number} actionId
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @instance
+ */
+ UnexpectedExitStatusEvent.prototype.actionId = 0;
+
+ /**
+ * UnexpectedExitStatusEvent exitStatus.
+ * @member {number} exitStatus
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @instance
+ */
+ UnexpectedExitStatusEvent.prototype.exitStatus = 0;
+
+ /**
+ * Creates a new UnexpectedExitStatusEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent} UnexpectedExitStatusEvent instance
+ */
+ UnexpectedExitStatusEvent.create = function create(properties) {
+ return new UnexpectedExitStatusEvent(properties);
+ };
+
+ /**
+ * Encodes the specified UnexpectedExitStatusEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent} message UnexpectedExitStatusEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UnexpectedExitStatusEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.actionId != null && Object.hasOwnProperty.call(message, "actionId"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.actionId);
+ if (message.exitStatus != null && Object.hasOwnProperty.call(message, "exitStatus"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.exitStatus);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UnexpectedExitStatusEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IUnexpectedExitStatusEvent} message UnexpectedExitStatusEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UnexpectedExitStatusEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UnexpectedExitStatusEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent} UnexpectedExitStatusEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UnexpectedExitStatusEvent.decode = function 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.lifesciences.v2beta.UnexpectedExitStatusEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.actionId = reader.int32();
+ break;
+ }
+ case 2: {
+ message.exitStatus = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UnexpectedExitStatusEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent} UnexpectedExitStatusEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UnexpectedExitStatusEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UnexpectedExitStatusEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UnexpectedExitStatusEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ if (!$util.isInteger(message.actionId))
+ return "actionId: integer expected";
+ if (message.exitStatus != null && message.hasOwnProperty("exitStatus"))
+ if (!$util.isInteger(message.exitStatus))
+ return "exitStatus: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates an UnexpectedExitStatusEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent} UnexpectedExitStatusEvent
+ */
+ UnexpectedExitStatusEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent();
+ if (object.actionId != null)
+ message.actionId = object.actionId | 0;
+ if (object.exitStatus != null)
+ message.exitStatus = object.exitStatus | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UnexpectedExitStatusEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent} message UnexpectedExitStatusEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UnexpectedExitStatusEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.actionId = 0;
+ object.exitStatus = 0;
+ }
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ object.actionId = message.actionId;
+ if (message.exitStatus != null && message.hasOwnProperty("exitStatus"))
+ object.exitStatus = message.exitStatus;
+ return object;
+ };
+
+ /**
+ * Converts this UnexpectedExitStatusEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UnexpectedExitStatusEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UnexpectedExitStatusEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UnexpectedExitStatusEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.UnexpectedExitStatusEvent";
+ };
+
+ return UnexpectedExitStatusEvent;
+ })();
+
+ v2beta.ContainerKilledEvent = (function() {
+
+ /**
+ * Properties of a ContainerKilledEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IContainerKilledEvent
+ * @property {number|null} [actionId] ContainerKilledEvent actionId
+ */
+
+ /**
+ * Constructs a new ContainerKilledEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a ContainerKilledEvent.
+ * @implements IContainerKilledEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IContainerKilledEvent=} [properties] Properties to set
+ */
+ function ContainerKilledEvent(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]];
+ }
+
+ /**
+ * ContainerKilledEvent actionId.
+ * @member {number} actionId
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @instance
+ */
+ ContainerKilledEvent.prototype.actionId = 0;
+
+ /**
+ * Creates a new ContainerKilledEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerKilledEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.ContainerKilledEvent} ContainerKilledEvent instance
+ */
+ ContainerKilledEvent.create = function create(properties) {
+ return new ContainerKilledEvent(properties);
+ };
+
+ /**
+ * Encodes the specified ContainerKilledEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerKilledEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerKilledEvent} message ContainerKilledEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContainerKilledEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.actionId != null && Object.hasOwnProperty.call(message, "actionId"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.actionId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContainerKilledEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.ContainerKilledEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IContainerKilledEvent} message ContainerKilledEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContainerKilledEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContainerKilledEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.ContainerKilledEvent} ContainerKilledEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContainerKilledEvent.decode = function 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.lifesciences.v2beta.ContainerKilledEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.actionId = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContainerKilledEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.ContainerKilledEvent} ContainerKilledEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContainerKilledEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContainerKilledEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContainerKilledEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ if (!$util.isInteger(message.actionId))
+ return "actionId: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a ContainerKilledEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.ContainerKilledEvent} ContainerKilledEvent
+ */
+ ContainerKilledEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.ContainerKilledEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.ContainerKilledEvent();
+ if (object.actionId != null)
+ message.actionId = object.actionId | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContainerKilledEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.ContainerKilledEvent} message ContainerKilledEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContainerKilledEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.actionId = 0;
+ if (message.actionId != null && message.hasOwnProperty("actionId"))
+ object.actionId = message.actionId;
+ return object;
+ };
+
+ /**
+ * Converts this ContainerKilledEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContainerKilledEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ContainerKilledEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.ContainerKilledEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ContainerKilledEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.ContainerKilledEvent";
+ };
+
+ return ContainerKilledEvent;
+ })();
+
+ v2beta.FailedEvent = (function() {
+
+ /**
+ * Properties of a FailedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @interface IFailedEvent
+ * @property {google.rpc.Code|null} [code] FailedEvent code
+ * @property {string|null} [cause] FailedEvent cause
+ */
+
+ /**
+ * Constructs a new FailedEvent.
+ * @memberof google.cloud.lifesciences.v2beta
+ * @classdesc Represents a FailedEvent.
+ * @implements IFailedEvent
+ * @constructor
+ * @param {google.cloud.lifesciences.v2beta.IFailedEvent=} [properties] Properties to set
+ */
+ function FailedEvent(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]];
+ }
+
+ /**
+ * FailedEvent code.
+ * @member {google.rpc.Code} code
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @instance
+ */
+ FailedEvent.prototype.code = 0;
+
+ /**
+ * FailedEvent cause.
+ * @member {string} cause
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @instance
+ */
+ FailedEvent.prototype.cause = "";
+
+ /**
+ * Creates a new FailedEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IFailedEvent=} [properties] Properties to set
+ * @returns {google.cloud.lifesciences.v2beta.FailedEvent} FailedEvent instance
+ */
+ FailedEvent.create = function create(properties) {
+ return new FailedEvent(properties);
+ };
+
+ /**
+ * Encodes the specified FailedEvent message. Does not implicitly {@link google.cloud.lifesciences.v2beta.FailedEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IFailedEvent} message FailedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FailedEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.code != null && Object.hasOwnProperty.call(message, "code"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code);
+ if (message.cause != null && Object.hasOwnProperty.call(message, "cause"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.cause);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FailedEvent message, length delimited. Does not implicitly {@link google.cloud.lifesciences.v2beta.FailedEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.IFailedEvent} message FailedEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FailedEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FailedEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.lifesciences.v2beta.FailedEvent} FailedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FailedEvent.decode = function 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.lifesciences.v2beta.FailedEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.code = reader.int32();
+ break;
+ }
+ case 2: {
+ message.cause = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FailedEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.lifesciences.v2beta.FailedEvent} FailedEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FailedEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FailedEvent message.
+ * @function verify
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FailedEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.code != null && message.hasOwnProperty("code"))
+ switch (message.code) {
+ default:
+ return "code: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 16:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ break;
+ }
+ if (message.cause != null && message.hasOwnProperty("cause"))
+ if (!$util.isString(message.cause))
+ return "cause: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a FailedEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.lifesciences.v2beta.FailedEvent} FailedEvent
+ */
+ FailedEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.lifesciences.v2beta.FailedEvent)
+ return object;
+ var message = new $root.google.cloud.lifesciences.v2beta.FailedEvent();
+ switch (object.code) {
+ default:
+ if (typeof object.code === "number") {
+ message.code = object.code;
+ break;
+ }
+ break;
+ case "OK":
+ case 0:
+ message.code = 0;
+ break;
+ case "CANCELLED":
+ case 1:
+ message.code = 1;
+ break;
+ case "UNKNOWN":
+ case 2:
+ message.code = 2;
+ break;
+ case "INVALID_ARGUMENT":
+ case 3:
+ message.code = 3;
+ break;
+ case "DEADLINE_EXCEEDED":
+ case 4:
+ message.code = 4;
+ break;
+ case "NOT_FOUND":
+ case 5:
+ message.code = 5;
+ break;
+ case "ALREADY_EXISTS":
+ case 6:
+ message.code = 6;
+ break;
+ case "PERMISSION_DENIED":
+ case 7:
+ message.code = 7;
+ break;
+ case "UNAUTHENTICATED":
+ case 16:
+ message.code = 16;
+ break;
+ case "RESOURCE_EXHAUSTED":
+ case 8:
+ message.code = 8;
+ break;
+ case "FAILED_PRECONDITION":
+ case 9:
+ message.code = 9;
+ break;
+ case "ABORTED":
+ case 10:
+ message.code = 10;
+ break;
+ case "OUT_OF_RANGE":
+ case 11:
+ message.code = 11;
+ break;
+ case "UNIMPLEMENTED":
+ case 12:
+ message.code = 12;
+ break;
+ case "INTERNAL":
+ case 13:
+ message.code = 13;
+ break;
+ case "UNAVAILABLE":
+ case 14:
+ message.code = 14;
+ break;
+ case "DATA_LOSS":
+ case 15:
+ message.code = 15;
+ break;
+ }
+ if (object.cause != null)
+ message.cause = String(object.cause);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FailedEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {google.cloud.lifesciences.v2beta.FailedEvent} message FailedEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FailedEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.code = options.enums === String ? "OK" : 0;
+ object.cause = "";
+ }
+ if (message.code != null && message.hasOwnProperty("code"))
+ object.code = options.enums === String ? $root.google.rpc.Code[message.code] === undefined ? message.code : $root.google.rpc.Code[message.code] : message.code;
+ if (message.cause != null && message.hasOwnProperty("cause"))
+ object.cause = message.cause;
+ return object;
+ };
+
+ /**
+ * Converts this FailedEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FailedEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FailedEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.lifesciences.v2beta.FailedEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FailedEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.lifesciences.v2beta.FailedEvent";
+ };
+
+ return FailedEvent;
+ })();
+
+ return v2beta;
+ })();
+
+ return lifesciences;
+ })();
+
+ return cloud;
+ })();
+
+ google.api = (function() {
+
+ /**
+ * Namespace api.
+ * @memberof google
+ * @namespace
+ */
+ var api = {};
+
+ api.Http = (function() {
+
+ /**
+ * Properties of a Http.
+ * @memberof google.api
+ * @interface IHttp
+ * @property {Array.|null} [rules] Http rules
+ * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion
+ */
+
+ /**
+ * Constructs a new Http.
+ * @memberof google.api
+ * @classdesc Represents a Http.
+ * @implements IHttp
+ * @constructor
+ * @param {google.api.IHttp=} [properties] Properties to set
+ */
+ function Http(properties) {
+ this.rules = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Http rules.
+ * @member {Array.} rules
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.rules = $util.emptyArray;
+
+ /**
+ * Http fullyDecodeReservedExpansion.
+ * @member {boolean} fullyDecodeReservedExpansion
+ * @memberof google.api.Http
+ * @instance
+ */
+ Http.prototype.fullyDecodeReservedExpansion = false;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @function create
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp=} [properties] Properties to set
+ * @returns {google.api.Http} Http instance
+ */
+ Http.create = function create(properties) {
+ return new Http(properties);
+ };
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rules != null && message.rules.length)
+ for (var i = 0; i < message.rules.length; ++i)
+ $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.IHttp} message Http message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Http.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.rules && message.rules.length))
+ message.rules = [];
+ message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.fullyDecodeReservedExpansion = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.Http
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.Http} Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Http.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Http message.
+ * @function verify
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Http.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.rules != null && message.hasOwnProperty("rules")) {
+ if (!Array.isArray(message.rules))
+ return "rules: array expected";
+ for (var i = 0; i < message.rules.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.rules[i]);
+ if (error)
+ return "rules." + error;
+ }
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ if (typeof message.fullyDecodeReservedExpansion !== "boolean")
+ return "fullyDecodeReservedExpansion: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.Http
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.Http} Http
+ */
+ Http.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.Http)
+ return object;
+ var message = new $root.google.api.Http();
+ if (object.rules) {
+ if (!Array.isArray(object.rules))
+ throw TypeError(".google.api.Http.rules: array expected");
+ message.rules = [];
+ for (var i = 0; i < object.rules.length; ++i) {
+ if (typeof object.rules[i] !== "object")
+ throw TypeError(".google.api.Http.rules: object expected");
+ message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]);
+ }
+ }
+ if (object.fullyDecodeReservedExpansion != null)
+ message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.Http
+ * @static
+ * @param {google.api.Http} message Http
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Http.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.rules = [];
+ if (options.defaults)
+ object.fullyDecodeReservedExpansion = false;
+ if (message.rules && message.rules.length) {
+ object.rules = [];
+ for (var j = 0; j < message.rules.length; ++j)
+ object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options);
+ }
+ if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion"))
+ object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion;
+ return object;
+ };
+
+ /**
+ * Converts this Http to JSON.
+ * @function toJSON
+ * @memberof google.api.Http
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Http.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Http
+ * @function getTypeUrl
+ * @memberof google.api.Http
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.Http";
+ };
+
+ return Http;
+ })();
+
+ api.HttpRule = (function() {
+
+ /**
+ * Properties of a HttpRule.
+ * @memberof google.api
+ * @interface IHttpRule
+ * @property {string|null} [selector] HttpRule selector
+ * @property {string|null} [get] HttpRule get
+ * @property {string|null} [put] HttpRule put
+ * @property {string|null} [post] HttpRule post
+ * @property {string|null} ["delete"] HttpRule delete
+ * @property {string|null} [patch] HttpRule patch
+ * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom
+ * @property {string|null} [body] HttpRule body
+ * @property {string|null} [responseBody] HttpRule responseBody
+ * @property {Array.|null} [additionalBindings] HttpRule additionalBindings
+ */
+
+ /**
+ * Constructs a new HttpRule.
+ * @memberof google.api
+ * @classdesc Represents a HttpRule.
+ * @implements IHttpRule
+ * @constructor
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ */
+ function HttpRule(properties) {
+ this.additionalBindings = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * HttpRule selector.
+ * @member {string} selector
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.selector = "";
+
+ /**
+ * HttpRule get.
+ * @member {string|null|undefined} get
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.get = null;
+
+ /**
+ * HttpRule put.
+ * @member {string|null|undefined} put
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.put = null;
+
+ /**
+ * HttpRule post.
+ * @member {string|null|undefined} post
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.post = null;
+
+ /**
+ * HttpRule delete.
+ * @member {string|null|undefined} delete
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype["delete"] = null;
+
+ /**
+ * HttpRule patch.
+ * @member {string|null|undefined} patch
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.patch = null;
+
+ /**
+ * HttpRule custom.
+ * @member {google.api.ICustomHttpPattern|null|undefined} custom
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.custom = null;
+
+ /**
+ * HttpRule body.
+ * @member {string} body
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.body = "";
+
+ /**
+ * HttpRule responseBody.
+ * @member {string} responseBody
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.responseBody = "";
+
+ /**
+ * HttpRule additionalBindings.
+ * @member {Array.} additionalBindings
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ HttpRule.prototype.additionalBindings = $util.emptyArray;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * HttpRule pattern.
+ * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern
+ * @memberof google.api.HttpRule
+ * @instance
+ */
+ Object.defineProperty(HttpRule.prototype, "pattern", {
+ get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @function create
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule=} [properties] Properties to set
+ * @returns {google.api.HttpRule} HttpRule instance
+ */
+ HttpRule.create = function create(properties) {
+ return new HttpRule(properties);
+ };
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.selector != null && Object.hasOwnProperty.call(message, "selector"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector);
+ if (message.get != null && Object.hasOwnProperty.call(message, "get"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.get);
+ if (message.put != null && Object.hasOwnProperty.call(message, "put"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.put);
+ if (message.post != null && Object.hasOwnProperty.call(message, "post"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.post);
+ if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]);
+ if (message.patch != null && Object.hasOwnProperty.call(message, "patch"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch);
+ if (message.body != null && Object.hasOwnProperty.call(message, "body"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.body);
+ if (message.custom != null && Object.hasOwnProperty.call(message, "custom"))
+ $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.additionalBindings != null && message.additionalBindings.length)
+ for (var i = 0; i < message.additionalBindings.length; ++i)
+ $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.IHttpRule} message HttpRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ HttpRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.selector = reader.string();
+ break;
+ }
+ case 2: {
+ message.get = reader.string();
+ break;
+ }
+ case 3: {
+ message.put = reader.string();
+ break;
+ }
+ case 4: {
+ message.post = reader.string();
+ break;
+ }
+ case 5: {
+ message["delete"] = reader.string();
+ break;
+ }
+ case 6: {
+ message.patch = reader.string();
+ break;
+ }
+ case 8: {
+ message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.body = reader.string();
+ break;
+ }
+ case 12: {
+ message.responseBody = reader.string();
+ break;
+ }
+ case 11: {
+ if (!(message.additionalBindings && message.additionalBindings.length))
+ message.additionalBindings = [];
+ message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.HttpRule} HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ HttpRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a HttpRule message.
+ * @function verify
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ HttpRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ if (!$util.isString(message.selector))
+ return "selector: string expected";
+ if (message.get != null && message.hasOwnProperty("get")) {
+ properties.pattern = 1;
+ if (!$util.isString(message.get))
+ return "get: string expected";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.put))
+ return "put: string expected";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.post))
+ return "post: string expected";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message["delete"]))
+ return "delete: string expected";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ if (!$util.isString(message.patch))
+ return "patch: string expected";
+ }
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ if (properties.pattern === 1)
+ return "pattern: multiple values";
+ properties.pattern = 1;
+ {
+ var error = $root.google.api.CustomHttpPattern.verify(message.custom);
+ if (error)
+ return "custom." + error;
+ }
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ if (!$util.isString(message.body))
+ return "body: string expected";
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ if (!$util.isString(message.responseBody))
+ return "responseBody: string expected";
+ if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) {
+ if (!Array.isArray(message.additionalBindings))
+ return "additionalBindings: array expected";
+ for (var i = 0; i < message.additionalBindings.length; ++i) {
+ var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]);
+ if (error)
+ return "additionalBindings." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.HttpRule} HttpRule
+ */
+ HttpRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.HttpRule)
+ return object;
+ var message = new $root.google.api.HttpRule();
+ if (object.selector != null)
+ message.selector = String(object.selector);
+ if (object.get != null)
+ message.get = String(object.get);
+ if (object.put != null)
+ message.put = String(object.put);
+ if (object.post != null)
+ message.post = String(object.post);
+ if (object["delete"] != null)
+ message["delete"] = String(object["delete"]);
+ if (object.patch != null)
+ message.patch = String(object.patch);
+ if (object.custom != null) {
+ if (typeof object.custom !== "object")
+ throw TypeError(".google.api.HttpRule.custom: object expected");
+ message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom);
+ }
+ if (object.body != null)
+ message.body = String(object.body);
+ if (object.responseBody != null)
+ message.responseBody = String(object.responseBody);
+ if (object.additionalBindings) {
+ if (!Array.isArray(object.additionalBindings))
+ throw TypeError(".google.api.HttpRule.additionalBindings: array expected");
+ message.additionalBindings = [];
+ for (var i = 0; i < object.additionalBindings.length; ++i) {
+ if (typeof object.additionalBindings[i] !== "object")
+ throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
+ message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {google.api.HttpRule} message HttpRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ HttpRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.additionalBindings = [];
+ if (options.defaults) {
+ object.selector = "";
+ object.body = "";
+ object.responseBody = "";
+ }
+ if (message.selector != null && message.hasOwnProperty("selector"))
+ object.selector = message.selector;
+ if (message.get != null && message.hasOwnProperty("get")) {
+ object.get = message.get;
+ if (options.oneofs)
+ object.pattern = "get";
+ }
+ if (message.put != null && message.hasOwnProperty("put")) {
+ object.put = message.put;
+ if (options.oneofs)
+ object.pattern = "put";
+ }
+ if (message.post != null && message.hasOwnProperty("post")) {
+ object.post = message.post;
+ if (options.oneofs)
+ object.pattern = "post";
+ }
+ if (message["delete"] != null && message.hasOwnProperty("delete")) {
+ object["delete"] = message["delete"];
+ if (options.oneofs)
+ object.pattern = "delete";
+ }
+ if (message.patch != null && message.hasOwnProperty("patch")) {
+ object.patch = message.patch;
+ if (options.oneofs)
+ object.pattern = "patch";
+ }
+ if (message.body != null && message.hasOwnProperty("body"))
+ object.body = message.body;
+ if (message.custom != null && message.hasOwnProperty("custom")) {
+ object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options);
+ if (options.oneofs)
+ object.pattern = "custom";
+ }
+ if (message.additionalBindings && message.additionalBindings.length) {
+ object.additionalBindings = [];
+ for (var j = 0; j < message.additionalBindings.length; ++j)
+ object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options);
+ }
+ if (message.responseBody != null && message.hasOwnProperty("responseBody"))
+ object.responseBody = message.responseBody;
+ return object;
+ };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @function toJSON
+ * @memberof google.api.HttpRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ HttpRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @function getTypeUrl
+ * @memberof google.api.HttpRule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.HttpRule";
+ };
+
+ return HttpRule;
+ })();
+
+ api.CustomHttpPattern = (function() {
+
+ /**
+ * Properties of a CustomHttpPattern.
+ * @memberof google.api
+ * @interface ICustomHttpPattern
+ * @property {string|null} [kind] CustomHttpPattern kind
+ * @property {string|null} [path] CustomHttpPattern path
+ */
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @memberof google.api
+ * @classdesc Represents a CustomHttpPattern.
+ * @implements ICustomHttpPattern
+ * @constructor
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ */
+ function CustomHttpPattern(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CustomHttpPattern kind.
+ * @member {string} kind
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.kind = "";
+
+ /**
+ * CustomHttpPattern path.
+ * @member {string} path
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ */
+ CustomHttpPattern.prototype.path = "";
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @function create
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern=} [properties] Properties to set
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance
+ */
+ CustomHttpPattern.create = function create(properties) {
+ return new CustomHttpPattern(properties);
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.kind != null && Object.hasOwnProperty.call(message, "kind"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind);
+ if (message.path != null && Object.hasOwnProperty.call(message, "path"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.path);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.kind = reader.string();
+ break;
+ }
+ case 2: {
+ message.path = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @function verify
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CustomHttpPattern.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ if (!$util.isString(message.kind))
+ return "kind: string expected";
+ if (message.path != null && message.hasOwnProperty("path"))
+ if (!$util.isString(message.path))
+ return "path: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.api.CustomHttpPattern} CustomHttpPattern
+ */
+ CustomHttpPattern.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.api.CustomHttpPattern)
+ return object;
+ var message = new $root.google.api.CustomHttpPattern();
+ if (object.kind != null)
+ message.kind = String(object.kind);
+ if (object.path != null)
+ message.path = String(object.path);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {google.api.CustomHttpPattern} message CustomHttpPattern
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CustomHttpPattern.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.kind = "";
+ object.path = "";
+ }
+ if (message.kind != null && message.hasOwnProperty("kind"))
+ object.kind = message.kind;
+ if (message.path != null && message.hasOwnProperty("path"))
+ object.path = message.path;
+ return object;
+ };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @function toJSON
+ * @memberof google.api.CustomHttpPattern
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CustomHttpPattern.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @function getTypeUrl
+ * @memberof google.api.CustomHttpPattern
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.api.CustomHttpPattern";
+ };
+
+ return CustomHttpPattern;
+ })();
+
+ /**
+ * FieldBehavior enum.
+ * @name google.api.FieldBehavior
+ * @enum {number}
+ * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value
+ * @property {number} OPTIONAL=1 OPTIONAL value
+ * @property {number} REQUIRED=2 REQUIRED value
+ * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value
+ * @property {number} INPUT_ONLY=4 INPUT_ONLY value
+ * @property {number} IMMUTABLE=5 IMMUTABLE value
+ * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value
+ * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value
+ */
+ api.FieldBehavior = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "OPTIONAL"] = 1;
+ values[valuesById[2] = "REQUIRED"] = 2;
+ values[valuesById[3] = "OUTPUT_ONLY"] = 3;
+ values[valuesById[4] = "INPUT_ONLY"] = 4;
+ values[valuesById[5] = "IMMUTABLE"] = 5;
+ values[valuesById[6] = "UNORDERED_LIST"] = 6;
+ values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7;
+ return values;
+ })();
+
+ return api;
+ })();
+
+ google.protobuf = (function() {
+
+ /**
+ * Namespace protobuf.
+ * @memberof google
+ * @namespace
+ */
+ var protobuf = {};
+
+ protobuf.FileDescriptorSet = (function() {
+
+ /**
+ * Properties of a FileDescriptorSet.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorSet
+ * @property {Array.|null} [file] FileDescriptorSet file
+ */
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorSet.
+ * @implements IFileDescriptorSet
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ */
+ function FileDescriptorSet(properties) {
+ this.file = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FileDescriptorSet file.
+ * @member {Array.} file
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ */
+ FileDescriptorSet.prototype.file = $util.emptyArray;
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance
+ */
+ FileDescriptorSet.create = function create(properties) {
+ return new FileDescriptorSet(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.file != null && message.file.length)
+ for (var i = 0; i < message.file.length; ++i)
+ $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.file && message.file.length))
+ message.file = [];
+ message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileDescriptorSet.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.file != null && message.hasOwnProperty("file")) {
+ if (!Array.isArray(message.file))
+ return "file: array expected";
+ for (var i = 0; i < message.file.length; ++i) {
+ var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]);
+ if (error)
+ return "file." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
+ */
+ FileDescriptorSet.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileDescriptorSet)
+ return object;
+ var message = new $root.google.protobuf.FileDescriptorSet();
+ if (object.file) {
+ if (!Array.isArray(object.file))
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected");
+ message.file = [];
+ for (var i = 0; i < object.file.length; ++i) {
+ if (typeof object.file[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
+ message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileDescriptorSet.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.file = [];
+ if (message.file && message.file.length) {
+ object.file = [];
+ for (var j = 0; j < message.file.length; ++j)
+ object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileDescriptorSet
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileDescriptorSet.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileDescriptorSet
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileDescriptorSet";
+ };
+
+ return FileDescriptorSet;
+ })();
+
+ protobuf.FileDescriptorProto = (function() {
+
+ /**
+ * Properties of a FileDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IFileDescriptorProto
+ * @property {string|null} [name] FileDescriptorProto name
+ * @property {string|null} ["package"] FileDescriptorProto package
+ * @property {Array.|null} [dependency] FileDescriptorProto dependency
+ * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency
+ * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency
+ * @property {Array.|null} [messageType] FileDescriptorProto messageType
+ * @property {Array.|null} [enumType] FileDescriptorProto enumType
+ * @property {Array.|null} [service] FileDescriptorProto service
+ * @property {Array.|null} [extension] FileDescriptorProto extension
+ * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options
+ * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo
+ * @property {string|null} [syntax] FileDescriptorProto syntax
+ * @property {string|null} [edition] FileDescriptorProto edition
+ */
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a FileDescriptorProto.
+ * @implements IFileDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ */
+ function FileDescriptorProto(properties) {
+ this.dependency = [];
+ this.publicDependency = [];
+ this.weakDependency = [];
+ this.messageType = [];
+ this.enumType = [];
+ this.service = [];
+ this.extension = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FileDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.name = "";
+
+ /**
+ * FileDescriptorProto package.
+ * @member {string} package
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype["package"] = "";
+
+ /**
+ * FileDescriptorProto dependency.
+ * @member {Array.} dependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.dependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto publicDependency.
+ * @member {Array.} publicDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.publicDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto weakDependency.
+ * @member {Array.} weakDependency
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.weakDependency = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto messageType.
+ * @member {Array.} messageType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.messageType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto enumType.
+ * @member {Array.} enumType
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.enumType = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto service.
+ * @member {Array.} service
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.service = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto extension.
+ * @member {Array.} extension
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.extension = $util.emptyArray;
+
+ /**
+ * FileDescriptorProto options.
+ * @member {google.protobuf.IFileOptions|null|undefined} options
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.options = null;
+
+ /**
+ * FileDescriptorProto sourceCodeInfo.
+ * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.sourceCodeInfo = null;
+
+ /**
+ * FileDescriptorProto syntax.
+ * @member {string} syntax
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.syntax = "";
+
+ /**
+ * FileDescriptorProto edition.
+ * @member {string} edition
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ */
+ FileDescriptorProto.prototype.edition = "";
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance
+ */
+ FileDescriptorProto.create = function create(properties) {
+ return new FileDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message["package"] != null && Object.hasOwnProperty.call(message, "package"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]);
+ if (message.dependency != null && message.dependency.length)
+ for (var i = 0; i < message.dependency.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]);
+ if (message.messageType != null && message.messageType.length)
+ for (var i = 0; i < message.messageType.length; ++i)
+ $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.enumType != null && message.enumType.length)
+ for (var i = 0; i < message.enumType.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.service != null && message.service.length)
+ for (var i = 0; i < message.service.length; ++i)
+ $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.extension != null && message.extension.length)
+ for (var i = 0; i < message.extension.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo"))
+ $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.publicDependency != null && message.publicDependency.length)
+ for (var i = 0; i < message.publicDependency.length; ++i)
+ writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]);
+ if (message.weakDependency != null && message.weakDependency.length)
+ for (var i = 0; i < message.weakDependency.length; ++i)
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]);
+ if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax);
+ if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.edition);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message["package"] = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.dependency && message.dependency.length))
+ message.dependency = [];
+ message.dependency.push(reader.string());
+ break;
+ }
+ case 10: {
+ if (!(message.publicDependency && message.publicDependency.length))
+ message.publicDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.publicDependency.push(reader.int32());
+ } else
+ message.publicDependency.push(reader.int32());
+ break;
+ }
+ case 11: {
+ if (!(message.weakDependency && message.weakDependency.length))
+ message.weakDependency = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.weakDependency.push(reader.int32());
+ } else
+ message.weakDependency.push(reader.int32());
+ break;
+ }
+ case 4: {
+ if (!(message.messageType && message.messageType.length))
+ message.messageType = [];
+ message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.enumType && message.enumType.length))
+ message.enumType = [];
+ message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.service && message.service.length))
+ message.service = [];
+ message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ if (!(message.extension && message.extension.length))
+ message.extension = [];
+ message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.syntax = reader.string();
+ break;
+ }
+ case 13: {
+ message.edition = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FileDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message["package"] != null && message.hasOwnProperty("package"))
+ if (!$util.isString(message["package"]))
+ return "package: string expected";
+ if (message.dependency != null && message.hasOwnProperty("dependency")) {
+ if (!Array.isArray(message.dependency))
+ return "dependency: array expected";
+ for (var i = 0; i < message.dependency.length; ++i)
+ if (!$util.isString(message.dependency[i]))
+ return "dependency: string[] expected";
+ }
+ if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) {
+ if (!Array.isArray(message.publicDependency))
+ return "publicDependency: array expected";
+ for (var i = 0; i < message.publicDependency.length; ++i)
+ if (!$util.isInteger(message.publicDependency[i]))
+ return "publicDependency: integer[] expected";
+ }
+ if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) {
+ if (!Array.isArray(message.weakDependency))
+ return "weakDependency: array expected";
+ for (var i = 0; i < message.weakDependency.length; ++i)
+ if (!$util.isInteger(message.weakDependency[i]))
+ return "weakDependency: integer[] expected";
+ }
+ if (message.messageType != null && message.hasOwnProperty("messageType")) {
+ if (!Array.isArray(message.messageType))
+ return "messageType: array expected";
+ for (var i = 0; i < message.messageType.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]);
+ if (error)
+ return "messageType." + error;
+ }
+ }
+ if (message.enumType != null && message.hasOwnProperty("enumType")) {
+ if (!Array.isArray(message.enumType))
+ return "enumType: array expected";
+ for (var i = 0; i < message.enumType.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+ if (error)
+ return "enumType." + error;
+ }
+ }
+ if (message.service != null && message.hasOwnProperty("service")) {
+ if (!Array.isArray(message.service))
+ return "service: array expected";
+ for (var i = 0; i < message.service.length; ++i) {
+ var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]);
+ if (error)
+ return "service." + error;
+ }
+ }
+ if (message.extension != null && message.hasOwnProperty("extension")) {
+ if (!Array.isArray(message.extension))
+ return "extension: array expected";
+ for (var i = 0; i < message.extension.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+ if (error)
+ return "extension." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.FileOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) {
+ var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo);
+ if (error)
+ return "sourceCodeInfo." + error;
+ }
+ if (message.syntax != null && message.hasOwnProperty("syntax"))
+ if (!$util.isString(message.syntax))
+ return "syntax: string expected";
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ if (!$util.isString(message.edition))
+ return "edition: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
+ */
+ FileDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FileDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.FileDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object["package"] != null)
+ message["package"] = String(object["package"]);
+ if (object.dependency) {
+ if (!Array.isArray(object.dependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected");
+ message.dependency = [];
+ for (var i = 0; i < object.dependency.length; ++i)
+ message.dependency[i] = String(object.dependency[i]);
+ }
+ if (object.publicDependency) {
+ if (!Array.isArray(object.publicDependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected");
+ message.publicDependency = [];
+ for (var i = 0; i < object.publicDependency.length; ++i)
+ message.publicDependency[i] = object.publicDependency[i] | 0;
+ }
+ if (object.weakDependency) {
+ if (!Array.isArray(object.weakDependency))
+ throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected");
+ message.weakDependency = [];
+ for (var i = 0; i < object.weakDependency.length; ++i)
+ message.weakDependency[i] = object.weakDependency[i] | 0;
+ }
+ if (object.messageType) {
+ if (!Array.isArray(object.messageType))
+ throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
+ message.messageType = [];
+ for (var i = 0; i < object.messageType.length; ++i) {
+ if (typeof object.messageType[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
+ message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]);
+ }
+ }
+ if (object.enumType) {
+ if (!Array.isArray(object.enumType))
+ throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected");
+ message.enumType = [];
+ for (var i = 0; i < object.enumType.length; ++i) {
+ if (typeof object.enumType[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
+ message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+ }
+ }
+ if (object.service) {
+ if (!Array.isArray(object.service))
+ throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected");
+ message.service = [];
+ for (var i = 0; i < object.service.length; ++i) {
+ if (typeof object.service[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
+ message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]);
+ }
+ }
+ if (object.extension) {
+ if (!Array.isArray(object.extension))
+ throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected");
+ message.extension = [];
+ for (var i = 0; i < object.extension.length; ++i) {
+ if (typeof object.extension[i] !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
+ message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.FileOptions.fromObject(object.options);
+ }
+ if (object.sourceCodeInfo != null) {
+ if (typeof object.sourceCodeInfo !== "object")
+ throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
+ message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo);
+ }
+ if (object.syntax != null)
+ message.syntax = String(object.syntax);
+ if (object.edition != null)
+ message.edition = String(object.edition);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FileDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.dependency = [];
+ object.messageType = [];
+ object.enumType = [];
+ object.service = [];
+ object.extension = [];
+ object.publicDependency = [];
+ object.weakDependency = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object["package"] = "";
+ object.options = null;
+ object.sourceCodeInfo = null;
+ object.syntax = "";
+ object.edition = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message["package"] != null && message.hasOwnProperty("package"))
+ object["package"] = message["package"];
+ if (message.dependency && message.dependency.length) {
+ object.dependency = [];
+ for (var j = 0; j < message.dependency.length; ++j)
+ object.dependency[j] = message.dependency[j];
+ }
+ if (message.messageType && message.messageType.length) {
+ object.messageType = [];
+ for (var j = 0; j < message.messageType.length; ++j)
+ object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options);
+ }
+ if (message.enumType && message.enumType.length) {
+ object.enumType = [];
+ for (var j = 0; j < message.enumType.length; ++j)
+ object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
+ }
+ if (message.service && message.service.length) {
+ object.service = [];
+ for (var j = 0; j < message.service.length; ++j)
+ object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options);
+ }
+ if (message.extension && message.extension.length) {
+ object.extension = [];
+ for (var j = 0; j < message.extension.length; ++j)
+ object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.FileOptions.toObject(message.options, options);
+ if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo"))
+ object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options);
+ if (message.publicDependency && message.publicDependency.length) {
+ object.publicDependency = [];
+ for (var j = 0; j < message.publicDependency.length; ++j)
+ object.publicDependency[j] = message.publicDependency[j];
+ }
+ if (message.weakDependency && message.weakDependency.length) {
+ object.weakDependency = [];
+ for (var j = 0; j < message.weakDependency.length; ++j)
+ object.weakDependency[j] = message.weakDependency[j];
+ }
+ if (message.syntax != null && message.hasOwnProperty("syntax"))
+ object.syntax = message.syntax;
+ if (message.edition != null && message.hasOwnProperty("edition"))
+ object.edition = message.edition;
+ return object;
+ };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FileDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FileDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.FileDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FileDescriptorProto";
+ };
+
+ return FileDescriptorProto;
+ })();
+
+ protobuf.DescriptorProto = (function() {
+
+ /**
+ * Properties of a DescriptorProto.
+ * @memberof google.protobuf
+ * @interface IDescriptorProto
+ * @property {string|null} [name] DescriptorProto name
+ * @property {Array.|null} [field] DescriptorProto field
+ * @property {Array.|null} [extension] DescriptorProto extension
+ * @property {Array.|null} [nestedType] DescriptorProto nestedType
+ * @property {Array.|null} [enumType] DescriptorProto enumType
+ * @property {Array.|null} [extensionRange] DescriptorProto extensionRange
+ * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl
+ * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options
+ * @property {Array.|null} [reservedRange] DescriptorProto reservedRange
+ * @property {Array.|null} [reservedName] DescriptorProto reservedName
+ */
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a DescriptorProto.
+ * @implements IDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set
+ */
+ function DescriptorProto(properties) {
+ this.field = [];
+ this.extension = [];
+ this.nestedType = [];
+ this.enumType = [];
+ this.extensionRange = [];
+ this.oneofDecl = [];
+ this.reservedRange = [];
+ this.reservedName = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.name = "";
+
+ /**
+ * DescriptorProto field.
+ * @member {Array.} field
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.field = $util.emptyArray;
+
+ /**
+ * DescriptorProto extension.
+ * @member {Array.} extension
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.extension = $util.emptyArray;
+
+ /**
+ * DescriptorProto nestedType.
+ * @member {Array.} nestedType
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.nestedType = $util.emptyArray;
+
+ /**
+ * DescriptorProto enumType.
+ * @member {Array.} enumType
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.enumType = $util.emptyArray;
+
+ /**
+ * DescriptorProto extensionRange.
+ * @member {Array.} extensionRange
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.extensionRange = $util.emptyArray;
+
+ /**
+ * DescriptorProto oneofDecl.
+ * @member {Array.} oneofDecl
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.oneofDecl = $util.emptyArray;
+
+ /**
+ * DescriptorProto options.
+ * @member {google.protobuf.IMessageOptions|null|undefined} options
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.options = null;
+
+ /**
+ * DescriptorProto reservedRange.
+ * @member {Array.} reservedRange
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.reservedRange = $util.emptyArray;
+
+ /**
+ * DescriptorProto reservedName.
+ * @member {Array.} reservedName
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ */
+ DescriptorProto.prototype.reservedName = $util.emptyArray;
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto instance
+ */
+ DescriptorProto.create = function create(properties) {
+ return new DescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.field != null && message.field.length)
+ for (var i = 0; i < message.field.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.nestedType != null && message.nestedType.length)
+ for (var i = 0; i < message.nestedType.length; ++i)
+ $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.enumType != null && message.enumType.length)
+ for (var i = 0; i < message.enumType.length; ++i)
+ $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.extensionRange != null && message.extensionRange.length)
+ for (var i = 0; i < message.extensionRange.length; ++i)
+ $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.extension != null && message.extension.length)
+ for (var i = 0; i < message.extension.length; ++i)
+ $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.oneofDecl != null && message.oneofDecl.length)
+ for (var i = 0; i < message.oneofDecl.length; ++i)
+ $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.reservedRange != null && message.reservedRange.length)
+ for (var i = 0; i < message.reservedRange.length; ++i)
+ $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.reservedName != null && message.reservedName.length)
+ for (var i = 0; i < message.reservedName.length; ++i)
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.field && message.field.length))
+ message.field = [];
+ message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ if (!(message.extension && message.extension.length))
+ message.extension = [];
+ message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (!(message.nestedType && message.nestedType.length))
+ message.nestedType = [];
+ message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.enumType && message.enumType.length))
+ message.enumType = [];
+ message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.extensionRange && message.extensionRange.length))
+ message.extensionRange = [];
+ message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ if (!(message.oneofDecl && message.oneofDecl.length))
+ message.oneofDecl = [];
+ message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ if (!(message.reservedRange && message.reservedRange.length))
+ message.reservedRange = [];
+ message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32()));
+ break;
+ }
+ case 10: {
+ if (!(message.reservedName && message.reservedName.length))
+ message.reservedName = [];
+ message.reservedName.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.field != null && message.hasOwnProperty("field")) {
+ if (!Array.isArray(message.field))
+ return "field: array expected";
+ for (var i = 0; i < message.field.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]);
+ if (error)
+ return "field." + error;
+ }
+ }
+ if (message.extension != null && message.hasOwnProperty("extension")) {
+ if (!Array.isArray(message.extension))
+ return "extension: array expected";
+ for (var i = 0; i < message.extension.length; ++i) {
+ var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+ if (error)
+ return "extension." + error;
+ }
+ }
+ if (message.nestedType != null && message.hasOwnProperty("nestedType")) {
+ if (!Array.isArray(message.nestedType))
+ return "nestedType: array expected";
+ for (var i = 0; i < message.nestedType.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]);
+ if (error)
+ return "nestedType." + error;
+ }
+ }
+ if (message.enumType != null && message.hasOwnProperty("enumType")) {
+ if (!Array.isArray(message.enumType))
+ return "enumType: array expected";
+ for (var i = 0; i < message.enumType.length; ++i) {
+ var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+ if (error)
+ return "enumType." + error;
+ }
+ }
+ if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) {
+ if (!Array.isArray(message.extensionRange))
+ return "extensionRange: array expected";
+ for (var i = 0; i < message.extensionRange.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]);
+ if (error)
+ return "extensionRange." + error;
+ }
+ }
+ if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) {
+ if (!Array.isArray(message.oneofDecl))
+ return "oneofDecl: array expected";
+ for (var i = 0; i < message.oneofDecl.length; ++i) {
+ var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]);
+ if (error)
+ return "oneofDecl." + error;
+ }
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.MessageOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) {
+ if (!Array.isArray(message.reservedRange))
+ return "reservedRange: array expected";
+ for (var i = 0; i < message.reservedRange.length; ++i) {
+ var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]);
+ if (error)
+ return "reservedRange." + error;
+ }
+ }
+ if (message.reservedName != null && message.hasOwnProperty("reservedName")) {
+ if (!Array.isArray(message.reservedName))
+ return "reservedName: array expected";
+ for (var i = 0; i < message.reservedName.length; ++i)
+ if (!$util.isString(message.reservedName[i]))
+ return "reservedName: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto} DescriptorProto
+ */
+ DescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.field) {
+ if (!Array.isArray(object.field))
+ throw TypeError(".google.protobuf.DescriptorProto.field: array expected");
+ message.field = [];
+ for (var i = 0; i < object.field.length; ++i) {
+ if (typeof object.field[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
+ message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]);
+ }
+ }
+ if (object.extension) {
+ if (!Array.isArray(object.extension))
+ throw TypeError(".google.protobuf.DescriptorProto.extension: array expected");
+ message.extension = [];
+ for (var i = 0; i < object.extension.length; ++i) {
+ if (typeof object.extension[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
+ message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+ }
+ }
+ if (object.nestedType) {
+ if (!Array.isArray(object.nestedType))
+ throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected");
+ message.nestedType = [];
+ for (var i = 0; i < object.nestedType.length; ++i) {
+ if (typeof object.nestedType[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
+ message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]);
+ }
+ }
+ if (object.enumType) {
+ if (!Array.isArray(object.enumType))
+ throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected");
+ message.enumType = [];
+ for (var i = 0; i < object.enumType.length; ++i) {
+ if (typeof object.enumType[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
+ message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+ }
+ }
+ if (object.extensionRange) {
+ if (!Array.isArray(object.extensionRange))
+ throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected");
+ message.extensionRange = [];
+ for (var i = 0; i < object.extensionRange.length; ++i) {
+ if (typeof object.extensionRange[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
+ message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]);
+ }
+ }
+ if (object.oneofDecl) {
+ if (!Array.isArray(object.oneofDecl))
+ throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected");
+ message.oneofDecl = [];
+ for (var i = 0; i < object.oneofDecl.length; ++i) {
+ if (typeof object.oneofDecl[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
+ message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]);
+ }
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.MessageOptions.fromObject(object.options);
+ }
+ if (object.reservedRange) {
+ if (!Array.isArray(object.reservedRange))
+ throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected");
+ message.reservedRange = [];
+ for (var i = 0; i < object.reservedRange.length; ++i) {
+ if (typeof object.reservedRange[i] !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
+ message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]);
+ }
+ }
+ if (object.reservedName) {
+ if (!Array.isArray(object.reservedName))
+ throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected");
+ message.reservedName = [];
+ for (var i = 0; i < object.reservedName.length; ++i)
+ message.reservedName[i] = String(object.reservedName[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {google.protobuf.DescriptorProto} message DescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.field = [];
+ object.nestedType = [];
+ object.enumType = [];
+ object.extensionRange = [];
+ object.extension = [];
+ object.oneofDecl = [];
+ object.reservedRange = [];
+ object.reservedName = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.field && message.field.length) {
+ object.field = [];
+ for (var j = 0; j < message.field.length; ++j)
+ object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options);
+ }
+ if (message.nestedType && message.nestedType.length) {
+ object.nestedType = [];
+ for (var j = 0; j < message.nestedType.length; ++j)
+ object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options);
+ }
+ if (message.enumType && message.enumType.length) {
+ object.enumType = [];
+ for (var j = 0; j < message.enumType.length; ++j)
+ object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options);
+ }
+ if (message.extensionRange && message.extensionRange.length) {
+ object.extensionRange = [];
+ for (var j = 0; j < message.extensionRange.length; ++j)
+ object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options);
+ }
+ if (message.extension && message.extension.length) {
+ object.extension = [];
+ for (var j = 0; j < message.extension.length; ++j)
+ object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options);
+ }
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options);
+ if (message.oneofDecl && message.oneofDecl.length) {
+ object.oneofDecl = [];
+ for (var j = 0; j < message.oneofDecl.length; ++j)
+ object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options);
+ }
+ if (message.reservedRange && message.reservedRange.length) {
+ object.reservedRange = [];
+ for (var j = 0; j < message.reservedRange.length; ++j)
+ object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options);
+ }
+ if (message.reservedName && message.reservedName.length) {
+ object.reservedName = [];
+ for (var j = 0; j < message.reservedName.length; ++j)
+ object.reservedName[j] = message.reservedName[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto";
+ };
+
+ DescriptorProto.ExtensionRange = (function() {
+
+ /**
+ * Properties of an ExtensionRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @interface IExtensionRange
+ * @property {number|null} [start] ExtensionRange start
+ * @property {number|null} [end] ExtensionRange end
+ * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options
+ */
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @classdesc Represents an ExtensionRange.
+ * @implements IExtensionRange
+ * @constructor
+ * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set
+ */
+ function ExtensionRange(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExtensionRange start.
+ * @member {number} start
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.start = 0;
+
+ /**
+ * ExtensionRange end.
+ * @member {number} end
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.end = 0;
+
+ /**
+ * ExtensionRange options.
+ * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ */
+ ExtensionRange.prototype.options = null;
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance
+ */
+ ExtensionRange.create = function create(properties) {
+ return new ExtensionRange(properties);
+ };
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRange.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ case 3: {
+ message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExtensionRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
+ */
+ ExtensionRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
+ message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExtensionRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ object.options = null;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExtensionRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto.ExtensionRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange";
+ };
+
+ return ExtensionRange;
+ })();
+
+ DescriptorProto.ReservedRange = (function() {
+
+ /**
+ * Properties of a ReservedRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @interface IReservedRange
+ * @property {number|null} [start] ReservedRange start
+ * @property {number|null} [end] ReservedRange end
+ */
+
+ /**
+ * Constructs a new ReservedRange.
+ * @memberof google.protobuf.DescriptorProto
+ * @classdesc Represents a ReservedRange.
+ * @implements IReservedRange
+ * @constructor
+ * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set
+ */
+ function ReservedRange(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ReservedRange start.
+ * @member {number} start
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ */
+ ReservedRange.prototype.start = 0;
+
+ /**
+ * ReservedRange end.
+ * @member {number} end
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ */
+ ReservedRange.prototype.end = 0;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance
+ */
+ ReservedRange.create = function create(properties) {
+ return new ReservedRange(properties);
+ };
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReservedRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.start != null && Object.hasOwnProperty.call(message, "start"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start);
+ if (message.end != null && Object.hasOwnProperty.call(message, "end"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReservedRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReservedRange.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.start = reader.int32();
+ break;
+ }
+ case 2: {
+ message.end = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReservedRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReservedRange message.
+ * @function verify
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReservedRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.start != null && message.hasOwnProperty("start"))
+ if (!$util.isInteger(message.start))
+ return "start: integer expected";
+ if (message.end != null && message.hasOwnProperty("end"))
+ if (!$util.isInteger(message.end))
+ return "end: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
+ */
+ ReservedRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange)
+ return object;
+ var message = new $root.google.protobuf.DescriptorProto.ReservedRange();
+ if (object.start != null)
+ message.start = object.start | 0;
+ if (object.end != null)
+ message.end = object.end | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReservedRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.start = 0;
+ object.end = 0;
+ }
+ if (message.start != null && message.hasOwnProperty("start"))
+ object.start = message.start;
+ if (message.end != null && message.hasOwnProperty("end"))
+ object.end = message.end;
+ return object;
+ };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReservedRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @function getTypeUrl
+ * @memberof google.protobuf.DescriptorProto.ReservedRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange";
+ };
+
+ return ReservedRange;
+ })();
+
+ return DescriptorProto;
+ })();
+
+ protobuf.ExtensionRangeOptions = (function() {
+
+ /**
+ * Properties of an ExtensionRangeOptions.
+ * @memberof google.protobuf
+ * @interface IExtensionRangeOptions
+ * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption
+ */
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @memberof google.protobuf
+ * @classdesc Represents an ExtensionRangeOptions.
+ * @implements IExtensionRangeOptions
+ * @constructor
+ * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set
+ */
+ function ExtensionRangeOptions(properties) {
+ this.uninterpretedOption = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExtensionRangeOptions uninterpretedOption.
+ * @member {Array.} uninterpretedOption
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ */
+ ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray;
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance
+ */
+ ExtensionRangeOptions.create = function create(properties) {
+ return new ExtensionRangeOptions(properties);
+ };
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRangeOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uninterpretedOption != null && message.uninterpretedOption.length)
+ for (var i = 0; i < message.uninterpretedOption.length; ++i)
+ $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRangeOptions.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 999: {
+ if (!(message.uninterpretedOption && message.uninterpretedOption.length))
+ message.uninterpretedOption = [];
+ message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @function verify
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExtensionRangeOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
+ if (!Array.isArray(message.uninterpretedOption))
+ return "uninterpretedOption: array expected";
+ for (var i = 0; i < message.uninterpretedOption.length; ++i) {
+ var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+ if (error)
+ return "uninterpretedOption." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
+ */
+ ExtensionRangeOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.ExtensionRangeOptions)
+ return object;
+ var message = new $root.google.protobuf.ExtensionRangeOptions();
+ if (object.uninterpretedOption) {
+ if (!Array.isArray(object.uninterpretedOption))
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected");
+ message.uninterpretedOption = [];
+ for (var i = 0; i < object.uninterpretedOption.length; ++i) {
+ if (typeof object.uninterpretedOption[i] !== "object")
+ throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
+ message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExtensionRangeOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uninterpretedOption = [];
+ if (message.uninterpretedOption && message.uninterpretedOption.length) {
+ object.uninterpretedOption = [];
+ for (var j = 0; j < message.uninterpretedOption.length; ++j)
+ object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExtensionRangeOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @function getTypeUrl
+ * @memberof google.protobuf.ExtensionRangeOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions";
+ };
+
+ return ExtensionRangeOptions;
+ })();
+
+ protobuf.FieldDescriptorProto = (function() {
+
+ /**
+ * Properties of a FieldDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IFieldDescriptorProto
+ * @property {string|null} [name] FieldDescriptorProto name
+ * @property {number|null} [number] FieldDescriptorProto number
+ * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label
+ * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type
+ * @property {string|null} [typeName] FieldDescriptorProto typeName
+ * @property {string|null} [extendee] FieldDescriptorProto extendee
+ * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue
+ * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex
+ * @property {string|null} [jsonName] FieldDescriptorProto jsonName
+ * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options
+ * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional
+ */
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents a FieldDescriptorProto.
+ * @implements IFieldDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
+ */
+ function FieldDescriptorProto(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FieldDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.name = "";
+
+ /**
+ * FieldDescriptorProto number.
+ * @member {number} number
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.number = 0;
+
+ /**
+ * FieldDescriptorProto label.
+ * @member {google.protobuf.FieldDescriptorProto.Label} label
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.label = 1;
+
+ /**
+ * FieldDescriptorProto type.
+ * @member {google.protobuf.FieldDescriptorProto.Type} type
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.type = 1;
+
+ /**
+ * FieldDescriptorProto typeName.
+ * @member {string} typeName
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.typeName = "";
+
+ /**
+ * FieldDescriptorProto extendee.
+ * @member {string} extendee
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.extendee = "";
+
+ /**
+ * FieldDescriptorProto defaultValue.
+ * @member {string} defaultValue
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.defaultValue = "";
+
+ /**
+ * FieldDescriptorProto oneofIndex.
+ * @member {number} oneofIndex
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.oneofIndex = 0;
+
+ /**
+ * FieldDescriptorProto jsonName.
+ * @member {string} jsonName
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.jsonName = "";
+
+ /**
+ * FieldDescriptorProto options.
+ * @member {google.protobuf.IFieldOptions|null|undefined} options
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.options = null;
+
+ /**
+ * FieldDescriptorProto proto3Optional.
+ * @member {boolean} proto3Optional
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ */
+ FieldDescriptorProto.prototype.proto3Optional = false;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance
+ */
+ FieldDescriptorProto.create = function create(properties) {
+ return new FieldDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee);
+ if (message.number != null && Object.hasOwnProperty.call(message, "number"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number);
+ if (message.label != null && Object.hasOwnProperty.call(message, "label"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type);
+ if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName);
+ if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex"))
+ writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex);
+ if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName);
+ if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional"))
+ writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.number = reader.int32();
+ break;
+ }
+ case 4: {
+ message.label = reader.int32();
+ break;
+ }
+ case 5: {
+ message.type = reader.int32();
+ break;
+ }
+ case 6: {
+ message.typeName = reader.string();
+ break;
+ }
+ case 2: {
+ message.extendee = reader.string();
+ break;
+ }
+ case 7: {
+ message.defaultValue = reader.string();
+ break;
+ }
+ case 9: {
+ message.oneofIndex = reader.int32();
+ break;
+ }
+ case 10: {
+ message.jsonName = reader.string();
+ break;
+ }
+ case 8: {
+ message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 17: {
+ message.proto3Optional = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FieldDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.number != null && message.hasOwnProperty("number"))
+ if (!$util.isInteger(message.number))
+ return "number: integer expected";
+ if (message.label != null && message.hasOwnProperty("label"))
+ switch (message.label) {
+ default:
+ return "label: enum value expected";
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 17:
+ case 18:
+ break;
+ }
+ if (message.typeName != null && message.hasOwnProperty("typeName"))
+ if (!$util.isString(message.typeName))
+ return "typeName: string expected";
+ if (message.extendee != null && message.hasOwnProperty("extendee"))
+ if (!$util.isString(message.extendee))
+ return "extendee: string expected";
+ if (message.defaultValue != null && message.hasOwnProperty("defaultValue"))
+ if (!$util.isString(message.defaultValue))
+ return "defaultValue: string expected";
+ if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex"))
+ if (!$util.isInteger(message.oneofIndex))
+ return "oneofIndex: integer expected";
+ if (message.jsonName != null && message.hasOwnProperty("jsonName"))
+ if (!$util.isString(message.jsonName))
+ return "jsonName: string expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.FieldOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional"))
+ if (typeof message.proto3Optional !== "boolean")
+ return "proto3Optional: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
+ */
+ FieldDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.FieldDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.FieldDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.number != null)
+ message.number = object.number | 0;
+ switch (object.label) {
+ default:
+ if (typeof object.label === "number") {
+ message.label = object.label;
+ break;
+ }
+ break;
+ case "LABEL_OPTIONAL":
+ case 1:
+ message.label = 1;
+ break;
+ case "LABEL_REQUIRED":
+ case 2:
+ message.label = 2;
+ break;
+ case "LABEL_REPEATED":
+ case 3:
+ message.label = 3;
+ break;
+ }
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "TYPE_DOUBLE":
+ case 1:
+ message.type = 1;
+ break;
+ case "TYPE_FLOAT":
+ case 2:
+ message.type = 2;
+ break;
+ case "TYPE_INT64":
+ case 3:
+ message.type = 3;
+ break;
+ case "TYPE_UINT64":
+ case 4:
+ message.type = 4;
+ break;
+ case "TYPE_INT32":
+ case 5:
+ message.type = 5;
+ break;
+ case "TYPE_FIXED64":
+ case 6:
+ message.type = 6;
+ break;
+ case "TYPE_FIXED32":
+ case 7:
+ message.type = 7;
+ break;
+ case "TYPE_BOOL":
+ case 8:
+ message.type = 8;
+ break;
+ case "TYPE_STRING":
+ case 9:
+ message.type = 9;
+ break;
+ case "TYPE_GROUP":
+ case 10:
+ message.type = 10;
+ break;
+ case "TYPE_MESSAGE":
+ case 11:
+ message.type = 11;
+ break;
+ case "TYPE_BYTES":
+ case 12:
+ message.type = 12;
+ break;
+ case "TYPE_UINT32":
+ case 13:
+ message.type = 13;
+ break;
+ case "TYPE_ENUM":
+ case 14:
+ message.type = 14;
+ break;
+ case "TYPE_SFIXED32":
+ case 15:
+ message.type = 15;
+ break;
+ case "TYPE_SFIXED64":
+ case 16:
+ message.type = 16;
+ break;
+ case "TYPE_SINT32":
+ case 17:
+ message.type = 17;
+ break;
+ case "TYPE_SINT64":
+ case 18:
+ message.type = 18;
+ break;
+ }
+ if (object.typeName != null)
+ message.typeName = String(object.typeName);
+ if (object.extendee != null)
+ message.extendee = String(object.extendee);
+ if (object.defaultValue != null)
+ message.defaultValue = String(object.defaultValue);
+ if (object.oneofIndex != null)
+ message.oneofIndex = object.oneofIndex | 0;
+ if (object.jsonName != null)
+ message.jsonName = String(object.jsonName);
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.FieldOptions.fromObject(object.options);
+ }
+ if (object.proto3Optional != null)
+ message.proto3Optional = Boolean(object.proto3Optional);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FieldDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.extendee = "";
+ object.number = 0;
+ object.label = options.enums === String ? "LABEL_OPTIONAL" : 1;
+ object.type = options.enums === String ? "TYPE_DOUBLE" : 1;
+ object.typeName = "";
+ object.defaultValue = "";
+ object.options = null;
+ object.oneofIndex = 0;
+ object.jsonName = "";
+ object.proto3Optional = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.extendee != null && message.hasOwnProperty("extendee"))
+ object.extendee = message.extendee;
+ if (message.number != null && message.hasOwnProperty("number"))
+ object.number = message.number;
+ if (message.label != null && message.hasOwnProperty("label"))
+ object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type;
+ if (message.typeName != null && message.hasOwnProperty("typeName"))
+ object.typeName = message.typeName;
+ if (message.defaultValue != null && message.hasOwnProperty("defaultValue"))
+ object.defaultValue = message.defaultValue;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options);
+ if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex"))
+ object.oneofIndex = message.oneofIndex;
+ if (message.jsonName != null && message.hasOwnProperty("jsonName"))
+ object.jsonName = message.jsonName;
+ if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional"))
+ object.proto3Optional = message.proto3Optional;
+ return object;
+ };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FieldDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.FieldDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto";
+ };
+
+ /**
+ * Type enum.
+ * @name google.protobuf.FieldDescriptorProto.Type
+ * @enum {number}
+ * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value
+ * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value
+ * @property {number} TYPE_INT64=3 TYPE_INT64 value
+ * @property {number} TYPE_UINT64=4 TYPE_UINT64 value
+ * @property {number} TYPE_INT32=5 TYPE_INT32 value
+ * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value
+ * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value
+ * @property {number} TYPE_BOOL=8 TYPE_BOOL value
+ * @property {number} TYPE_STRING=9 TYPE_STRING value
+ * @property {number} TYPE_GROUP=10 TYPE_GROUP value
+ * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value
+ * @property {number} TYPE_BYTES=12 TYPE_BYTES value
+ * @property {number} TYPE_UINT32=13 TYPE_UINT32 value
+ * @property {number} TYPE_ENUM=14 TYPE_ENUM value
+ * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value
+ * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value
+ * @property {number} TYPE_SINT32=17 TYPE_SINT32 value
+ * @property {number} TYPE_SINT64=18 TYPE_SINT64 value
+ */
+ FieldDescriptorProto.Type = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[1] = "TYPE_DOUBLE"] = 1;
+ values[valuesById[2] = "TYPE_FLOAT"] = 2;
+ values[valuesById[3] = "TYPE_INT64"] = 3;
+ values[valuesById[4] = "TYPE_UINT64"] = 4;
+ values[valuesById[5] = "TYPE_INT32"] = 5;
+ values[valuesById[6] = "TYPE_FIXED64"] = 6;
+ values[valuesById[7] = "TYPE_FIXED32"] = 7;
+ values[valuesById[8] = "TYPE_BOOL"] = 8;
+ values[valuesById[9] = "TYPE_STRING"] = 9;
+ values[valuesById[10] = "TYPE_GROUP"] = 10;
+ values[valuesById[11] = "TYPE_MESSAGE"] = 11;
+ values[valuesById[12] = "TYPE_BYTES"] = 12;
+ values[valuesById[13] = "TYPE_UINT32"] = 13;
+ values[valuesById[14] = "TYPE_ENUM"] = 14;
+ values[valuesById[15] = "TYPE_SFIXED32"] = 15;
+ values[valuesById[16] = "TYPE_SFIXED64"] = 16;
+ values[valuesById[17] = "TYPE_SINT32"] = 17;
+ values[valuesById[18] = "TYPE_SINT64"] = 18;
+ return values;
+ })();
+
+ /**
+ * Label enum.
+ * @name google.protobuf.FieldDescriptorProto.Label
+ * @enum {number}
+ * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value
+ * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value
+ * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value
+ */
+ FieldDescriptorProto.Label = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[1] = "LABEL_OPTIONAL"] = 1;
+ values[valuesById[2] = "LABEL_REQUIRED"] = 2;
+ values[valuesById[3] = "LABEL_REPEATED"] = 3;
+ return values;
+ })();
+
+ return FieldDescriptorProto;
+ })();
+
+ protobuf.OneofDescriptorProto = (function() {
+
+ /**
+ * Properties of an OneofDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IOneofDescriptorProto
+ * @property {string|null} [name] OneofDescriptorProto name
+ * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options
+ */
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @memberof google.protobuf
+ * @classdesc Represents an OneofDescriptorProto.
+ * @implements IOneofDescriptorProto
+ * @constructor
+ * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set
+ */
+ function OneofDescriptorProto(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * OneofDescriptorProto name.
+ * @member {string} name
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ */
+ OneofDescriptorProto.prototype.name = "";
+
+ /**
+ * OneofDescriptorProto options.
+ * @member {google.protobuf.IOneofOptions|null|undefined} options
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ */
+ OneofDescriptorProto.prototype.options = null;
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @function create
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance
+ */
+ OneofDescriptorProto.create = function create(properties) {
+ return new OneofDescriptorProto(properties);
+ };
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @function encode
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofDescriptorProto.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofDescriptorProto.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @function verify
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OneofDescriptorProto.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.protobuf.OneofOptions.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
+ */
+ OneofDescriptorProto.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.protobuf.OneofDescriptorProto)
+ return object;
+ var message = new $root.google.protobuf.OneofDescriptorProto();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
+ message.options = $root.google.protobuf.OneofOptions.fromObject(object.options);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OneofDescriptorProto.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.options = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options);
+ return object;
+ };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @function toJSON
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OneofDescriptorProto.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @function getTypeUrl
+ * @memberof google.protobuf.OneofDescriptorProto
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto";
+ };
+
+ return OneofDescriptorProto;
+ })();
+
+ protobuf.EnumDescriptorProto = (function() {
+
+ /**
+ * Properties of an EnumDescriptorProto.
+ * @memberof google.protobuf
+ * @interface IEnumDescriptorProto
+ * @property {string|null} [name] EnumDescriptorProto name
+ * @property {Array.|null} [value] EnumDescriptorProto value
+ * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options
+ * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange
+ * @property {Array.