diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index c885e7aed90..55b99327f0e 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -8,6 +8,7 @@
"packages/google-cloud-beyondcorp-clientconnectorservices": "0.2.0",
"packages/google-cloud-beyondcorp-clientgateways": "0.2.0",
"packages/google-cloud-gkemulticloud": "0.1.1",
+ "packages/google-cloud-redis": "3.1.3",
"packages/google-cloud-security-publicca": "0.1.0",
"packages/google-devtools-artifactregistry": "2.0.0",
"packages/google-iam": "0.1.0",
diff --git a/packages/google-cloud-redis/.OwlBot.yaml b/packages/google-cloud-redis/.OwlBot.yaml
new file mode 100644
index 00000000000..e11e6f93e97
--- /dev/null
+++ b/packages/google-cloud-redis/.OwlBot.yaml
@@ -0,0 +1,24 @@
+# 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/redis/(v.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-redis/$1
+
+begin-after-commit-hash: fb91803ccef5d7c695139b22788b309e2197856b
+
diff --git a/packages/google-cloud-redis/.eslintignore b/packages/google-cloud-redis/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-redis/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-redis/.eslintrc.json b/packages/google-cloud-redis/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-redis/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-redis/.gitattributes b/packages/google-cloud-redis/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-redis/.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-redis/.gitignore b/packages/google-cloud-redis/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-redis/.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-redis/.jsdoc.js b/packages/google-cloud-redis/.jsdoc.js
new file mode 100644
index 00000000000..24897a56fd2
--- /dev/null
+++ b/packages/google-cloud-redis/.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/redis',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-redis/.mocharc.js b/packages/google-cloud-redis/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-redis/.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-redis/.nycrc b/packages/google-cloud-redis/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-redis/.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-redis/.prettierignore b/packages/google-cloud-redis/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-redis/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-redis/.prettierrc.js b/packages/google-cloud-redis/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-redis/.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-redis/.repo-metadata.json b/packages/google-cloud-redis/.repo-metadata.json
new file mode 100644
index 00000000000..a7a2c264abd
--- /dev/null
+++ b/packages/google-cloud-redis/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "api_id": "redis.googleapis.com",
+ "name": "redis",
+ "language": "nodejs",
+ "product_documentation": "https://cloud.google.com/memorystore/docs/redis/",
+ "distribution_name": "@google-cloud/redis",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/5169231",
+ "name_pretty": "Cloud Redis",
+ "default_version": "v1",
+ "release_level": "stable",
+ "repo": "googleapis/google-cloud-node",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/redis/latest",
+ "requires_billing": true,
+ "api_shortname": "redis",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-redis/CHANGELOG.md b/packages/google-cloud-redis/CHANGELOG.md
new file mode 100644
index 00000000000..c2794bcf495
--- /dev/null
+++ b/packages/google-cloud-redis/CHANGELOG.md
@@ -0,0 +1,459 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/nodejs-redis?activeTab=versions
+
+## [3.1.3](https://github.com/googleapis/nodejs-redis/compare/v3.1.2...v3.1.3) (2022-09-14)
+
+
+### Bug Fixes
+
+* Preserve default values in x-goog-request-params header ([#588](https://github.com/googleapis/nodejs-redis/issues/588)) ([9f7b15d](https://github.com/googleapis/nodejs-redis/commit/9f7b15dd3f937a4cd69247c3f27903778bd54e6c))
+
+## [3.1.2](https://github.com/googleapis/nodejs-redis/compare/v3.1.1...v3.1.2) (2022-09-01)
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#586](https://github.com/googleapis/nodejs-redis/issues/586)) ([c9cf55a](https://github.com/googleapis/nodejs-redis/commit/c9cf55a83a32d48d9f90e703ab298af76d37d6c6))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-redis/issues/1553)) ([#585](https://github.com/googleapis/nodejs-redis/issues/585)) ([05f7f56](https://github.com/googleapis/nodejs-redis/commit/05f7f56866b83b2f1f05d95c9353a8062beba00f))
+
+## [3.1.1](https://github.com/googleapis/nodejs-redis/compare/v3.1.0...v3.1.1) (2022-08-23)
+
+
+### Bug Fixes
+
+* better support for fallback mode ([#580](https://github.com/googleapis/nodejs-redis/issues/580)) ([823c63d](https://github.com/googleapis/nodejs-redis/commit/823c63d6b78fc77104ac78f3d7d2ee3ea31644ba))
+* change import long to require ([#582](https://github.com/googleapis/nodejs-redis/issues/582)) ([65ed662](https://github.com/googleapis/nodejs-redis/commit/65ed662dde7eef60d89b3b985f17d2eb5cf4ec9b))
+* remove pip install statements ([#1546](https://github.com/googleapis/nodejs-redis/issues/1546)) ([#584](https://github.com/googleapis/nodejs-redis/issues/584)) ([a124970](https://github.com/googleapis/nodejs-redis/commit/a124970f07a186a810db1c24c56f639385952abf))
+
+## [3.1.0](https://github.com/googleapis/nodejs-redis/compare/v3.0.0...v3.1.0) (2022-06-30)
+
+
+### Features
+
+* support regapic LRO ([#572](https://github.com/googleapis/nodejs-redis/issues/572)) ([5b30a33](https://github.com/googleapis/nodejs-redis/commit/5b30a33745a72257596f9a612dcd1c9db3263d03))
+
+## [3.0.0](https://github.com/googleapis/nodejs-redis/compare/v2.4.0...v3.0.0) (2022-05-17)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#567)
+
+### Features
+
+* [Cloud Memorystore for Redis] Support Maintenance Window ([13dc45b](https://github.com/googleapis/nodejs-redis/commit/13dc45b62d6a6a2934d8062619e135ab8b52d7ec))
+* Add automated RDB (AKA persistence) ([#544](https://github.com/googleapis/nodejs-redis/issues/544)) ([3fe6859](https://github.com/googleapis/nodejs-redis/commit/3fe68596d177436d56f626757536cc63dc045ea7))
+* add secondary_ip_range field ([13dc45b](https://github.com/googleapis/nodejs-redis/commit/13dc45b62d6a6a2934d8062619e135ab8b52d7ec))
+* add secondary_ip_range field ([#549](https://github.com/googleapis/nodejs-redis/issues/549)) ([c454a54](https://github.com/googleapis/nodejs-redis/commit/c454a542480628c655b1fcfcab52b8f9457cdcb4))
+* add support for AUTH functionality ([13dc45b](https://github.com/googleapis/nodejs-redis/commit/13dc45b62d6a6a2934d8062619e135ab8b52d7ec))
+* add support for TLS functionality ([13dc45b](https://github.com/googleapis/nodejs-redis/commit/13dc45b62d6a6a2934d8062619e135ab8b52d7ec))
+
+
+### Build System
+
+* update library to use Node 12 ([#567](https://github.com/googleapis/nodejs-redis/issues/567)) ([c75ad13](https://github.com/googleapis/nodejs-redis/commit/c75ad1301968cbe59fad267bebed6610ddf07657))
+
+## [2.4.0](https://www.github.com/googleapis/nodejs-redis/compare/v2.3.1...v2.4.0) (2021-11-10)
+
+
+### Features
+
+* [Cloud Memorystore for Redis] Support Multiple Read Replicas when creating Instance ([#526](https://www.github.com/googleapis/nodejs-redis/issues/526)) ([ea43df2](https://www.github.com/googleapis/nodejs-redis/commit/ea43df28f39b1943f0c9aea97df51252f4cc2a9f))
+
+### [2.3.1](https://www.github.com/googleapis/nodejs-redis/compare/v2.3.0...v2.3.1) (2021-09-09)
+
+
+### Bug Fixes
+
+* **build:** switch primary branch to main ([#514](https://www.github.com/googleapis/nodejs-redis/issues/514)) ([9882c5d](https://www.github.com/googleapis/nodejs-redis/commit/9882c5d3f6684cd4b2b049b61a7a38dbc995f90e))
+
+## [2.3.0](https://www.github.com/googleapis/nodejs-redis/compare/v2.2.6...v2.3.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#510](https://www.github.com/googleapis/nodejs-redis/issues/510)) ([df8af50](https://www.github.com/googleapis/nodejs-redis/commit/df8af509805c4a5d977448d1d6a034c5cbbc79f7))
+
+### [2.2.6](https://www.github.com/googleapis/nodejs-redis/compare/v2.2.5...v2.2.6) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#508](https://www.github.com/googleapis/nodejs-redis/issues/508)) ([2c88da1](https://www.github.com/googleapis/nodejs-redis/commit/2c88da16c589834d3ffc0b97e9eedb9b7693125b))
+
+### [2.2.5](https://www.github.com/googleapis/nodejs-redis/compare/v2.2.4...v2.2.5) (2021-07-21)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#500](https://www.github.com/googleapis/nodejs-redis/issues/500)) ([e19ae5a](https://www.github.com/googleapis/nodejs-redis/commit/e19ae5a3371fba34b0a59f769609e64582e00da4))
+
+### [2.2.4](https://www.github.com/googleapis/nodejs-redis/compare/v2.2.3...v2.2.4) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#496](https://www.github.com/googleapis/nodejs-redis/issues/496)) ([479b07a](https://www.github.com/googleapis/nodejs-redis/commit/479b07aa9bbbbc154a54999706b0699e90e1fe9c))
+* **deps:** google-gax v2.17.1 ([#499](https://www.github.com/googleapis/nodejs-redis/issues/499)) ([61d5d83](https://www.github.com/googleapis/nodejs-redis/commit/61d5d8348ba0403147af65975386325273f974eb))
+
+### [2.2.3](https://www.github.com/googleapis/nodejs-redis/compare/v2.2.2...v2.2.3) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#490](https://www.github.com/googleapis/nodejs-redis/issues/490)) ([c69e88a](https://www.github.com/googleapis/nodejs-redis/commit/c69e88a51d11c9e0eb66f2e8c0fcd26d1e0ae89a))
+
+### [2.2.2](https://www.github.com/googleapis/nodejs-redis/compare/v2.2.1...v2.2.2) (2021-05-29)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#481](https://www.github.com/googleapis/nodejs-redis/issues/481)) ([165e87d](https://www.github.com/googleapis/nodejs-redis/commit/165e87d5f5ed15bac43f3e74dc6af910dd511ab6))
+
+### [2.2.1](https://www.github.com/googleapis/nodejs-redis/compare/v2.2.0...v2.2.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#472](https://www.github.com/googleapis/nodejs-redis/issues/472)) ([799a3bf](https://www.github.com/googleapis/nodejs-redis/commit/799a3bfce47352f686110faadf7a8ce5289509a4))
+* use require() to load JSON protos ([#475](https://www.github.com/googleapis/nodejs-redis/issues/475)) ([8bb086f](https://www.github.com/googleapis/nodejs-redis/commit/8bb086f423dbcc9ab05e389f71b4ed7451f2e605))
+
+## [2.2.0](https://www.github.com/googleapis/nodejs-redis/compare/v2.1.2...v2.2.0) (2021-01-09)
+
+
+### Features
+
+* introduces style enumeration ([#456](https://www.github.com/googleapis/nodejs-redis/issues/456)) ([e437847](https://www.github.com/googleapis/nodejs-redis/commit/e43784757f0682a1eefb58b8920a229e757dc017))
+
+### [2.1.2](https://www.github.com/googleapis/nodejs-redis/compare/v2.1.1...v2.1.2) (2020-11-25)
+
+
+### Bug Fixes
+
+* **browser:** check for fetch on window ([e37bbaf](https://www.github.com/googleapis/nodejs-redis/commit/e37bbaf378de803390ad86dfe038c55b28cdd5ed))
+* do not modify options object, use defaultScopes ([#447](https://www.github.com/googleapis/nodejs-redis/issues/447)) ([7813bb1](https://www.github.com/googleapis/nodejs-redis/commit/7813bb10e01b18de8fb390f2d0fcdb22a728002b))
+
+### [2.1.1](https://www.github.com/googleapis/nodejs-redis/compare/v2.1.0...v2.1.1) (2020-07-06)
+
+
+### Bug Fixes
+
+* update node issue template ([#403](https://www.github.com/googleapis/nodejs-redis/issues/403)) ([23a3f78](https://www.github.com/googleapis/nodejs-redis/commit/23a3f7843dd2700746621c8341b579ef8481bd79))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-redis/compare/v2.0.0...v2.1.0) (2020-06-12)
+
+
+### Features
+
+* **secrets:** begin migration to secret manager from keystore ([#399](https://www.github.com/googleapis/nodejs-redis/issues/399)) ([55a1e13](https://www.github.com/googleapis/nodejs-redis/commit/55a1e1375a27aa016fcdbe8b7b32ada072f4927a))
+
+
+### Bug Fixes
+
+* handle fallback option properly ([#402](https://www.github.com/googleapis/nodejs-redis/issues/402)) ([65eded7](https://www.github.com/googleapis/nodejs-redis/commit/65eded7aea3b857a84ace8c6394e66b345440a27))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-redis/compare/v1.6.0...v2.0.0) (2020-05-08)
+
+
+### ⚠ BREAKING CHANGES
+
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+
+### Features
+
+* check status of long running operation by its name ([#390](https://www.github.com/googleapis/nodejs-redis/issues/390)) ([00ab9db](https://www.github.com/googleapis/nodejs-redis/commit/00ab9db418b076a9ab557f0008747ee5ecbc5636))
+* deferred client initialization ([#285](https://www.github.com/googleapis/nodejs-redis/issues/285)) ([78a25a0](https://www.github.com/googleapis/nodejs-redis/commit/78a25a089b76f7205b637805d423ced0b9c9aa6d))
+* drop node8 support, support for async iterators ([#298](https://www.github.com/googleapis/nodejs-redis/issues/298)) ([ed069a4](https://www.github.com/googleapis/nodejs-redis/commit/ed069a4e666a8bfc93f1a4782840d348566541db))
+* export protos in src/index.ts ([47a7020](https://www.github.com/googleapis/nodejs-redis/commit/47a70200b1d5d9bf584c70e275c0adc2c3739802))
+
+
+### Bug Fixes
+
+* remove eslint, update gax, fix generated protos, run the generator ([#376](https://www.github.com/googleapis/nodejs-redis/issues/376)) ([c408da0](https://www.github.com/googleapis/nodejs-redis/commit/c408da00aa8229675038abab6d00e440b2f1fb7e))
+* synth.py clean up for multiple version ([#392](https://www.github.com/googleapis/nodejs-redis/issues/392)) ([1d0e304](https://www.github.com/googleapis/nodejs-redis/commit/1d0e304c9800c8ae5af75d9c6284d57a163fe25d))
+
+## [1.6.0](https://www.github.com/googleapis/nodejs-redis/compare/v1.5.1...v1.6.0) (2020-02-10)
+
+
+### Features
+
+* upgradeInstance added in v1beta1; pass x-goog-request-params header for streaming calls ([6c617fe](https://www.github.com/googleapis/nodejs-redis/commit/6c617fe2bf5c8807be010c664adb45024db94b72))
+
+### [1.5.1](https://www.github.com/googleapis/nodejs-redis/compare/v1.5.0...v1.5.1) (2020-02-04)
+
+
+### Bug Fixes
+
+* enum, bytes, and Long types now accept strings ([9a4af3e](https://www.github.com/googleapis/nodejs-redis/commit/9a4af3e30b531c6af0bb2f2dae1c92fb19b3b2ba))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-redis/compare/v1.4.2...v1.5.0) (2020-01-27)
+
+
+### Features
+
+* bump release level to ga ([#259](https://www.github.com/googleapis/nodejs-redis/issues/259)) ([cb15654](https://www.github.com/googleapis/nodejs-redis/commit/cb156541c019bfc4aff0b15e9b4fcf20cdb1987c))
+
+### [1.4.2](https://www.github.com/googleapis/nodejs-redis/compare/v1.4.1...v1.4.2) (2020-01-05)
+
+
+### Bug Fixes
+
+* better client close(), update .nycrc, require mocha explicitly ([f7367eb](https://www.github.com/googleapis/nodejs-redis/commit/f7367eb9ce5db152c0b68e65aa81a1baab842d2b))
+* increase timeout from 20s to 60s ([#247](https://www.github.com/googleapis/nodejs-redis/issues/247)) ([bc939d9](https://www.github.com/googleapis/nodejs-redis/commit/bc939d9da53d9a13da0f382797ce11c8c77b4371))
+
+### [1.4.1](https://www.github.com/googleapis/nodejs-redis/compare/v1.4.0...v1.4.1) (2019-12-11)
+
+
+### Bug Fixes
+
+* **deps:** pin TypeScript below 3.7.0 ([362c159](https://www.github.com/googleapis/nodejs-redis/commit/362c159f9b713818442640414b07a67b3c5b80a0))
+* make operationsClient and service stub public ([60b8213](https://www.github.com/googleapis/nodejs-redis/commit/60b821381d8a916bad4d4c6b2aea2b52ace859b8))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-redis/compare/v1.3.2...v1.4.0) (2019-11-22)
+
+In this release this library has been converted to TypeScript. This change is supposed to be compatible
+with the previous versions, but if you find that your code is broken by this change, please file an
+issue!
+
+### Features
+
+* add plural/singular resource descriptor ([d6c7f4d](https://www.github.com/googleapis/nodejs-redis/commit/d6c7f4debb839be0245f55b6fe4c81a847228eb9))
+* convert to TypeScript ([#236](https://www.github.com/googleapis/nodejs-redis/issues/236)) ([6bcdf55](https://www.github.com/googleapis/nodejs-redis/commit/6bcdf55da38093009dba8f4dfc8a5a3eaacb5f3d))
+
+### [1.3.2](https://www.github.com/googleapis/nodejs-redis/compare/v1.3.1...v1.3.2) (2019-11-15)
+
+
+### Bug Fixes
+
+* import long into proto ts declaration file ([#227](https://www.github.com/googleapis/nodejs-redis/issues/227)) ([976c740](https://www.github.com/googleapis/nodejs-redis/commit/976c740bcd43019f01f6b0c1c6c0df64b6c7a090))
+* **docs:** bump release level to beta ([86d6486](https://www.github.com/googleapis/nodejs-redis/commit/86d6486b8f598105748f01157a22eb24f1b87fca))
+* **docs:** snippets are now replaced in jsdoc comments ([#226](https://www.github.com/googleapis/nodejs-redis/issues/226)) ([57cd10e](https://www.github.com/googleapis/nodejs-redis/commit/57cd10e8de25650bb077ef1c5b320d0309e0569e))
+
+### [1.3.1](https://www.github.com/googleapis/nodejs-redis/compare/v1.3.0...v1.3.1) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#218](https://www.github.com/googleapis/nodejs-redis/issues/218)) ([6573f6b](https://www.github.com/googleapis/nodejs-redis/commit/6573f6b8ceed5bebfb595074cbc5af653bd0060e))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-redis/compare/v1.2.0...v1.3.0) (2019-10-09)
+
+
+### Bug Fixes
+
+* re-order create and update instance methods ([#217](https://www.github.com/googleapis/nodejs-redis/issues/217)) ([87bc51e](https://www.github.com/googleapis/nodejs-redis/commit/87bc51e))
+* use compatible version of google-gax ([1ce0eab](https://www.github.com/googleapis/nodejs-redis/commit/1ce0eab))
+
+
+### Features
+
+* .d.ts for protos ([#208](https://www.github.com/googleapis/nodejs-redis/issues/208)) ([7305237](https://www.github.com/googleapis/nodejs-redis/commit/7305237))
+* support new field options ([#210](https://www.github.com/googleapis/nodejs-redis/issues/210)) ([b81babd](https://www.github.com/googleapis/nodejs-redis/commit/b81babd))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-redis/compare/v1.1.4...v1.2.0) (2019-09-16)
+
+
+### Bug Fixes
+
+* use process versions object for client header ([#198](https://www.github.com/googleapis/nodejs-redis/issues/198)) ([67a2649](https://www.github.com/googleapis/nodejs-redis/commit/67a2649))
+
+
+### Features
+
+* load protos from JSON, grpc-fallback support ([a93010d](https://www.github.com/googleapis/nodejs-redis/commit/a93010d))
+
+### [1.1.4](https://www.github.com/googleapis/nodejs-redis/compare/v1.1.3...v1.1.4) (2019-08-05)
+
+
+### Bug Fixes
+
+* allow calls with no request, add JSON proto ([5d3616b](https://www.github.com/googleapis/nodejs-redis/commit/5d3616b))
+
+### [1.1.3](https://www.github.com/googleapis/nodejs-redis/compare/v1.1.2...v1.1.3) (2019-06-26)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#188](https://www.github.com/googleapis/nodejs-redis/issues/188)) ([839e275](https://www.github.com/googleapis/nodejs-redis/commit/839e275))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-redis/compare/v1.1.1...v1.1.2) (2019-06-14)
+
+
+### Bug Fixes
+
+* **docs:** move to new client docs URL ([#184](https://www.github.com/googleapis/nodejs-redis/issues/184)) ([0ccd9d8](https://www.github.com/googleapis/nodejs-redis/commit/0ccd9d8))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-redis/compare/v1.1.0...v1.1.1) (2019-06-11)
+
+
+### Bug Fixes
+
+* correct require in sample code and move to googleapis.dev ([#182](https://www.github.com/googleapis/nodejs-redis/issues/182)) ([ec139c2](https://www.github.com/googleapis/nodejs-redis/commit/ec139c2))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-redis/compare/v1.0.0...v1.1.0) (2019-06-05)
+
+
+### Features
+
+* add .repo-metadata.json, quickstart, and generate README ([#177](https://www.github.com/googleapis/nodejs-redis/issues/177)) ([e7e7224](https://www.github.com/googleapis/nodejs-redis/commit/e7e7224))
+* support apiEndpoint override in client constructor ([261bcb3](https://www.github.com/googleapis/nodejs-redis/commit/261bcb3))
+* support apiEndpoint override in client constructor ([#180](https://www.github.com/googleapis/nodejs-redis/issues/180)) ([c2b30a0](https://www.github.com/googleapis/nodejs-redis/commit/c2b30a0))
+
+## [1.0.0](https://www.github.com/googleapis/nodejs-redis/compare/v0.4.0...v1.0.0) (2019-05-20)
+
+
+### ⚠ BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#154)
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to ^0.26.0 ([#153](https://www.github.com/googleapis/nodejs-redis/issues/153)) ([587ae91](https://www.github.com/googleapis/nodejs-redis/commit/587ae91))
+* DEADLINE_EXCEEDED error is no longer retried ([2ff07c7](https://www.github.com/googleapis/nodejs-redis/commit/2ff07c7))
+* DEADLINE_EXCEEDED retry code is idempotent ([#164](https://www.github.com/googleapis/nodejs-redis/issues/164)) ([0658433](https://www.github.com/googleapis/nodejs-redis/commit/0658433))
+* **deps:** update dependency google-gax to v1 ([#163](https://www.github.com/googleapis/nodejs-redis/issues/163)) ([0bf6004](https://www.github.com/googleapis/nodejs-redis/commit/0bf6004))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#154](https://www.github.com/googleapis/nodejs-redis/issues/154)) ([179c1fd](https://www.github.com/googleapis/nodejs-redis/commit/179c1fd))
+
+## v0.4.0
+
+04-05-2019 08:45 PDT
+
+### New Features
+- feat: add support for instance failover ([#147](https://github.com/googleapis/nodejs-redis/pull/147))
+
+### Bug Fixes
+- fix: include 'x-goog-request-params' header in requests ([#146](https://github.com/googleapis/nodejs-redis/pull/146))
+
+## v0.3.0
+
+03-22-2019 10:30 PDT
+
+**This release has breaking changes**. The latest version of the service removed `importInstance` and `exportInstance` methods from the library. This was made to accommodate breaking changes in the underlying API. Learn more at [#143](https://github.com/googleapis/nodejs-redis/pull/143).
+
+### Implementation Changes
+- refactor: update to the latest version of the protos (breaking change) ([#143](https://github.com/googleapis/nodejs-redis/pull/143))
+- feat: add import and export instance methods ([#132](https://github.com/googleapis/nodejs-redis/pull/132))
+
+### Bug Fixes
+- fix: throw on invalid credentials ([#128](https://github.com/googleapis/nodejs-redis/pull/128))
+
+### Documentation
+- docs: update examples
+- docs: update links in contrib guide ([#130](https://github.com/googleapis/nodejs-redis/pull/130))
+- docs: update contributing path in README ([#125](https://github.com/googleapis/nodejs-redis/pull/125))
+- docs: move CONTRIBUTING.md to root ([#124](https://github.com/googleapis/nodejs-redis/pull/124))
+- docs: add lint/fix example to contributing guide ([#122](https://github.com/googleapis/nodejs-redis/pull/122))
+- docs: fix example comments ([#121](https://github.com/googleapis/nodejs-redis/pull/121))
+
+### Internal / Testing Changes
+- chore: publish to npm using wombat ([#141](https://github.com/googleapis/nodejs-redis/pull/141))
+- build: use per-repo npm publish token ([#140](https://github.com/googleapis/nodejs-redis/pull/140))
+- build: Add docuploader credentials to node publish jobs ([#136](https://github.com/googleapis/nodejs-redis/pull/136))
+- build: use node10 to run samples-test, system-test etc ([#135](https://github.com/googleapis/nodejs-redis/pull/135))
+- build: update release configuration
+- chore: update proto code style
+- chore(deps): update dependency mocha to v6
+- build: use linkinator for docs test ([#129](https://github.com/googleapis/nodejs-redis/pull/129))
+- build: create docs test npm scripts ([#127](https://github.com/googleapis/nodejs-redis/pull/127))
+- build: test using @grpc/grpc-js in CI ([#126](https://github.com/googleapis/nodejs-redis/pull/126))
+- refactor: improve generated code style. ([#120](https://github.com/googleapis/nodejs-redis/pull/120))
+
+## v0.2.1
+
+01-31-2019 23:00 PST
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.25.0 ([#118](https://github.com/googleapis/nodejs-redis/pull/118))
+- fix(deps): update dependency google-gax to ^0.24.0 ([#116](https://github.com/googleapis/nodejs-redis/pull/116))
+- fix(deps): update dependency google-gax to ^0.23.0 ([#112](https://github.com/googleapis/nodejs-redis/pull/112))
+- fix(deps): update dependency google-gax to ^0.22.0 ([#86](https://github.com/googleapis/nodejs-redis/pull/86))
+- fix(deps): update dependency google-gax to ^0.20.0 ([#49](https://github.com/googleapis/nodejs-redis/pull/49))
+
+### Documentation
+- fix(docs): remove unused long running operation message types
+- docs: update readme badges ([#95](https://github.com/googleapis/nodejs-redis/pull/95))
+
+### Internal / Testing Changes
+- chore(deps): update dependency eslint-config-prettier to v4 ([#117](https://github.com/googleapis/nodejs-redis/pull/117))
+- build: ignore googleapis.com in doc link check ([#115](https://github.com/googleapis/nodejs-redis/pull/115))
+- chore: sync gapic files
+- build: check broken links in generated docs ([#110](https://github.com/googleapis/nodejs-redis/pull/110))
+- chore(build): inject yoshi automation key ([#108](https://github.com/googleapis/nodejs-redis/pull/108))
+- chore: update nyc and eslint configs ([#107](https://github.com/googleapis/nodejs-redis/pull/107))
+- chore: fix publish.sh permission +x ([#105](https://github.com/googleapis/nodejs-redis/pull/105))
+- fix(build): fix Kokoro release script ([#104](https://github.com/googleapis/nodejs-redis/pull/104))
+- build: add Kokoro configs for autorelease ([#103](https://github.com/googleapis/nodejs-redis/pull/103))
+- chore: always nyc report before calling codecov ([#100](https://github.com/googleapis/nodejs-redis/pull/100))
+- chore: nyc ignore build/test by default ([#99](https://github.com/googleapis/nodejs-redis/pull/99))
+- chore: update license file ([#97](https://github.com/googleapis/nodejs-redis/pull/97))
+- fix(build): fix system key decryption ([#93](https://github.com/googleapis/nodejs-redis/pull/93))
+- chore: add a synth.metadata
+- chore: update eslintignore config ([#85](https://github.com/googleapis/nodejs-redis/pull/85))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#84](https://github.com/googleapis/nodejs-redis/pull/84))
+- chore: drop contributors from multiple places ([#83](https://github.com/googleapis/nodejs-redis/pull/83))
+- refactor: trim a few deps ([#82](https://github.com/googleapis/nodejs-redis/pull/82))
+- chore: use latest npm on Windows ([#81](https://github.com/googleapis/nodejs-redis/pull/81))
+- chore(deps): update dependency through2 to v3 ([#80](https://github.com/googleapis/nodejs-redis/pull/80))
+- chore: update CircleCI config ([#79](https://github.com/googleapis/nodejs-redis/pull/79))
+- chore: include build in eslintignore ([#76](https://github.com/googleapis/nodejs-redis/pull/76))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#72](https://github.com/googleapis/nodejs-redis/pull/72))
+- chore: update issue templates ([#71](https://github.com/googleapis/nodejs-redis/pull/71))
+- chore: remove old issue template ([#69](https://github.com/googleapis/nodejs-redis/pull/69))
+- build: run tests on node11 ([#68](https://github.com/googleapis/nodejs-redis/pull/68))
+- chores(build): do not collect sponge.xml from windows builds ([#67](https://github.com/googleapis/nodejs-redis/pull/67))
+- chores(build): run codecov on continuous builds ([#66](https://github.com/googleapis/nodejs-redis/pull/66))
+- chore: update new issue template ([#65](https://github.com/googleapis/nodejs-redis/pull/65))
+- build: fix codecov uploading on Kokoro ([#62](https://github.com/googleapis/nodejs-redis/pull/62))
+- Update kokoro config ([#60](https://github.com/googleapis/nodejs-redis/pull/60))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#59](https://github.com/googleapis/nodejs-redis/pull/59))
+- Hide system/samples-test environment variables
+- Update the kokoro config ([#56](https://github.com/googleapis/nodejs-redis/pull/56))
+- test: remove appveyor config ([#55](https://github.com/googleapis/nodejs-redis/pull/55))
+- Update the CI config ([#54](https://github.com/googleapis/nodejs-redis/pull/54))
+- Enable prefer-const in the eslint config ([#53](https://github.com/googleapis/nodejs-redis/pull/53))
+- Enable no-var in eslint ([#51](https://github.com/googleapis/nodejs-redis/pull/51))
+- Switch to let/const ([#50](https://github.com/googleapis/nodejs-redis/pull/50))
+- test: throw on deprecation ([#29](https://github.com/googleapis/nodejs-redis/pull/29))
+
+## v0.2.0
+
+### New Features
+- feat: add v1 of the Redis API (#47)
+
+### Dependencies
+- Update all dependencies (#45)
+- chore(deps): update dependency nyc to v13 (#39)
+- fix(deps): update dependency google-gax to ^0.19.0 (#38)
+- chore(deps): update dependency eslint-config-prettier to v3 (#37)
+- fix(deps): update dependency google-gax to ^0.18.0 (#28)
+- chore(deps): update dependency eslint-plugin-node to v7 (#22)
+- chore(deps): update dependency nyc to v12 (#13)
+- chore(deps): update dependency eslint to v5 (#12)
+
+### Documentation
+- Update comments to provide better descriptions (#40)
+- fix: update linking for samples (#8)
+- Add link to docs now that they are published
+
+### Internal / Testing Changes
+- Retry npm install in CI (#42)
+- Add templating to synth and update CI config (#43)
+- Update CI config (#46)
+- chore: do not use npm ci (#36)
+- chore: ignore package-lock.json (#33)
+- chore: update renovate config (#30)
+- chore: move mocha options to mocha.opts (#26)
+- test: use strictEqual in tests (#23)
+- chore: cleanup CircleCI config (#17)
+- Configure Renovate (#7)
+- update gax and add synth.py (#11)
+- refactor: drop repo-tool as an exec wrapper (#10)
+- chore: the ultimate fix for repo-tools EPERM (#3)
+- chore: timeout for system test (#2)
diff --git a/packages/google-cloud-redis/CODE_OF_CONDUCT.md b/packages/google-cloud-redis/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-redis/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-redis/CONTRIBUTING.md b/packages/google-cloud-redis/CONTRIBUTING.md
new file mode 100644
index 00000000000..e62bb3b019e
--- /dev/null
+++ b/packages/google-cloud-redis/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 Redis 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=redis.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-redis/LICENSE b/packages/google-cloud-redis/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-redis/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-redis/README.md b/packages/google-cloud-redis/README.md
new file mode 100644
index 00000000000..c7c215e9522
--- /dev/null
+++ b/packages/google-cloud-redis/README.md
@@ -0,0 +1,179 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Cloud Redis: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-cloud/redis.svg)](https://www.npmjs.org/package/@google-cloud/redis)
+
+
+
+
+Google Cloud Memorystore for Redis API 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/blob/main/CHANGELOG.md).
+
+* [Cloud Redis Node.js Client API Reference][client-docs]
+* [Cloud Redis Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node](https://github.com/googleapis/google-cloud-node)
+
+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 Redis 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/redis
+```
+
+
+### Using the client library
+
+```javascript
+/**
+ * List instances in a given location.
+ * @param {string} project.
+ * @param {string} location, e.g., us-east-1.
+ */
+async function main(projectId, location) {
+ const {CloudRedisClient} = require('@google-cloud/redis');
+ const client = new CloudRedisClient();
+ const formattedParent = client.locationPath(projectId, location);
+ const request = {
+ parent: formattedParent,
+ };
+ const resp = (await client.listInstances(request))[0];
+ console.info(resp);
+}
+
+```
+
+
+
+## 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 |
+| --------------------------- | --------------------------------- | ------ |
+| Cloud_redis.create_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.create_instance.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-redis/samples/generated/v1/cloud_redis.create_instance.js,samples/README.md) |
+| Cloud_redis.delete_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.delete_instance.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-redis/samples/generated/v1/cloud_redis.delete_instance.js,samples/README.md) |
+| Cloud_redis.export_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.export_instance.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-redis/samples/generated/v1/cloud_redis.export_instance.js,samples/README.md) |
+| Cloud_redis.failover_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.failover_instance.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-redis/samples/generated/v1/cloud_redis.failover_instance.js,samples/README.md) |
+| Cloud_redis.get_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.get_instance.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-redis/samples/generated/v1/cloud_redis.get_instance.js,samples/README.md) |
+| Cloud_redis.get_instance_auth_string | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.get_instance_auth_string.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-redis/samples/generated/v1/cloud_redis.get_instance_auth_string.js,samples/README.md) |
+| Cloud_redis.import_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.import_instance.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-redis/samples/generated/v1/cloud_redis.import_instance.js,samples/README.md) |
+| Cloud_redis.list_instances | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.list_instances.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-redis/samples/generated/v1/cloud_redis.list_instances.js,samples/README.md) |
+| Cloud_redis.reschedule_maintenance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.reschedule_maintenance.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-redis/samples/generated/v1/cloud_redis.reschedule_maintenance.js,samples/README.md) |
+| Cloud_redis.update_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.update_instance.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-redis/samples/generated/v1/cloud_redis.update_instance.js,samples/README.md) |
+| Cloud_redis.upgrade_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1/cloud_redis.upgrade_instance.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-redis/samples/generated/v1/cloud_redis.upgrade_instance.js,samples/README.md) |
+| Cloud_redis.create_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.create_instance.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-redis/samples/generated/v1beta1/cloud_redis.create_instance.js,samples/README.md) |
+| Cloud_redis.delete_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.delete_instance.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-redis/samples/generated/v1beta1/cloud_redis.delete_instance.js,samples/README.md) |
+| Cloud_redis.export_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.export_instance.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-redis/samples/generated/v1beta1/cloud_redis.export_instance.js,samples/README.md) |
+| Cloud_redis.failover_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.failover_instance.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-redis/samples/generated/v1beta1/cloud_redis.failover_instance.js,samples/README.md) |
+| Cloud_redis.get_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.get_instance.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-redis/samples/generated/v1beta1/cloud_redis.get_instance.js,samples/README.md) |
+| Cloud_redis.get_instance_auth_string | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.get_instance_auth_string.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-redis/samples/generated/v1beta1/cloud_redis.get_instance_auth_string.js,samples/README.md) |
+| Cloud_redis.import_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.import_instance.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-redis/samples/generated/v1beta1/cloud_redis.import_instance.js,samples/README.md) |
+| Cloud_redis.list_instances | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.list_instances.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-redis/samples/generated/v1beta1/cloud_redis.list_instances.js,samples/README.md) |
+| Cloud_redis.reschedule_maintenance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.reschedule_maintenance.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-redis/samples/generated/v1beta1/cloud_redis.reschedule_maintenance.js,samples/README.md) |
+| Cloud_redis.update_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.update_instance.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-redis/samples/generated/v1beta1/cloud_redis.update_instance.js,samples/README.md) |
+| Cloud_redis.upgrade_instance | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/generated/v1beta1/cloud_redis.upgrade_instance.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-redis/samples/generated/v1beta1/cloud_redis.upgrade_instance.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/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-redis/samples/quickstart.js,samples/README.md) |
+| Redis | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-redis/samples/system-test/redis.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-redis/samples/system-test/redis.js,samples/README.md) |
+
+
+
+The [Cloud Redis 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/redis@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/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/redis/latest
+[product-docs]: https://cloud.google.com/memorystore/docs/redis/
+[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=redis.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-redis/linkinator.config.json b/packages/google-cloud-redis/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-redis/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-redis/owlbot.py b/packages/google-cloud-redis/owlbot.py
new file mode 100644
index 00000000000..740eb2a64b0
--- /dev/null
+++ b/packages/google-cloud-redis/owlbot.py
@@ -0,0 +1,29 @@
+# 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.
+
+import synthtool as s
+import synthtool.languages.node as node
+import pathlib
+
+
+def patch(library: pathlib.Path):
+ # fix for broken link in docs
+ s.replace(library / 'src/v*/*_client.ts', '/compute/docs/',
+ 'https://cloud.google.com/compute/docs/')
+
+
+node.owlbot_main(
+ staging_excludes=['package.json', 'README.md'],
+ patch_staging=patch
+)
diff --git a/packages/google-cloud-redis/package.json b/packages/google-cloud-redis/package.json
new file mode 100644
index 00000000000..8ef9863f691
--- /dev/null
+++ b/packages/google-cloud-redis/package.json
@@ -0,0 +1,69 @@
+{
+ "name": "@google-cloud/redis",
+ "description": "Google Cloud Memorystore for Redis API client for Node.js",
+ "version": "3.1.3",
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "repository": "googleapis/nodejs-redis",
+ "main": "build/src/index.js",
+ "files": [
+ "build/protos",
+ "build/src"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google redis",
+ "redis",
+ "Google Cloud Memorystore for Redis API"
+ ],
+ "scripts": {
+ "test": "c8 mocha build/test",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "docs": "jsdoc -c .jsdoc.js",
+ "lint": "gts check",
+ "fix": "gts fix",
+ "docs-test": "linkinator docs",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "predocs-test": "npm run docs",
+ "prepare": "npm run compile-protos && npm run compile",
+ "pretest": "npm run compile",
+ "prelint": "cd samples; npm link ../; npm install",
+ "clean": "gts clean",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "google-gax": "^3.3.0"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^16.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.0.0",
+ "codecov": "^3.1.0",
+ "gts": "^3.1.0",
+ "jsdoc": "^3.5.5",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.0",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.0.0",
+ "webpack-cli": "^4.0.0"
+ }
+}
diff --git a/packages/google-cloud-redis/protos/google/cloud/common_resources.proto b/packages/google-cloud-redis/protos/google/cloud/common_resources.proto
new file mode 100644
index 00000000000..56c9f800d5e
--- /dev/null
+++ b/packages/google-cloud-redis/protos/google/cloud/common_resources.proto
@@ -0,0 +1,52 @@
+// Copyright 2019 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.
+
+// This file contains stub messages for common resources in GCP.
+// It is not intended to be directly generated, and is instead used by
+// other tooling to be able to match common resource patterns.
+syntax = "proto3";
+
+package google.cloud;
+
+import "google/api/resource.proto";
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ pattern: "projects/{project}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Organization"
+ pattern: "organizations/{organization}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Folder"
+ pattern: "folders/{folder}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudbilling.googleapis.com/BillingAccount"
+ pattern: "billingAccounts/{billing_account}"
+};
+
+option (google.api.resource_definition) = {
+ type: "locations.googleapis.com/Location"
+ pattern: "projects/{project}/locations/{location}"
+};
+
diff --git a/packages/google-cloud-redis/protos/google/cloud/redis/v1/cloud_redis.proto b/packages/google-cloud-redis/protos/google/cloud/redis/v1/cloud_redis.proto
new file mode 100644
index 00000000000..f0ba2f43fbf
--- /dev/null
+++ b/packages/google-cloud-redis/protos/google/cloud/redis/v1/cloud_redis.proto
@@ -0,0 +1,886 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.redis.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/dayofweek.proto";
+import "google/type/timeofday.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/redis/v1;redis";
+option java_multiple_files = true;
+option java_outer_classname = "CloudRedisServiceV1Proto";
+option java_package = "com.google.cloud.redis.v1";
+
+// Configures and manages Cloud Memorystore for Redis instances
+//
+// Google Cloud Memorystore for Redis v1
+//
+// The `redis.googleapis.com` service implements the Google Cloud Memorystore
+// for Redis API and defines the following resource model for managing Redis
+// instances:
+// * The service works with a collection of cloud projects, named: `/projects/*`
+// * Each project has a collection of available locations, named: `/locations/*`
+// * Each location has a collection of Redis instances, named: `/instances/*`
+// * As such, Redis instances are resources of the form:
+// `/projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+//
+// Note that location_id must be referring to a GCP `region`; for example:
+// * `projects/redpepper-1290/locations/us-central1/instances/my-redis`
+service CloudRedis {
+ option (google.api.default_host) = "redis.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists all Redis instances owned by a project in either the specified
+ // location (region) or all locations.
+ //
+ // The location should have the following format:
+ //
+ // * `projects/{project_id}/locations/{location_id}`
+ //
+ // If `location_id` is specified as `-` (wildcard), then all regions
+ // available to the project are queried, and the results are aggregated.
+ rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/instances"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the details of a specific Redis instance.
+ rpc GetInstance(GetInstanceRequest) returns (Instance) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/instances/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets the AUTH string for a Redis instance. If AUTH is not enabled for the
+ // instance the response will be empty. This information is not included in
+ // the details returned to GetInstance.
+ rpc GetInstanceAuthString(GetInstanceAuthStringRequest) returns (InstanceAuthString) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/instances/*}/authString"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a Redis instance based on the specified tier and memory size.
+ //
+ // By default, the instance is accessible from the project's
+ // [default network](https://cloud.google.com/vpc/docs/vpc).
+ //
+ // The creation is executed asynchronously and callers may check the returned
+ // operation to track its progress. Once the operation is completed the Redis
+ // instance will be fully functional. Completed longrunning.Operation will
+ // contain the new instance object in the response field.
+ //
+ // The returned operation is automatically deleted after a few hours, so there
+ // is no need to call DeleteOperation.
+ rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/instances"
+ body: "instance"
+ };
+ option (google.api.method_signature) = "parent,instance_id,instance";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1.Instance"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+
+ // Updates the metadata and configuration of a specific Redis instance.
+ //
+ // Completed longrunning.Operation will contain the new instance object
+ // in the response field. The returned operation is automatically deleted
+ // after a few hours, so there is no need to call DeleteOperation.
+ rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{instance.name=projects/*/locations/*/instances/*}"
+ body: "instance"
+ };
+ option (google.api.method_signature) = "update_mask,instance";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1.Instance"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+
+ // Upgrades Redis instance to the newer Redis version specified in the
+ // request.
+ rpc UpgradeInstance(UpgradeInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/instances/*}:upgrade"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,redis_version";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1.Instance"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+
+ // Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
+ //
+ // Redis may stop serving during this operation. Instance state will be
+ // IMPORTING for entire operation. When complete, the instance will contain
+ // only data from the imported file.
+ //
+ // The returned operation is automatically deleted after a few hours, so
+ // there is no need to call DeleteOperation.
+ rpc ImportInstance(ImportInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/instances/*}:import"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,input_config";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1.Instance"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+
+ // Export Redis instance data into a Redis RDB format file in Cloud Storage.
+ //
+ // Redis will continue serving during this operation.
+ //
+ // The returned operation is automatically deleted after a few hours, so
+ // there is no need to call DeleteOperation.
+ rpc ExportInstance(ExportInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/instances/*}:export"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,output_config";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1.Instance"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+
+ // Initiates a failover of the primary node to current replica node for a
+ // specific STANDARD tier Cloud Memorystore for Redis instance.
+ rpc FailoverInstance(FailoverInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/instances/*}:failover"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,data_protection_mode";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1.Instance"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+
+ // Deletes a specific Redis instance. Instance stops serving and data is
+ // deleted.
+ rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/instances/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+
+ // Reschedule maintenance for a given instance in a given project and
+ // location.
+ rpc RescheduleMaintenance(RescheduleMaintenanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/instances/*}:rescheduleMaintenance"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name, reschedule_type, schedule_time";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1.Instance"
+ metadata_type: "google.cloud.redis.v1.OperationMetadata"
+ };
+ }
+}
+
+// Node specific properties.
+message NodeInfo {
+ // Output only. Node identifying string. e.g. 'node-0', 'node-1'
+ string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Location of the node.
+ string zone = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A Memorystore for Redis instance.
+message Instance {
+ option (google.api.resource) = {
+ type: "redis.googleapis.com/Instance"
+ pattern: "projects/{project}/locations/{location}/instances/{instance}"
+ };
+
+ // Represents the different states of a Redis instance.
+ enum State {
+ // Not set.
+ STATE_UNSPECIFIED = 0;
+
+ // Redis instance is being created.
+ CREATING = 1;
+
+ // Redis instance has been created and is fully usable.
+ READY = 2;
+
+ // Redis instance configuration is being updated. Certain kinds of updates
+ // may cause the instance to become unusable while the update is in
+ // progress.
+ UPDATING = 3;
+
+ // Redis instance is being deleted.
+ DELETING = 4;
+
+ // Redis instance is being repaired and may be unusable.
+ REPAIRING = 5;
+
+ // Maintenance is being performed on this Redis instance.
+ MAINTENANCE = 6;
+
+ // Redis instance is importing data (availability may be affected).
+ IMPORTING = 8;
+
+ // Redis instance is failing over (availability may be affected).
+ FAILING_OVER = 9;
+ }
+
+ // Available service tiers to choose from
+ enum Tier {
+ // Not set.
+ TIER_UNSPECIFIED = 0;
+
+ // BASIC tier: standalone instance
+ BASIC = 1;
+
+ // STANDARD_HA tier: highly available primary/replica instances
+ STANDARD_HA = 3;
+ }
+
+ // Available connection modes.
+ enum ConnectMode {
+ // Not set.
+ CONNECT_MODE_UNSPECIFIED = 0;
+
+ // Connect via direct peering to the Memorystore for Redis hosted service.
+ DIRECT_PEERING = 1;
+
+ // Connect your Memorystore for Redis instance using Private Service
+ // Access. Private services access provides an IP address range for multiple
+ // Google Cloud services, including Memorystore.
+ PRIVATE_SERVICE_ACCESS = 2;
+ }
+
+ // Available TLS modes.
+ enum TransitEncryptionMode {
+ // Not set.
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0;
+
+ // Client to Server traffic encryption enabled with server authentication.
+ SERVER_AUTHENTICATION = 1;
+
+ // TLS is disabled for the instance.
+ DISABLED = 2;
+ }
+
+ // Read replicas mode.
+ enum ReadReplicasMode {
+ // If not set, Memorystore Redis backend will default to
+ // READ_REPLICAS_DISABLED.
+ READ_REPLICAS_MODE_UNSPECIFIED = 0;
+
+ // If disabled, read endpoint will not be provided and the instance cannot
+ // scale up or down the number of replicas.
+ READ_REPLICAS_DISABLED = 1;
+
+ // If enabled, read endpoint will be provided and the instance can scale
+ // up and down the number of replicas. Not valid for basic tier.
+ READ_REPLICAS_ENABLED = 2;
+ }
+
+ // Required. Unique name of the resource in this scope including project and
+ // location using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ //
+ // Note: Redis instances are managed and addressed at regional level so
+ // location_id here refers to a GCP region; however, users may choose which
+ // specific zone (or collection of zones for cross-zone instances) an instance
+ // should be provisioned in. Refer to [location_id][google.cloud.redis.v1.Instance.location_id] and
+ // [alternative_location_id][google.cloud.redis.v1.Instance.alternative_location_id] fields for more details.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // An arbitrary and optional user-provided name for the instance.
+ string display_name = 2;
+
+ // Resource labels to represent user provided metadata
+ map labels = 3;
+
+ // Optional. The zone where the instance will be provisioned. If not provided,
+ // the service will choose a zone from the specified region for the instance.
+ // For standard tier, additional nodes will be added across multiple zones for
+ // protection against zonal failures. If specified, at least one node will be
+ // provisioned in this zone.
+ string location_id = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If specified, at least one node will be provisioned in this zone
+ // in addition to the zone specified in location_id. Only applicable to
+ // standard tier. If provided, it must be a different zone from the one
+ // provided in [location_id]. Additional nodes beyond the first 2 will be
+ // placed in zones selected by the service.
+ string alternative_location_id = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The version of Redis software.
+ // If not provided, latest supported version will be used. Currently, the
+ // supported values are:
+ //
+ // * `REDIS_3_2` for Redis 3.2 compatibility
+ // * `REDIS_4_0` for Redis 4.0 compatibility (default)
+ // * `REDIS_5_0` for Redis 5.0 compatibility
+ // * `REDIS_6_X` for Redis 6.x compatibility
+ string redis_version = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
+ // that are reserved for this instance. Range must
+ // be unique and non-overlapping with existing subnets in an authorized
+ // network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
+ // address ranges associated with this private service access connection.
+ // If not provided, the service will choose an unused /29 block, for
+ // example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED
+ // the default block size is /28.
+ string reserved_ip_range = 9 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Additional IP range for node placement. Required when enabling read
+ // replicas on an existing instance. For DIRECT_PEERING mode value must be a
+ // CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode value
+ // must be the name of an allocated address range associated with the private
+ // service access connection, or "auto".
+ string secondary_ip_range = 30 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Hostname or IP address of the exposed Redis endpoint used by
+ // clients to connect to the service.
+ string host = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The port number of the exposed Redis endpoint.
+ int32 port = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current zone where the Redis primary node is located. In
+ // basic tier, this will always be the same as [location_id]. In
+ // standard tier, this can be the zone of any node in the instance.
+ string current_location_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the instance was created.
+ google.protobuf.Timestamp create_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current state of this instance.
+ State state = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Additional information about the current status of this
+ // instance, if available.
+ string status_message = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Redis configuration parameters, according to
+ // http://redis.io/topics/config. Currently, the only supported parameters
+ // are:
+ //
+ // Redis version 3.2 and newer:
+ //
+ // * maxmemory-policy
+ // * notify-keyspace-events
+ //
+ // Redis version 4.0 and newer:
+ //
+ // * activedefrag
+ // * lfu-decay-time
+ // * lfu-log-factor
+ // * maxmemory-gb
+ //
+ // Redis version 5.0 and newer:
+ //
+ // * stream-node-max-bytes
+ // * stream-node-max-entries
+ map redis_configs = 16 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The service tier of the instance.
+ Tier tier = 17 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Redis memory size in GiB.
+ int32 memory_size_gb = 18 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The full name of the Google Compute Engine
+ // [network](https://cloud.google.com/vpc/docs/vpc) to which the
+ // instance is connected. If left unspecified, the `default` network
+ // will be used.
+ string authorized_network = 20 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Cloud IAM identity used by import / export operations to
+ // transfer data to/from Cloud Storage. Format is
+ // "serviceAccount:". The value may change over time
+ // for a given instance so should be checked before each import/export
+ // operation.
+ string persistence_iam_identity = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The network connect mode of the Redis instance.
+ // If not provided, the connect mode defaults to DIRECT_PEERING.
+ ConnectMode connect_mode = 22 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to
+ // "true" AUTH is enabled on the instance. Default value is "false" meaning
+ // AUTH is disabled.
+ bool auth_enabled = 23 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. List of server CA certificates for the instance.
+ repeated TlsCertificate server_ca_certs = 25 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The TLS mode of the Redis instance.
+ // If not provided, TLS is disabled for the instance.
+ TransitEncryptionMode transit_encryption_mode = 26 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The number of replica nodes. The valid range for the Standard Tier with
+ // read replicas enabled is [1-5] and defaults to 2. If read replicas are not
+ // enabled for a Standard Tier instance, the only valid value is 1 and the
+ // default is 1. The valid value for basic tier is 0 and the default is also
+ // 0.
+
+ // Optional. The maintenance policy for the instance. If not provided,
+ // maintenance events can be performed at any time.
+ MaintenancePolicy maintenance_policy = 27 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Date and time of upcoming maintenance events which have been
+ // scheduled.
+ MaintenanceSchedule maintenance_schedule = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The number of replica nodes. The valid range for the Standard Tier with
+ // read replicas enabled is [1-5] and defaults to 2. If read replicas are not
+ // enabled for a Standard Tier instance, the only valid value is 1 and the
+ // default is 1. The valid value for basic tier is 0 and the default is also
+ // 0.
+ int32 replica_count = 31 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Info per node.
+ repeated NodeInfo nodes = 32 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Hostname or IP address of the exposed readonly Redis
+ // endpoint. Standard tier only. Targets all healthy replica nodes in
+ // instance. Replication is asynchronous and replica nodes will exhibit some
+ // lag behind the primary. Write requests must target 'host'.
+ string read_endpoint = 33 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The port number of the exposed readonly redis
+ // endpoint. Standard tier only. Write requests should target 'port'.
+ int32 read_endpoint_port = 34 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.
+ ReadReplicasMode read_replicas_mode = 35 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for [RescheduleMaintenance][google.cloud.redis.v1.CloudRedis.RescheduleMaintenance].
+message RescheduleMaintenanceRequest {
+ // Reschedule options.
+ enum RescheduleType {
+ // Not set.
+ RESCHEDULE_TYPE_UNSPECIFIED = 0;
+
+ // If the user wants to schedule the maintenance to happen now.
+ IMMEDIATE = 1;
+
+ // If the user wants to use the existing maintenance policy to find the
+ // next available window.
+ NEXT_AVAILABLE_WINDOW = 2;
+
+ // If the user wants to reschedule the maintenance to a specific time.
+ SPECIFIC_TIME = 3;
+ }
+
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+
+ // Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
+ RescheduleType reschedule_type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Timestamp when the maintenance shall be rescheduled to if
+ // reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
+ // example `2012-11-15T16:19:00.094Z`.
+ google.protobuf.Timestamp schedule_time = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Maintenance policy for an instance.
+message MaintenancePolicy {
+ // Output only. The time when the policy was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time when the policy was last updated.
+ google.protobuf.Timestamp update_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Description of what this policy is for. Create/Update methods
+ // return INVALID_ARGUMENT if the length is greater than 512.
+ string description = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Maintenance window that is applied to resources covered by this
+ // policy. Minimum 1. For the current version, the maximum number of
+ // weekly_window is expected to be one.
+ repeated WeeklyMaintenanceWindow weekly_maintenance_window = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Time window in which disruptive maintenance updates occur. Non-disruptive
+// updates can occur inside or outside this window.
+message WeeklyMaintenanceWindow {
+ // Required. The day of week that maintenance updates occur.
+ google.type.DayOfWeek day = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Start time of the window in UTC time.
+ google.type.TimeOfDay start_time = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Duration of the maintenance window. The current window is fixed at 1 hour.
+ google.protobuf.Duration duration = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Upcoming maintenance schedule. If no maintenance is scheduled, fields are not
+// populated.
+message MaintenanceSchedule {
+ // Output only. The start time of any upcoming scheduled maintenance for this instance.
+ google.protobuf.Timestamp start_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The end time of any upcoming scheduled maintenance for this instance.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // If the scheduled maintenance can be rescheduled, default is true.
+ bool can_reschedule = 3 [deprecated = true];
+
+ // Output only. The deadline that the maintenance schedule start time can not go beyond,
+ // including reschedule.
+ google.protobuf.Timestamp schedule_deadline_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request for [ListInstances][google.cloud.redis.v1.CloudRedis.ListInstances].
+message ListInstancesRequest {
+ // Required. The resource name of the instance location using the form:
+ // `projects/{project_id}/locations/{location_id}`
+ // where `location_id` refers to a GCP region.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of items to return.
+ //
+ // If not specified, a default value of 1000 will be used by the service.
+ // Regardless of the page_size value, the response may include a partial list
+ // and a caller should only rely on response's
+ // [`next_page_token`][google.cloud.redis.v1.ListInstancesResponse.next_page_token]
+ // to determine if there are more instances left to be queried.
+ int32 page_size = 2;
+
+ // The `next_page_token` value returned from a previous
+ // [ListInstances][google.cloud.redis.v1.CloudRedis.ListInstances] request, if any.
+ string page_token = 3;
+}
+
+// Response for [ListInstances][google.cloud.redis.v1.CloudRedis.ListInstances].
+message ListInstancesResponse {
+ // A list of Redis instances in the project in the specified location,
+ // or across all locations.
+ //
+ // If the `location_id` in the parent field of the request is "-", all regions
+ // available to the project are queried, and the results aggregated.
+ // If in such an aggregated query a location is unavailable, a placeholder
+ // Redis entry is included in the response with the `name` field set to a
+ // value of the form
+ // `projects/{project_id}/locations/{location_id}/instances/`- and the
+ // `status` field set to ERROR and `status_message` field set to "location not
+ // available for ListInstances".
+ repeated Instance instances = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no more
+ // results in the list.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request for [GetInstance][google.cloud.redis.v1.CloudRedis.GetInstance].
+message GetInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+}
+
+// Request for [GetInstanceAuthString][google.cloud.redis.v1.CloudRedis.GetInstanceAuthString].
+message GetInstanceAuthStringRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+}
+
+// Instance AUTH string details.
+message InstanceAuthString {
+ // AUTH string set on the instance.
+ string auth_string = 1;
+}
+
+// Request for [CreateInstance][google.cloud.redis.v1.CloudRedis.CreateInstance].
+message CreateInstanceRequest {
+ // Required. The resource name of the instance location using the form:
+ // `projects/{project_id}/locations/{location_id}`
+ // where `location_id` refers to a GCP region.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. The logical name of the Redis instance in the customer project
+ // with the following restrictions:
+ //
+ // * Must contain only lowercase letters, numbers, and hyphens.
+ // * Must start with a letter.
+ // * Must be between 1-40 characters.
+ // * Must end with a number or a letter.
+ // * Must be unique within the customer project / location
+ string instance_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A Redis [Instance] resource
+ Instance instance = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [UpdateInstance][google.cloud.redis.v1.CloudRedis.UpdateInstance].
+message UpdateInstanceRequest {
+ // Required. Mask of fields to update. At least one path must be supplied in
+ // this field. The elements of the repeated paths field may only include these
+ // fields from [Instance][google.cloud.redis.v1.Instance]:
+ //
+ // * `displayName`
+ // * `labels`
+ // * `memorySizeGb`
+ // * `redisConfig`
+ // * `replica_count`
+ google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Update description.
+ // Only fields specified in update_mask are updated.
+ Instance instance = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [UpgradeInstance][google.cloud.redis.v1.CloudRedis.UpgradeInstance].
+message UpgradeInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+
+ // Required. Specifies the target version of Redis software to upgrade to.
+ string redis_version = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [DeleteInstance][google.cloud.redis.v1.CloudRedis.DeleteInstance].
+message DeleteInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+}
+
+// The Cloud Storage location for the input content
+message GcsSource {
+ // Required. Source data URI. (e.g. 'gs://my_bucket/my_object').
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The input content
+message InputConfig {
+ // Required. Specify source location of input data
+ oneof source {
+ // Google Cloud Storage location where input content is located.
+ GcsSource gcs_source = 1;
+ }
+}
+
+// Request for [Import][google.cloud.redis.v1.CloudRedis.ImportInstance].
+message ImportInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Specify data to be imported.
+ InputConfig input_config = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The Cloud Storage location for the output content
+message GcsDestination {
+ // Required. Data destination URI (e.g.
+ // 'gs://my_bucket/my_object'). Existing files will be overwritten.
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The output content
+message OutputConfig {
+ // Required. Specify destination location of output data
+ oneof destination {
+ // Google Cloud Storage destination for output content.
+ GcsDestination gcs_destination = 1;
+ }
+}
+
+// Request for [Export][google.cloud.redis.v1.CloudRedis.ExportInstance].
+message ExportInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Specify data to be exported.
+ OutputConfig output_config = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [Failover][google.cloud.redis.v1.CloudRedis.FailoverInstance].
+message FailoverInstanceRequest {
+ // Specifies different modes of operation in relation to the data retention.
+ enum DataProtectionMode {
+ // Defaults to LIMITED_DATA_LOSS if a data protection mode is not
+ // specified.
+ DATA_PROTECTION_MODE_UNSPECIFIED = 0;
+
+ // Instance failover will be protected with data loss control. More
+ // specifically, the failover will only be performed if the current
+ // replication offset diff between primary and replica is under a certain
+ // threshold.
+ LIMITED_DATA_LOSS = 1;
+
+ // Instance failover will be performed without data loss control.
+ FORCE_DATA_LOSS = 2;
+ }
+
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+
+ // Optional. Available data protection modes that the user can choose. If it's
+ // unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
+ DataProtectionMode data_protection_mode = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Represents the v1 metadata of the long-running operation.
+message OperationMetadata {
+ // Creation timestamp.
+ google.protobuf.Timestamp create_time = 1;
+
+ // End timestamp.
+ google.protobuf.Timestamp end_time = 2;
+
+ // Operation target.
+ string target = 3;
+
+ // Operation verb.
+ string verb = 4;
+
+ // Operation status details.
+ string status_detail = 5;
+
+ // Specifies if cancellation was requested for the operation.
+ bool cancel_requested = 6;
+
+ // API version.
+ string api_version = 7;
+}
+
+// This location metadata represents additional configuration options for a
+// given location where a Redis instance may be created. All fields are output
+// only. It is returned as content of the
+// `google.cloud.location.Location.metadata` field.
+message LocationMetadata {
+ // Output only. The set of available zones in the location. The map is keyed
+ // by the lowercase ID of each zone, as defined by GCE. These keys can be
+ // specified in `location_id` or `alternative_location_id` fields when
+ // creating a Redis instance.
+ map available_zones = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Defines specific information for a particular zone. Currently empty and
+// reserved for future use only.
+message ZoneMetadata {
+
+}
+
+// TlsCertificate Resource
+message TlsCertificate {
+ // Serial number, as extracted from the certificate.
+ string serial_number = 1;
+
+ // PEM representation.
+ string cert = 2;
+
+ // Output only. The time when the certificate was created in [RFC
+ // 3339](https://tools.ietf.org/html/rfc3339) format, for example
+ // `2020-05-18T00:00:00.094Z`.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time when the certificate expires in [RFC
+ // 3339](https://tools.ietf.org/html/rfc3339) format, for example
+ // `2020-05-18T00:00:00.094Z`.
+ google.protobuf.Timestamp expire_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Sha1 Fingerprint of the certificate.
+ string sha1_fingerprint = 5;
+}
diff --git a/packages/google-cloud-redis/protos/google/cloud/redis/v1beta1/cloud_redis.proto b/packages/google-cloud-redis/protos/google/cloud/redis/v1beta1/cloud_redis.proto
new file mode 100644
index 00000000000..075a06359d0
--- /dev/null
+++ b/packages/google-cloud-redis/protos/google/cloud/redis/v1beta1/cloud_redis.proto
@@ -0,0 +1,913 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.redis.v1beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/dayofweek.proto";
+import "google/type/timeofday.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/redis/v1beta1;redis";
+option java_multiple_files = true;
+option java_outer_classname = "CloudRedisServiceBetaProto";
+option java_package = "com.google.cloud.redis.v1beta1";
+
+// Configures and manages Cloud Memorystore for Redis instances
+//
+// Google Cloud Memorystore for Redis v1beta1
+//
+// The `redis.googleapis.com` service implements the Google Cloud Memorystore
+// for Redis API and defines the following resource model for managing Redis
+// instances:
+// * The service works with a collection of cloud projects, named: `/projects/*`
+// * Each project has a collection of available locations, named: `/locations/*`
+// * Each location has a collection of Redis instances, named: `/instances/*`
+// * As such, Redis instances are resources of the form:
+// `/projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+//
+// Note that location_id must be referring to a GCP `region`; for example:
+// * `projects/redpepper-1290/locations/us-central1/instances/my-redis`
+service CloudRedis {
+ option (google.api.default_host) = "redis.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists all Redis instances owned by a project in either the specified
+ // location (region) or all locations.
+ //
+ // The location should have the following format:
+ //
+ // * `projects/{project_id}/locations/{location_id}`
+ //
+ // If `location_id` is specified as `-` (wildcard), then all regions
+ // available to the project are queried, and the results are aggregated.
+ rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*}/instances"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the details of a specific Redis instance.
+ rpc GetInstance(GetInstanceRequest) returns (Instance) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/instances/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets the AUTH string for a Redis instance. If AUTH is not enabled for the
+ // instance the response will be empty. This information is not included in
+ // the details returned to GetInstance.
+ rpc GetInstanceAuthString(GetInstanceAuthStringRequest) returns (InstanceAuthString) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/instances/*}/authString"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a Redis instance based on the specified tier and memory size.
+ //
+ // By default, the instance is accessible from the project's
+ // [default network](https://cloud.google.com/vpc/docs/vpc).
+ //
+ // The creation is executed asynchronously and callers may check the returned
+ // operation to track its progress. Once the operation is completed the Redis
+ // instance will be fully functional. The completed longrunning.Operation will
+ // contain the new instance object in the response field.
+ //
+ // The returned operation is automatically deleted after a few hours, so there
+ // is no need to call DeleteOperation.
+ rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*/locations/*}/instances"
+ body: "instance"
+ };
+ option (google.api.method_signature) = "parent,instance_id,instance";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1beta1.Instance"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+
+ // Updates the metadata and configuration of a specific Redis instance.
+ //
+ // Completed longrunning.Operation will contain the new instance object
+ // in the response field. The returned operation is automatically deleted
+ // after a few hours, so there is no need to call DeleteOperation.
+ rpc UpdateInstance(UpdateInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1beta1/{instance.name=projects/*/locations/*/instances/*}"
+ body: "instance"
+ };
+ option (google.api.method_signature) = "update_mask,instance";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1beta1.Instance"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+
+ // Upgrades Redis instance to the newer Redis version specified in the
+ // request.
+ rpc UpgradeInstance(UpgradeInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/instances/*}:upgrade"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,redis_version";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1beta1.Instance"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+
+ // Import a Redis RDB snapshot file from Cloud Storage into a Redis instance.
+ //
+ // Redis may stop serving during this operation. Instance state will be
+ // IMPORTING for entire operation. When complete, the instance will contain
+ // only data from the imported file.
+ //
+ // The returned operation is automatically deleted after a few hours, so
+ // there is no need to call DeleteOperation.
+ rpc ImportInstance(ImportInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/instances/*}:import"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,input_config";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1beta1.Instance"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+
+ // Export Redis instance data into a Redis RDB format file in Cloud Storage.
+ //
+ // Redis will continue serving during this operation.
+ //
+ // The returned operation is automatically deleted after a few hours, so
+ // there is no need to call DeleteOperation.
+ rpc ExportInstance(ExportInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/instances/*}:export"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,output_config";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1beta1.Instance"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+
+ // Initiates a failover of the primary node to current replica node for a
+ // specific STANDARD tier Cloud Memorystore for Redis instance.
+ rpc FailoverInstance(FailoverInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/instances/*}:failover"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,data_protection_mode";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1beta1.Instance"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+
+ // Deletes a specific Redis instance. Instance stops serving and data is
+ // deleted.
+ rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1beta1/{name=projects/*/locations/*/instances/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+
+ // Reschedule maintenance for a given instance in a given project and
+ // location.
+ rpc RescheduleMaintenance(RescheduleMaintenanceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/instances/*}:rescheduleMaintenance"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name, reschedule_type, schedule_time";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.redis.v1beta1.Instance"
+ metadata_type: "google.protobuf.Any"
+ };
+ }
+}
+
+// Node specific properties.
+message NodeInfo {
+ // Output only. Node identifying string. e.g. 'node-0', 'node-1'
+ string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Location of the node.
+ string zone = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A Memorystore for Redis instance.
+message Instance {
+ option (google.api.resource) = {
+ type: "redis.googleapis.com/Instance"
+ pattern: "projects/{project}/locations/{location}/instances/{instance}"
+ };
+
+ // Represents the different states of a Redis instance.
+ enum State {
+ // Not set.
+ STATE_UNSPECIFIED = 0;
+
+ // Redis instance is being created.
+ CREATING = 1;
+
+ // Redis instance has been created and is fully usable.
+ READY = 2;
+
+ // Redis instance configuration is being updated. Certain kinds of updates
+ // may cause the instance to become unusable while the update is in
+ // progress.
+ UPDATING = 3;
+
+ // Redis instance is being deleted.
+ DELETING = 4;
+
+ // Redis instance is being repaired and may be unusable.
+ REPAIRING = 5;
+
+ // Maintenance is being performed on this Redis instance.
+ MAINTENANCE = 6;
+
+ // Redis instance is importing data (availability may be affected).
+ IMPORTING = 8;
+
+ // Redis instance is failing over (availability may be affected).
+ FAILING_OVER = 10;
+ }
+
+ // Available service tiers to choose from
+ enum Tier {
+ // Not set.
+ TIER_UNSPECIFIED = 0;
+
+ // BASIC tier: standalone instance
+ BASIC = 1;
+
+ // STANDARD_HA tier: highly available primary/replica instances
+ STANDARD_HA = 3;
+ }
+
+ // Available connection modes.
+ enum ConnectMode {
+ // Not set.
+ CONNECT_MODE_UNSPECIFIED = 0;
+
+ // Connect via direct peering to the Memorystore for Redis hosted service.
+ DIRECT_PEERING = 1;
+
+ // Connect your Memorystore for Redis instance using Private Service
+ // Access. Private services access provides an IP address range for multiple
+ // Google Cloud services, including Memorystore.
+ PRIVATE_SERVICE_ACCESS = 2;
+ }
+
+ // Available TLS modes.
+ enum TransitEncryptionMode {
+ // Not set.
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0;
+
+ // Client to Server traffic encryption enabled with server authentication.
+ SERVER_AUTHENTICATION = 1;
+
+ // TLS is disabled for the instance.
+ DISABLED = 2;
+ }
+
+ // Read replicas mode.
+ enum ReadReplicasMode {
+ // If not set, Memorystore Redis backend will default to
+ // READ_REPLICAS_DISABLED.
+ READ_REPLICAS_MODE_UNSPECIFIED = 0;
+
+ // If disabled, read endpoint will not be provided and the instance cannot
+ // scale up or down the number of replicas.
+ READ_REPLICAS_DISABLED = 1;
+
+ // If enabled, read endpoint will be provided and the instance can scale
+ // up and down the number of replicas. Not valid for basic tier.
+ READ_REPLICAS_ENABLED = 2;
+ }
+
+ // Required. Unique name of the resource in this scope including project and
+ // location using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ //
+ // Note: Redis instances are managed and addressed at regional level so
+ // location_id here refers to a GCP region; however, users may choose which
+ // specific zone (or collection of zones for cross-zone instances) an instance
+ // should be provisioned in. Refer to [location_id][google.cloud.redis.v1beta1.Instance.location_id] and
+ // [alternative_location_id][google.cloud.redis.v1beta1.Instance.alternative_location_id] fields for more details.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // An arbitrary and optional user-provided name for the instance.
+ string display_name = 2;
+
+ // Resource labels to represent user provided metadata
+ map labels = 3;
+
+ // Optional. The zone where the instance will be provisioned. If not provided,
+ // the service will choose a zone from the specified region for the instance.
+ // For standard tier, additional nodes will be added across multiple zones for
+ // protection against zonal failures. If specified, at least one node will be
+ // provisioned in this zone.
+ string location_id = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If specified, at least one node will be provisioned in this zone
+ // in addition to the zone specified in location_id. Only applicable to
+ // standard tier. If provided, it must be a different zone from the one
+ // provided in [location_id]. Additional nodes beyond the first 2 will be
+ // placed in zones selected by the service.
+ string alternative_location_id = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The version of Redis software.
+ // If not provided, latest supported version will be used. Currently, the
+ // supported values are:
+ //
+ // * `REDIS_3_2` for Redis 3.2 compatibility
+ // * `REDIS_4_0` for Redis 4.0 compatibility (default)
+ // * `REDIS_5_0` for Redis 5.0 compatibility
+ // * `REDIS_6_X` for Redis 6.x compatibility
+ string redis_version = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses
+ // that are reserved for this instance. Range must
+ // be unique and non-overlapping with existing subnets in an authorized
+ // network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP
+ // address ranges associated with this private service access connection.
+ // If not provided, the service will choose an unused /29 block, for
+ // example, 10.0.0.0/29 or 192.168.0.0/29. For READ_REPLICAS_ENABLED
+ // the default block size is /28.
+ string reserved_ip_range = 9 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Additional IP range for node placement. Required when enabling read
+ // replicas on an existing instance. For DIRECT_PEERING mode value must be a
+ // CIDR range of size /28, or "auto". For PRIVATE_SERVICE_ACCESS mode value
+ // must be the name of an allocated address range associated with the private
+ // service access connection, or "auto".
+ string secondary_ip_range = 30 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Hostname or IP address of the exposed Redis endpoint used by
+ // clients to connect to the service.
+ string host = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The port number of the exposed Redis endpoint.
+ int32 port = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current zone where the Redis primary node is located. In
+ // basic tier, this will always be the same as [location_id]. In
+ // standard tier, this can be the zone of any node in the instance.
+ string current_location_id = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the instance was created.
+ google.protobuf.Timestamp create_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The current state of this instance.
+ State state = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Additional information about the current status of this
+ // instance, if available.
+ string status_message = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Redis configuration parameters, according to
+ // http://redis.io/topics/config. Currently, the only supported parameters
+ // are:
+ //
+ // Redis version 3.2 and newer:
+ //
+ // * maxmemory-policy
+ // * notify-keyspace-events
+ //
+ // Redis version 4.0 and newer:
+ //
+ // * activedefrag
+ // * lfu-decay-time
+ // * lfu-log-factor
+ // * maxmemory-gb
+ //
+ // Redis version 5.0 and newer:
+ //
+ // * stream-node-max-bytes
+ // * stream-node-max-entries
+ map redis_configs = 16 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The service tier of the instance.
+ Tier tier = 17 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Redis memory size in GiB.
+ int32 memory_size_gb = 18 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The full name of the Google Compute Engine
+ // [network](https://cloud.google.com/vpc/docs/vpc) to which the
+ // instance is connected. If left unspecified, the `default` network
+ // will be used.
+ string authorized_network = 20 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Cloud IAM identity used by import / export operations to
+ // transfer data to/from Cloud Storage. Format is
+ // "serviceAccount:". The value may change over time
+ // for a given instance so should be checked before each import/export
+ // operation.
+ string persistence_iam_identity = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The network connect mode of the Redis instance.
+ // If not provided, the connect mode defaults to DIRECT_PEERING.
+ ConnectMode connect_mode = 22 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to
+ // "true" AUTH is enabled on the instance. Default value is "false" meaning
+ // AUTH is disabled.
+ bool auth_enabled = 23 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. List of server CA certificates for the instance.
+ repeated TlsCertificate server_ca_certs = 25 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The TLS mode of the Redis instance.
+ // If not provided, TLS is disabled for the instance.
+ TransitEncryptionMode transit_encryption_mode = 26 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maintenance policy for the instance. If not provided,
+ // maintenance events can be performed at any time.
+ MaintenancePolicy maintenance_policy = 27 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Date and time of upcoming maintenance events which have been
+ // scheduled.
+ MaintenanceSchedule maintenance_schedule = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The number of replica nodes. The valid range for the Standard Tier with
+ // read replicas enabled is [1-5] and defaults to 2. If read replicas are not
+ // enabled for a Standard Tier instance, the only valid value is 1 and the
+ // default is 1. The valid value for basic tier is 0 and the default is also
+ // 0.
+ int32 replica_count = 31 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Info per node.
+ repeated NodeInfo nodes = 32 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Hostname or IP address of the exposed readonly Redis
+ // endpoint. Standard tier only. Targets all healthy replica nodes in
+ // instance. Replication is asynchronous and replica nodes will exhibit some
+ // lag behind the primary. Write requests must target 'host'.
+ string read_endpoint = 33 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The port number of the exposed readonly redis
+ // endpoint. Standard tier only. Write requests should target 'port'.
+ int32 read_endpoint_port = 34 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Read replicas mode for the instance. Defaults to READ_REPLICAS_DISABLED.
+ ReadReplicasMode read_replicas_mode = 35 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Persistence configuration parameters
+ PersistenceConfig persistence_config = 37 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Configuration of the persistence functionality.
+message PersistenceConfig {
+ // Available Persistence modes.
+ enum PersistenceMode {
+ // Not set.
+ PERSISTENCE_MODE_UNSPECIFIED = 0;
+
+ // Persistence is disabled for the instance,
+ // and any existing snapshots are deleted.
+ DISABLED = 1;
+
+ // RDB based Persistence is enabled.
+ RDB = 2;
+ }
+
+ // Available snapshot periods for scheduling.
+ enum SnapshotPeriod {
+ // Not set.
+ SNAPSHOT_PERIOD_UNSPECIFIED = 0;
+
+ // Snapshot every 1 hour.
+ ONE_HOUR = 3;
+
+ // Snapshot every 6 hours.
+ SIX_HOURS = 4;
+
+ // Snapshot every 12 hours.
+ TWELVE_HOURS = 5;
+
+ // Snapshot every 24 hours.
+ TWENTY_FOUR_HOURS = 6;
+ }
+
+ // Optional. Controls whether Persistence features are enabled.
+ // If not provided, the existing value will be used.
+ PersistenceMode persistence_mode = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Period between RDB snapshots. Snapshots will be attempted every period
+ // starting from the provided snapshot start time. For example, a start time
+ // of 01/01/2033 06:45 and SIX_HOURS snapshot period will do nothing until
+ // 01/01/2033, and then trigger snapshots every day at 06:45, 12:45, 18:45,
+ // and 00:45 the next day, and so on.
+ // If not provided, TWENTY_FOUR_HOURS will be used as default.
+ SnapshotPeriod rdb_snapshot_period = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The next time that a snapshot attempt is scheduled to occur.
+ google.protobuf.Timestamp rdb_next_snapshot_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Date and time that the first snapshot was/will be attempted, and to which
+ // future snapshots will be aligned.
+ // If not provided, the current time will be used.
+ google.protobuf.Timestamp rdb_snapshot_start_time = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request for [RescheduleMaintenance][google.cloud.redis.v1beta1.CloudRedis.RescheduleMaintenance].
+message RescheduleMaintenanceRequest {
+ // Reschedule options.
+ enum RescheduleType {
+ // Not set.
+ RESCHEDULE_TYPE_UNSPECIFIED = 0;
+
+ // If the user wants to schedule the maintenance to happen now.
+ IMMEDIATE = 1;
+
+ // If the user wants to use the existing maintenance policy to find the
+ // next available window.
+ NEXT_AVAILABLE_WINDOW = 2;
+
+ // If the user wants to reschedule the maintenance to a specific time.
+ SPECIFIC_TIME = 3;
+ }
+
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+
+ // Required. If reschedule type is SPECIFIC_TIME, must set up schedule_time as well.
+ RescheduleType reschedule_type = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Timestamp when the maintenance shall be rescheduled to if
+ // reschedule_type=SPECIFIC_TIME, in RFC 3339 format, for
+ // example `2012-11-15T16:19:00.094Z`.
+ google.protobuf.Timestamp schedule_time = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Maintenance policy for an instance.
+message MaintenancePolicy {
+ // Output only. The time when the policy was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time when the policy was last updated.
+ google.protobuf.Timestamp update_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Description of what this policy is for. Create/Update methods
+ // return INVALID_ARGUMENT if the length is greater than 512.
+ string description = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Maintenance window that is applied to resources covered by this
+ // policy. Minimum 1. For the current version, the maximum number of
+ // weekly_window is expected to be one.
+ repeated WeeklyMaintenanceWindow weekly_maintenance_window = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Time window in which disruptive maintenance updates occur. Non-disruptive
+// updates can occur inside or outside this window.
+message WeeklyMaintenanceWindow {
+ // Required. The day of week that maintenance updates occur.
+ google.type.DayOfWeek day = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Start time of the window in UTC time.
+ google.type.TimeOfDay start_time = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Duration of the maintenance window. The current window is fixed at 1 hour.
+ google.protobuf.Duration duration = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Upcoming maintenance schedule. If no maintenance is scheduled, fields are not
+// populated.
+message MaintenanceSchedule {
+ // Output only. The start time of any upcoming scheduled maintenance for this instance.
+ google.protobuf.Timestamp start_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The end time of any upcoming scheduled maintenance for this instance.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // If the scheduled maintenance can be rescheduled, default is true.
+ bool can_reschedule = 3 [deprecated = true];
+
+ // Output only. The deadline that the maintenance schedule start time can not go beyond,
+ // including reschedule.
+ google.protobuf.Timestamp schedule_deadline_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request for [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances].
+message ListInstancesRequest {
+ // Required. The resource name of the instance location using the form:
+ // `projects/{project_id}/locations/{location_id}`
+ // where `location_id` refers to a GCP region.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of items to return.
+ //
+ // If not specified, a default value of 1000 will be used by the service.
+ // Regardless of the page_size value, the response may include a partial list
+ // and a caller should only rely on response's
+ // [`next_page_token`][google.cloud.redis.v1beta1.ListInstancesResponse.next_page_token]
+ // to determine if there are more instances left to be queried.
+ int32 page_size = 2;
+
+ // The `next_page_token` value returned from a previous
+ // [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances] request, if any.
+ string page_token = 3;
+}
+
+// Response for [ListInstances][google.cloud.redis.v1beta1.CloudRedis.ListInstances].
+message ListInstancesResponse {
+ // A list of Redis instances in the project in the specified location,
+ // or across all locations.
+ //
+ // If the `location_id` in the parent field of the request is "-", all regions
+ // available to the project are queried, and the results aggregated.
+ // If in such an aggregated query a location is unavailable, a placeholder
+ // Redis entry is included in the response with the `name` field set to a
+ // value of the form
+ // `projects/{project_id}/locations/{location_id}/instances/`- and the
+ // `status` field set to ERROR and `status_message` field set to "location not
+ // available for ListInstances".
+ repeated Instance instances = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no more
+ // results in the list.
+ string next_page_token = 2;
+
+ // Locations that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request for [GetInstance][google.cloud.redis.v1beta1.CloudRedis.GetInstance].
+message GetInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+}
+
+// Request for [GetInstanceAuthString][google.cloud.redis.v1beta1.CloudRedis.GetInstanceAuthString].
+message GetInstanceAuthStringRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+}
+
+// Instance AUTH string details.
+message InstanceAuthString {
+ // AUTH string set on the instance.
+ string auth_string = 1;
+}
+
+// Request for [CreateInstance][google.cloud.redis.v1beta1.CloudRedis.CreateInstance].
+message CreateInstanceRequest {
+ // Required. The resource name of the instance location using the form:
+ // `projects/{project_id}/locations/{location_id}`
+ // where `location_id` refers to a GCP region.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. The logical name of the Redis instance in the customer project
+ // with the following restrictions:
+ //
+ // * Must contain only lowercase letters, numbers, and hyphens.
+ // * Must start with a letter.
+ // * Must be between 1-40 characters.
+ // * Must end with a number or a letter.
+ // * Must be unique within the customer project / location
+ string instance_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A Redis [Instance] resource
+ Instance instance = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [UpdateInstance][google.cloud.redis.v1beta1.CloudRedis.UpdateInstance].
+message UpdateInstanceRequest {
+ // Required. Mask of fields to update. At least one path must be supplied in
+ // this field. The elements of the repeated paths field may only include these
+ // fields from [Instance][google.cloud.redis.v1beta1.Instance]:
+ //
+ // * `displayName`
+ // * `labels`
+ // * `memorySizeGb`
+ // * `redisConfig`
+ // * `replica_count`
+ google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Update description.
+ // Only fields specified in update_mask are updated.
+ Instance instance = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [UpgradeInstance][google.cloud.redis.v1beta1.CloudRedis.UpgradeInstance].
+message UpgradeInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+
+ // Required. Specifies the target version of Redis software to upgrade to.
+ string redis_version = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [DeleteInstance][google.cloud.redis.v1beta1.CloudRedis.DeleteInstance].
+message DeleteInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+}
+
+// The Cloud Storage location for the input content
+message GcsSource {
+ // Required. Source data URI. (e.g. 'gs://my_bucket/my_object').
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The input content
+message InputConfig {
+ // Required. Specify source location of input data
+ oneof source {
+ // Google Cloud Storage location where input content is located.
+ GcsSource gcs_source = 1;
+ }
+}
+
+// Request for [Import][google.cloud.redis.v1beta1.CloudRedis.ImportInstance].
+message ImportInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Specify data to be imported.
+ InputConfig input_config = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The Cloud Storage location for the output content
+message GcsDestination {
+ // Required. Data destination URI (e.g.
+ // 'gs://my_bucket/my_object'). Existing files will be overwritten.
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The output content
+message OutputConfig {
+ // Required. Specify destination location of output data
+ oneof destination {
+ // Google Cloud Storage destination for output content.
+ GcsDestination gcs_destination = 1;
+ }
+}
+
+// Request for [Export][google.cloud.redis.v1beta1.CloudRedis.ExportInstance].
+message ExportInstanceRequest {
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Specify data to be exported.
+ OutputConfig output_config = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request for [Failover][google.cloud.redis.v1beta1.CloudRedis.FailoverInstance].
+message FailoverInstanceRequest {
+ // Specifies different modes of operation in relation to the data retention.
+ enum DataProtectionMode {
+ // Defaults to LIMITED_DATA_LOSS if a data protection mode is not
+ // specified.
+ DATA_PROTECTION_MODE_UNSPECIFIED = 0;
+
+ // Instance failover will be protected with data loss control. More
+ // specifically, the failover will only be performed if the current
+ // replication offset diff between primary and replica is under a certain
+ // threshold.
+ LIMITED_DATA_LOSS = 1;
+
+ // Instance failover will be performed without data loss control.
+ FORCE_DATA_LOSS = 2;
+ }
+
+ // Required. Redis instance resource name using the form:
+ // `projects/{project_id}/locations/{location_id}/instances/{instance_id}`
+ // where `location_id` refers to a GCP region.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "redis.googleapis.com/Instance"
+ }
+ ];
+
+ // Optional. Available data protection modes that the user can choose. If it's
+ // unspecified, data protection mode will be LIMITED_DATA_LOSS by default.
+ DataProtectionMode data_protection_mode = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// This location metadata represents additional configuration options for a
+// given location where a Redis instance may be created. All fields are output
+// only. It is returned as content of the
+// `google.cloud.location.Location.metadata` field.
+message LocationMetadata {
+ // Output only. The set of available zones in the location. The map is keyed
+ // by the lowercase ID of each zone, as defined by GCE. These keys can be
+ // specified in `location_id` or `alternative_location_id` fields when
+ // creating a Redis instance.
+ map available_zones = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Defines specific information for a particular zone. Currently empty and
+// reserved for future use only.
+message ZoneMetadata {
+
+}
+
+// TlsCertificate Resource
+message TlsCertificate {
+ // Serial number, as extracted from the certificate.
+ string serial_number = 1;
+
+ // PEM representation.
+ string cert = 2;
+
+ // Output only. The time when the certificate was created in [RFC
+ // 3339](https://tools.ietf.org/html/rfc3339) format, for example
+ // `2020-05-18T00:00:00.094Z`.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time when the certificate expires in [RFC
+ // 3339](https://tools.ietf.org/html/rfc3339) format, for example
+ // `2020-05-18T00:00:00.094Z`.
+ google.protobuf.Timestamp expire_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Sha1 Fingerprint of the certificate.
+ string sha1_fingerprint = 5;
+}
diff --git a/packages/google-cloud-redis/protos/protos.d.ts b/packages/google-cloud-redis/protos/protos.d.ts
new file mode 100644
index 00000000000..cbb3e9c6590
--- /dev/null
+++ b/packages/google-cloud-redis/protos/protos.d.ts
@@ -0,0 +1,12149 @@
+// 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 Long = require("long");
+import type {protobuf as $protobuf} from "google-gax";
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace cloud. */
+ namespace cloud {
+
+ /** Namespace redis. */
+ namespace redis {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Represents a CloudRedis */
+ class CloudRedis extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CloudRedis 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 CloudRedis 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): CloudRedis;
+
+ /**
+ * Calls ListInstances.
+ * @param request ListInstancesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListInstancesResponse
+ */
+ public listInstances(request: google.cloud.redis.v1.IListInstancesRequest, callback: google.cloud.redis.v1.CloudRedis.ListInstancesCallback): void;
+
+ /**
+ * Calls ListInstances.
+ * @param request ListInstancesRequest message or plain object
+ * @returns Promise
+ */
+ public listInstances(request: google.cloud.redis.v1.IListInstancesRequest): Promise;
+
+ /**
+ * Calls GetInstance.
+ * @param request GetInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Instance
+ */
+ public getInstance(request: google.cloud.redis.v1.IGetInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.GetInstanceCallback): void;
+
+ /**
+ * Calls GetInstance.
+ * @param request GetInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public getInstance(request: google.cloud.redis.v1.IGetInstanceRequest): Promise;
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @param request GetInstanceAuthStringRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and InstanceAuthString
+ */
+ public getInstanceAuthString(request: google.cloud.redis.v1.IGetInstanceAuthStringRequest, callback: google.cloud.redis.v1.CloudRedis.GetInstanceAuthStringCallback): void;
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @param request GetInstanceAuthStringRequest message or plain object
+ * @returns Promise
+ */
+ public getInstanceAuthString(request: google.cloud.redis.v1.IGetInstanceAuthStringRequest): Promise;
+
+ /**
+ * Calls CreateInstance.
+ * @param request CreateInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createInstance(request: google.cloud.redis.v1.ICreateInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.CreateInstanceCallback): void;
+
+ /**
+ * Calls CreateInstance.
+ * @param request CreateInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public createInstance(request: google.cloud.redis.v1.ICreateInstanceRequest): Promise;
+
+ /**
+ * Calls UpdateInstance.
+ * @param request UpdateInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateInstance(request: google.cloud.redis.v1.IUpdateInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.UpdateInstanceCallback): void;
+
+ /**
+ * Calls UpdateInstance.
+ * @param request UpdateInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public updateInstance(request: google.cloud.redis.v1.IUpdateInstanceRequest): Promise;
+
+ /**
+ * Calls UpgradeInstance.
+ * @param request UpgradeInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public upgradeInstance(request: google.cloud.redis.v1.IUpgradeInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.UpgradeInstanceCallback): void;
+
+ /**
+ * Calls UpgradeInstance.
+ * @param request UpgradeInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public upgradeInstance(request: google.cloud.redis.v1.IUpgradeInstanceRequest): Promise;
+
+ /**
+ * Calls ImportInstance.
+ * @param request ImportInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importInstance(request: google.cloud.redis.v1.IImportInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.ImportInstanceCallback): void;
+
+ /**
+ * Calls ImportInstance.
+ * @param request ImportInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public importInstance(request: google.cloud.redis.v1.IImportInstanceRequest): Promise;
+
+ /**
+ * Calls ExportInstance.
+ * @param request ExportInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public exportInstance(request: google.cloud.redis.v1.IExportInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.ExportInstanceCallback): void;
+
+ /**
+ * Calls ExportInstance.
+ * @param request ExportInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public exportInstance(request: google.cloud.redis.v1.IExportInstanceRequest): Promise;
+
+ /**
+ * Calls FailoverInstance.
+ * @param request FailoverInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public failoverInstance(request: google.cloud.redis.v1.IFailoverInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.FailoverInstanceCallback): void;
+
+ /**
+ * Calls FailoverInstance.
+ * @param request FailoverInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public failoverInstance(request: google.cloud.redis.v1.IFailoverInstanceRequest): Promise;
+
+ /**
+ * Calls DeleteInstance.
+ * @param request DeleteInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteInstance(request: google.cloud.redis.v1.IDeleteInstanceRequest, callback: google.cloud.redis.v1.CloudRedis.DeleteInstanceCallback): void;
+
+ /**
+ * Calls DeleteInstance.
+ * @param request DeleteInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public deleteInstance(request: google.cloud.redis.v1.IDeleteInstanceRequest): Promise;
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @param request RescheduleMaintenanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public rescheduleMaintenance(request: google.cloud.redis.v1.IRescheduleMaintenanceRequest, callback: google.cloud.redis.v1.CloudRedis.RescheduleMaintenanceCallback): void;
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @param request RescheduleMaintenanceRequest message or plain object
+ * @returns Promise
+ */
+ public rescheduleMaintenance(request: google.cloud.redis.v1.IRescheduleMaintenanceRequest): Promise;
+ }
+
+ namespace CloudRedis {
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|listInstances}.
+ * @param error Error, if any
+ * @param [response] ListInstancesResponse
+ */
+ type ListInstancesCallback = (error: (Error|null), response?: google.cloud.redis.v1.ListInstancesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|getInstance}.
+ * @param error Error, if any
+ * @param [response] Instance
+ */
+ type GetInstanceCallback = (error: (Error|null), response?: google.cloud.redis.v1.Instance) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|getInstanceAuthString}.
+ * @param error Error, if any
+ * @param [response] InstanceAuthString
+ */
+ type GetInstanceAuthStringCallback = (error: (Error|null), response?: google.cloud.redis.v1.InstanceAuthString) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|createInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|updateInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|upgradeInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpgradeInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|importInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|exportInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ExportInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|failoverInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type FailoverInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|deleteInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|rescheduleMaintenance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RescheduleMaintenanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a NodeInfo. */
+ interface INodeInfo {
+
+ /** NodeInfo id */
+ id?: (string|null);
+
+ /** NodeInfo zone */
+ zone?: (string|null);
+ }
+
+ /** Represents a NodeInfo. */
+ class NodeInfo implements INodeInfo {
+
+ /**
+ * Constructs a new NodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.INodeInfo);
+
+ /** NodeInfo id. */
+ public id: string;
+
+ /** NodeInfo zone. */
+ public zone: string;
+
+ /**
+ * Creates a new NodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NodeInfo instance
+ */
+ public static create(properties?: google.cloud.redis.v1.INodeInfo): google.cloud.redis.v1.NodeInfo;
+
+ /**
+ * Encodes the specified NodeInfo message. Does not implicitly {@link google.cloud.redis.v1.NodeInfo.verify|verify} messages.
+ * @param message NodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.INodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NodeInfo message, length delimited. Does not implicitly {@link google.cloud.redis.v1.NodeInfo.verify|verify} messages.
+ * @param message NodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.INodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NodeInfo
+ * @throws {Error} If the payload is not 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.redis.v1.NodeInfo;
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NodeInfo
+ * @throws {Error} If the payload 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.redis.v1.NodeInfo;
+
+ /**
+ * Verifies a NodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.NodeInfo;
+
+ /**
+ * Creates a plain object from a NodeInfo message. Also converts values to other types if specified.
+ * @param message NodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.NodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Instance. */
+ interface IInstance {
+
+ /** Instance name */
+ name?: (string|null);
+
+ /** Instance displayName */
+ displayName?: (string|null);
+
+ /** Instance labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Instance locationId */
+ locationId?: (string|null);
+
+ /** Instance alternativeLocationId */
+ alternativeLocationId?: (string|null);
+
+ /** Instance redisVersion */
+ redisVersion?: (string|null);
+
+ /** Instance reservedIpRange */
+ reservedIpRange?: (string|null);
+
+ /** Instance secondaryIpRange */
+ secondaryIpRange?: (string|null);
+
+ /** Instance host */
+ host?: (string|null);
+
+ /** Instance port */
+ port?: (number|null);
+
+ /** Instance currentLocationId */
+ currentLocationId?: (string|null);
+
+ /** Instance createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Instance state */
+ state?: (google.cloud.redis.v1.Instance.State|keyof typeof google.cloud.redis.v1.Instance.State|null);
+
+ /** Instance statusMessage */
+ statusMessage?: (string|null);
+
+ /** Instance redisConfigs */
+ redisConfigs?: ({ [k: string]: string }|null);
+
+ /** Instance tier */
+ tier?: (google.cloud.redis.v1.Instance.Tier|keyof typeof google.cloud.redis.v1.Instance.Tier|null);
+
+ /** Instance memorySizeGb */
+ memorySizeGb?: (number|null);
+
+ /** Instance authorizedNetwork */
+ authorizedNetwork?: (string|null);
+
+ /** Instance persistenceIamIdentity */
+ persistenceIamIdentity?: (string|null);
+
+ /** Instance connectMode */
+ connectMode?: (google.cloud.redis.v1.Instance.ConnectMode|keyof typeof google.cloud.redis.v1.Instance.ConnectMode|null);
+
+ /** Instance authEnabled */
+ authEnabled?: (boolean|null);
+
+ /** Instance serverCaCerts */
+ serverCaCerts?: (google.cloud.redis.v1.ITlsCertificate[]|null);
+
+ /** Instance transitEncryptionMode */
+ transitEncryptionMode?: (google.cloud.redis.v1.Instance.TransitEncryptionMode|keyof typeof google.cloud.redis.v1.Instance.TransitEncryptionMode|null);
+
+ /** Instance maintenancePolicy */
+ maintenancePolicy?: (google.cloud.redis.v1.IMaintenancePolicy|null);
+
+ /** Instance maintenanceSchedule */
+ maintenanceSchedule?: (google.cloud.redis.v1.IMaintenanceSchedule|null);
+
+ /** Instance replicaCount */
+ replicaCount?: (number|null);
+
+ /** Instance nodes */
+ nodes?: (google.cloud.redis.v1.INodeInfo[]|null);
+
+ /** Instance readEndpoint */
+ readEndpoint?: (string|null);
+
+ /** Instance readEndpointPort */
+ readEndpointPort?: (number|null);
+
+ /** Instance readReplicasMode */
+ readReplicasMode?: (google.cloud.redis.v1.Instance.ReadReplicasMode|keyof typeof google.cloud.redis.v1.Instance.ReadReplicasMode|null);
+ }
+
+ /** Represents an Instance. */
+ class Instance implements IInstance {
+
+ /**
+ * Constructs a new Instance.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IInstance);
+
+ /** Instance name. */
+ public name: string;
+
+ /** Instance displayName. */
+ public displayName: string;
+
+ /** Instance labels. */
+ public labels: { [k: string]: string };
+
+ /** Instance locationId. */
+ public locationId: string;
+
+ /** Instance alternativeLocationId. */
+ public alternativeLocationId: string;
+
+ /** Instance redisVersion. */
+ public redisVersion: string;
+
+ /** Instance reservedIpRange. */
+ public reservedIpRange: string;
+
+ /** Instance secondaryIpRange. */
+ public secondaryIpRange: string;
+
+ /** Instance host. */
+ public host: string;
+
+ /** Instance port. */
+ public port: number;
+
+ /** Instance currentLocationId. */
+ public currentLocationId: string;
+
+ /** Instance createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Instance state. */
+ public state: (google.cloud.redis.v1.Instance.State|keyof typeof google.cloud.redis.v1.Instance.State);
+
+ /** Instance statusMessage. */
+ public statusMessage: string;
+
+ /** Instance redisConfigs. */
+ public redisConfigs: { [k: string]: string };
+
+ /** Instance tier. */
+ public tier: (google.cloud.redis.v1.Instance.Tier|keyof typeof google.cloud.redis.v1.Instance.Tier);
+
+ /** Instance memorySizeGb. */
+ public memorySizeGb: number;
+
+ /** Instance authorizedNetwork. */
+ public authorizedNetwork: string;
+
+ /** Instance persistenceIamIdentity. */
+ public persistenceIamIdentity: string;
+
+ /** Instance connectMode. */
+ public connectMode: (google.cloud.redis.v1.Instance.ConnectMode|keyof typeof google.cloud.redis.v1.Instance.ConnectMode);
+
+ /** Instance authEnabled. */
+ public authEnabled: boolean;
+
+ /** Instance serverCaCerts. */
+ public serverCaCerts: google.cloud.redis.v1.ITlsCertificate[];
+
+ /** Instance transitEncryptionMode. */
+ public transitEncryptionMode: (google.cloud.redis.v1.Instance.TransitEncryptionMode|keyof typeof google.cloud.redis.v1.Instance.TransitEncryptionMode);
+
+ /** Instance maintenancePolicy. */
+ public maintenancePolicy?: (google.cloud.redis.v1.IMaintenancePolicy|null);
+
+ /** Instance maintenanceSchedule. */
+ public maintenanceSchedule?: (google.cloud.redis.v1.IMaintenanceSchedule|null);
+
+ /** Instance replicaCount. */
+ public replicaCount: number;
+
+ /** Instance nodes. */
+ public nodes: google.cloud.redis.v1.INodeInfo[];
+
+ /** Instance readEndpoint. */
+ public readEndpoint: string;
+
+ /** Instance readEndpointPort. */
+ public readEndpointPort: number;
+
+ /** Instance readReplicasMode. */
+ public readReplicasMode: (google.cloud.redis.v1.Instance.ReadReplicasMode|keyof typeof google.cloud.redis.v1.Instance.ReadReplicasMode);
+
+ /**
+ * Creates a new Instance instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Instance instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IInstance): google.cloud.redis.v1.Instance;
+
+ /**
+ * Encodes the specified Instance message. Does not implicitly {@link google.cloud.redis.v1.Instance.verify|verify} messages.
+ * @param message Instance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Instance message, length delimited. Does not implicitly {@link google.cloud.redis.v1.Instance.verify|verify} messages.
+ * @param message Instance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Instance
+ * @throws {Error} If the payload is not 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.redis.v1.Instance;
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Instance
+ * @throws {Error} If the payload 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.redis.v1.Instance;
+
+ /**
+ * Verifies an Instance message.
+ * @param message Plain 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 Instance message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Instance
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.Instance;
+
+ /**
+ * Creates a plain object from an Instance message. Also converts values to other types if specified.
+ * @param message Instance
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.Instance, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Instance to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Instance
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Instance {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ CREATING = 1,
+ READY = 2,
+ UPDATING = 3,
+ DELETING = 4,
+ REPAIRING = 5,
+ MAINTENANCE = 6,
+ IMPORTING = 8,
+ FAILING_OVER = 9
+ }
+
+ /** Tier enum. */
+ enum Tier {
+ TIER_UNSPECIFIED = 0,
+ BASIC = 1,
+ STANDARD_HA = 3
+ }
+
+ /** ConnectMode enum. */
+ enum ConnectMode {
+ CONNECT_MODE_UNSPECIFIED = 0,
+ DIRECT_PEERING = 1,
+ PRIVATE_SERVICE_ACCESS = 2
+ }
+
+ /** TransitEncryptionMode enum. */
+ enum TransitEncryptionMode {
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0,
+ SERVER_AUTHENTICATION = 1,
+ DISABLED = 2
+ }
+
+ /** ReadReplicasMode enum. */
+ enum ReadReplicasMode {
+ READ_REPLICAS_MODE_UNSPECIFIED = 0,
+ READ_REPLICAS_DISABLED = 1,
+ READ_REPLICAS_ENABLED = 2
+ }
+ }
+
+ /** Properties of a RescheduleMaintenanceRequest. */
+ interface IRescheduleMaintenanceRequest {
+
+ /** RescheduleMaintenanceRequest name */
+ name?: (string|null);
+
+ /** RescheduleMaintenanceRequest rescheduleType */
+ rescheduleType?: (google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType|keyof typeof google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType|null);
+
+ /** RescheduleMaintenanceRequest scheduleTime */
+ scheduleTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a RescheduleMaintenanceRequest. */
+ class RescheduleMaintenanceRequest implements IRescheduleMaintenanceRequest {
+
+ /**
+ * Constructs a new RescheduleMaintenanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IRescheduleMaintenanceRequest);
+
+ /** RescheduleMaintenanceRequest name. */
+ public name: string;
+
+ /** RescheduleMaintenanceRequest rescheduleType. */
+ public rescheduleType: (google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType|keyof typeof google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType);
+
+ /** RescheduleMaintenanceRequest scheduleTime. */
+ public scheduleTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new RescheduleMaintenanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RescheduleMaintenanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IRescheduleMaintenanceRequest): google.cloud.redis.v1.RescheduleMaintenanceRequest;
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message. Does not implicitly {@link google.cloud.redis.v1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @param message RescheduleMaintenanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IRescheduleMaintenanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @param message RescheduleMaintenanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IRescheduleMaintenanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RescheduleMaintenanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.RescheduleMaintenanceRequest;
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RescheduleMaintenanceRequest
+ * @throws {Error} If the payload 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.redis.v1.RescheduleMaintenanceRequest;
+
+ /**
+ * Verifies a RescheduleMaintenanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RescheduleMaintenanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RescheduleMaintenanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.RescheduleMaintenanceRequest;
+
+ /**
+ * Creates a plain object from a RescheduleMaintenanceRequest message. Also converts values to other types if specified.
+ * @param message RescheduleMaintenanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.RescheduleMaintenanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RescheduleMaintenanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RescheduleMaintenanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace RescheduleMaintenanceRequest {
+
+ /** RescheduleType enum. */
+ enum RescheduleType {
+ RESCHEDULE_TYPE_UNSPECIFIED = 0,
+ IMMEDIATE = 1,
+ NEXT_AVAILABLE_WINDOW = 2,
+ SPECIFIC_TIME = 3
+ }
+ }
+
+ /** Properties of a MaintenancePolicy. */
+ interface IMaintenancePolicy {
+
+ /** MaintenancePolicy createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy description */
+ description?: (string|null);
+
+ /** MaintenancePolicy weeklyMaintenanceWindow */
+ weeklyMaintenanceWindow?: (google.cloud.redis.v1.IWeeklyMaintenanceWindow[]|null);
+ }
+
+ /** Represents a MaintenancePolicy. */
+ class MaintenancePolicy implements IMaintenancePolicy {
+
+ /**
+ * Constructs a new MaintenancePolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IMaintenancePolicy);
+
+ /** MaintenancePolicy createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy description. */
+ public description: string;
+
+ /** MaintenancePolicy weeklyMaintenanceWindow. */
+ public weeklyMaintenanceWindow: google.cloud.redis.v1.IWeeklyMaintenanceWindow[];
+
+ /**
+ * Creates a new MaintenancePolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MaintenancePolicy instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IMaintenancePolicy): google.cloud.redis.v1.MaintenancePolicy;
+
+ /**
+ * Encodes the specified MaintenancePolicy message. Does not implicitly {@link google.cloud.redis.v1.MaintenancePolicy.verify|verify} messages.
+ * @param message MaintenancePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IMaintenancePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MaintenancePolicy message, length delimited. Does not implicitly {@link google.cloud.redis.v1.MaintenancePolicy.verify|verify} messages.
+ * @param message MaintenancePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IMaintenancePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MaintenancePolicy
+ * @throws {Error} If the payload is not 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.redis.v1.MaintenancePolicy;
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MaintenancePolicy
+ * @throws {Error} If the payload 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.redis.v1.MaintenancePolicy;
+
+ /**
+ * Verifies a MaintenancePolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MaintenancePolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MaintenancePolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.MaintenancePolicy;
+
+ /**
+ * Creates a plain object from a MaintenancePolicy message. Also converts values to other types if specified.
+ * @param message MaintenancePolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.MaintenancePolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MaintenancePolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MaintenancePolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WeeklyMaintenanceWindow. */
+ interface IWeeklyMaintenanceWindow {
+
+ /** WeeklyMaintenanceWindow day */
+ day?: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek|null);
+
+ /** WeeklyMaintenanceWindow startTime */
+ startTime?: (google.type.ITimeOfDay|null);
+
+ /** WeeklyMaintenanceWindow duration */
+ duration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WeeklyMaintenanceWindow. */
+ class WeeklyMaintenanceWindow implements IWeeklyMaintenanceWindow {
+
+ /**
+ * Constructs a new WeeklyMaintenanceWindow.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IWeeklyMaintenanceWindow);
+
+ /** WeeklyMaintenanceWindow day. */
+ public day: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek);
+
+ /** WeeklyMaintenanceWindow startTime. */
+ public startTime?: (google.type.ITimeOfDay|null);
+
+ /** WeeklyMaintenanceWindow duration. */
+ public duration?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WeeklyMaintenanceWindow instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WeeklyMaintenanceWindow instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IWeeklyMaintenanceWindow): google.cloud.redis.v1.WeeklyMaintenanceWindow;
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message. Does not implicitly {@link google.cloud.redis.v1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @param message WeeklyMaintenanceWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IWeeklyMaintenanceWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message, length delimited. Does not implicitly {@link google.cloud.redis.v1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @param message WeeklyMaintenanceWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IWeeklyMaintenanceWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WeeklyMaintenanceWindow
+ * @throws {Error} If the payload is not 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.redis.v1.WeeklyMaintenanceWindow;
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WeeklyMaintenanceWindow
+ * @throws {Error} If the payload 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.redis.v1.WeeklyMaintenanceWindow;
+
+ /**
+ * Verifies a WeeklyMaintenanceWindow message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WeeklyMaintenanceWindow message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WeeklyMaintenanceWindow
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.WeeklyMaintenanceWindow;
+
+ /**
+ * Creates a plain object from a WeeklyMaintenanceWindow message. Also converts values to other types if specified.
+ * @param message WeeklyMaintenanceWindow
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.WeeklyMaintenanceWindow, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WeeklyMaintenanceWindow to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WeeklyMaintenanceWindow
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MaintenanceSchedule. */
+ interface IMaintenanceSchedule {
+
+ /** MaintenanceSchedule startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule canReschedule */
+ canReschedule?: (boolean|null);
+
+ /** MaintenanceSchedule scheduleDeadlineTime */
+ scheduleDeadlineTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a MaintenanceSchedule. */
+ class MaintenanceSchedule implements IMaintenanceSchedule {
+
+ /**
+ * Constructs a new MaintenanceSchedule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IMaintenanceSchedule);
+
+ /** MaintenanceSchedule startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule canReschedule. */
+ public canReschedule: boolean;
+
+ /** MaintenanceSchedule scheduleDeadlineTime. */
+ public scheduleDeadlineTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new MaintenanceSchedule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MaintenanceSchedule instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IMaintenanceSchedule): google.cloud.redis.v1.MaintenanceSchedule;
+
+ /**
+ * Encodes the specified MaintenanceSchedule message. Does not implicitly {@link google.cloud.redis.v1.MaintenanceSchedule.verify|verify} messages.
+ * @param message MaintenanceSchedule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IMaintenanceSchedule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MaintenanceSchedule message, length delimited. Does not implicitly {@link google.cloud.redis.v1.MaintenanceSchedule.verify|verify} messages.
+ * @param message MaintenanceSchedule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IMaintenanceSchedule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MaintenanceSchedule
+ * @throws {Error} If the payload is not 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.redis.v1.MaintenanceSchedule;
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MaintenanceSchedule
+ * @throws {Error} If the payload 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.redis.v1.MaintenanceSchedule;
+
+ /**
+ * Verifies a MaintenanceSchedule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MaintenanceSchedule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MaintenanceSchedule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.MaintenanceSchedule;
+
+ /**
+ * Creates a plain object from a MaintenanceSchedule message. Also converts values to other types if specified.
+ * @param message MaintenanceSchedule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.MaintenanceSchedule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MaintenanceSchedule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MaintenanceSchedule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInstancesRequest. */
+ interface IListInstancesRequest {
+
+ /** ListInstancesRequest parent */
+ parent?: (string|null);
+
+ /** ListInstancesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListInstancesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListInstancesRequest. */
+ class ListInstancesRequest implements IListInstancesRequest {
+
+ /**
+ * Constructs a new ListInstancesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IListInstancesRequest);
+
+ /** ListInstancesRequest parent. */
+ public parent: string;
+
+ /** ListInstancesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListInstancesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListInstancesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInstancesRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IListInstancesRequest): google.cloud.redis.v1.ListInstancesRequest;
+
+ /**
+ * Encodes the specified ListInstancesRequest message. Does not implicitly {@link google.cloud.redis.v1.ListInstancesRequest.verify|verify} messages.
+ * @param message ListInstancesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IListInstancesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInstancesRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ListInstancesRequest.verify|verify} messages.
+ * @param message ListInstancesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IListInstancesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInstancesRequest
+ * @throws {Error} If the payload is not 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.redis.v1.ListInstancesRequest;
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInstancesRequest
+ * @throws {Error} If the payload 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.redis.v1.ListInstancesRequest;
+
+ /**
+ * Verifies a ListInstancesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInstancesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInstancesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.ListInstancesRequest;
+
+ /**
+ * Creates a plain object from a ListInstancesRequest message. Also converts values to other types if specified.
+ * @param message ListInstancesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.ListInstancesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInstancesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInstancesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInstancesResponse. */
+ interface IListInstancesResponse {
+
+ /** ListInstancesResponse instances */
+ instances?: (google.cloud.redis.v1.IInstance[]|null);
+
+ /** ListInstancesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListInstancesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListInstancesResponse. */
+ class ListInstancesResponse implements IListInstancesResponse {
+
+ /**
+ * Constructs a new ListInstancesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IListInstancesResponse);
+
+ /** ListInstancesResponse instances. */
+ public instances: google.cloud.redis.v1.IInstance[];
+
+ /** ListInstancesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListInstancesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListInstancesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInstancesResponse instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IListInstancesResponse): google.cloud.redis.v1.ListInstancesResponse;
+
+ /**
+ * Encodes the specified ListInstancesResponse message. Does not implicitly {@link google.cloud.redis.v1.ListInstancesResponse.verify|verify} messages.
+ * @param message ListInstancesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IListInstancesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInstancesResponse message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ListInstancesResponse.verify|verify} messages.
+ * @param message ListInstancesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IListInstancesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInstancesResponse
+ * @throws {Error} If the payload is not 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.redis.v1.ListInstancesResponse;
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInstancesResponse
+ * @throws {Error} If the payload 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.redis.v1.ListInstancesResponse;
+
+ /**
+ * Verifies a ListInstancesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInstancesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInstancesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.ListInstancesResponse;
+
+ /**
+ * Creates a plain object from a ListInstancesResponse message. Also converts values to other types if specified.
+ * @param message ListInstancesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.ListInstancesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInstancesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInstancesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetInstanceRequest. */
+ interface IGetInstanceRequest {
+
+ /** GetInstanceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetInstanceRequest. */
+ class GetInstanceRequest implements IGetInstanceRequest {
+
+ /**
+ * Constructs a new GetInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IGetInstanceRequest);
+
+ /** GetInstanceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IGetInstanceRequest): google.cloud.redis.v1.GetInstanceRequest;
+
+ /**
+ * Encodes the specified GetInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.GetInstanceRequest.verify|verify} messages.
+ * @param message GetInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IGetInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GetInstanceRequest.verify|verify} messages.
+ * @param message GetInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IGetInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.GetInstanceRequest;
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.GetInstanceRequest;
+
+ /**
+ * Verifies a GetInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.GetInstanceRequest;
+
+ /**
+ * Creates a plain object from a GetInstanceRequest message. Also converts values to other types if specified.
+ * @param message GetInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.GetInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetInstanceAuthStringRequest. */
+ interface IGetInstanceAuthStringRequest {
+
+ /** GetInstanceAuthStringRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetInstanceAuthStringRequest. */
+ class GetInstanceAuthStringRequest implements IGetInstanceAuthStringRequest {
+
+ /**
+ * Constructs a new GetInstanceAuthStringRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IGetInstanceAuthStringRequest);
+
+ /** GetInstanceAuthStringRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetInstanceAuthStringRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetInstanceAuthStringRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IGetInstanceAuthStringRequest): google.cloud.redis.v1.GetInstanceAuthStringRequest;
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message. Does not implicitly {@link google.cloud.redis.v1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @param message GetInstanceAuthStringRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IGetInstanceAuthStringRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @param message GetInstanceAuthStringRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IGetInstanceAuthStringRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetInstanceAuthStringRequest
+ * @throws {Error} If the payload is not 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.redis.v1.GetInstanceAuthStringRequest;
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetInstanceAuthStringRequest
+ * @throws {Error} If the payload 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.redis.v1.GetInstanceAuthStringRequest;
+
+ /**
+ * Verifies a GetInstanceAuthStringRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetInstanceAuthStringRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetInstanceAuthStringRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.GetInstanceAuthStringRequest;
+
+ /**
+ * Creates a plain object from a GetInstanceAuthStringRequest message. Also converts values to other types if specified.
+ * @param message GetInstanceAuthStringRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.GetInstanceAuthStringRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetInstanceAuthStringRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetInstanceAuthStringRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InstanceAuthString. */
+ interface IInstanceAuthString {
+
+ /** InstanceAuthString authString */
+ authString?: (string|null);
+ }
+
+ /** Represents an InstanceAuthString. */
+ class InstanceAuthString implements IInstanceAuthString {
+
+ /**
+ * Constructs a new InstanceAuthString.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IInstanceAuthString);
+
+ /** InstanceAuthString authString. */
+ public authString: string;
+
+ /**
+ * Creates a new InstanceAuthString instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InstanceAuthString instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IInstanceAuthString): google.cloud.redis.v1.InstanceAuthString;
+
+ /**
+ * Encodes the specified InstanceAuthString message. Does not implicitly {@link google.cloud.redis.v1.InstanceAuthString.verify|verify} messages.
+ * @param message InstanceAuthString message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IInstanceAuthString, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InstanceAuthString message, length delimited. Does not implicitly {@link google.cloud.redis.v1.InstanceAuthString.verify|verify} messages.
+ * @param message InstanceAuthString message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IInstanceAuthString, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InstanceAuthString
+ * @throws {Error} If the payload is not 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.redis.v1.InstanceAuthString;
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InstanceAuthString
+ * @throws {Error} If the payload 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.redis.v1.InstanceAuthString;
+
+ /**
+ * Verifies an InstanceAuthString message.
+ * @param message Plain 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 InstanceAuthString message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InstanceAuthString
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.InstanceAuthString;
+
+ /**
+ * Creates a plain object from an InstanceAuthString message. Also converts values to other types if specified.
+ * @param message InstanceAuthString
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.InstanceAuthString, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InstanceAuthString to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InstanceAuthString
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateInstanceRequest. */
+ interface ICreateInstanceRequest {
+
+ /** CreateInstanceRequest parent */
+ parent?: (string|null);
+
+ /** CreateInstanceRequest instanceId */
+ instanceId?: (string|null);
+
+ /** CreateInstanceRequest instance */
+ instance?: (google.cloud.redis.v1.IInstance|null);
+ }
+
+ /** Represents a CreateInstanceRequest. */
+ class CreateInstanceRequest implements ICreateInstanceRequest {
+
+ /**
+ * Constructs a new CreateInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.ICreateInstanceRequest);
+
+ /** CreateInstanceRequest parent. */
+ public parent: string;
+
+ /** CreateInstanceRequest instanceId. */
+ public instanceId: string;
+
+ /** CreateInstanceRequest instance. */
+ public instance?: (google.cloud.redis.v1.IInstance|null);
+
+ /**
+ * Creates a new CreateInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.ICreateInstanceRequest): google.cloud.redis.v1.CreateInstanceRequest;
+
+ /**
+ * Encodes the specified CreateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.CreateInstanceRequest.verify|verify} messages.
+ * @param message CreateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.ICreateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.CreateInstanceRequest.verify|verify} messages.
+ * @param message CreateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.ICreateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.CreateInstanceRequest;
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.CreateInstanceRequest;
+
+ /**
+ * Verifies a CreateInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.CreateInstanceRequest;
+
+ /**
+ * Creates a plain object from a CreateInstanceRequest message. Also converts values to other types if specified.
+ * @param message CreateInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.CreateInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateInstanceRequest. */
+ interface IUpdateInstanceRequest {
+
+ /** UpdateInstanceRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateInstanceRequest instance */
+ instance?: (google.cloud.redis.v1.IInstance|null);
+ }
+
+ /** Represents an UpdateInstanceRequest. */
+ class UpdateInstanceRequest implements IUpdateInstanceRequest {
+
+ /**
+ * Constructs a new UpdateInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IUpdateInstanceRequest);
+
+ /** UpdateInstanceRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateInstanceRequest instance. */
+ public instance?: (google.cloud.redis.v1.IInstance|null);
+
+ /**
+ * Creates a new UpdateInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IUpdateInstanceRequest): google.cloud.redis.v1.UpdateInstanceRequest;
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.UpdateInstanceRequest.verify|verify} messages.
+ * @param message UpdateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IUpdateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.UpdateInstanceRequest.verify|verify} messages.
+ * @param message UpdateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IUpdateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.UpdateInstanceRequest;
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.UpdateInstanceRequest;
+
+ /**
+ * Verifies an UpdateInstanceRequest message.
+ * @param message Plain 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 UpdateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.UpdateInstanceRequest;
+
+ /**
+ * Creates a plain object from an UpdateInstanceRequest message. Also converts values to other types if specified.
+ * @param message UpdateInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.UpdateInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpgradeInstanceRequest. */
+ interface IUpgradeInstanceRequest {
+
+ /** UpgradeInstanceRequest name */
+ name?: (string|null);
+
+ /** UpgradeInstanceRequest redisVersion */
+ redisVersion?: (string|null);
+ }
+
+ /** Represents an UpgradeInstanceRequest. */
+ class UpgradeInstanceRequest implements IUpgradeInstanceRequest {
+
+ /**
+ * Constructs a new UpgradeInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IUpgradeInstanceRequest);
+
+ /** UpgradeInstanceRequest name. */
+ public name: string;
+
+ /** UpgradeInstanceRequest redisVersion. */
+ public redisVersion: string;
+
+ /**
+ * Creates a new UpgradeInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpgradeInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IUpgradeInstanceRequest): google.cloud.redis.v1.UpgradeInstanceRequest;
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.UpgradeInstanceRequest.verify|verify} messages.
+ * @param message UpgradeInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IUpgradeInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.UpgradeInstanceRequest.verify|verify} messages.
+ * @param message UpgradeInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IUpgradeInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpgradeInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.UpgradeInstanceRequest;
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpgradeInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.UpgradeInstanceRequest;
+
+ /**
+ * Verifies an UpgradeInstanceRequest message.
+ * @param message Plain 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 UpgradeInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpgradeInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.UpgradeInstanceRequest;
+
+ /**
+ * Creates a plain object from an UpgradeInstanceRequest message. Also converts values to other types if specified.
+ * @param message UpgradeInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.UpgradeInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpgradeInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpgradeInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteInstanceRequest. */
+ interface IDeleteInstanceRequest {
+
+ /** DeleteInstanceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteInstanceRequest. */
+ class DeleteInstanceRequest implements IDeleteInstanceRequest {
+
+ /**
+ * Constructs a new DeleteInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IDeleteInstanceRequest);
+
+ /** DeleteInstanceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IDeleteInstanceRequest): google.cloud.redis.v1.DeleteInstanceRequest;
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.DeleteInstanceRequest.verify|verify} messages.
+ * @param message DeleteInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IDeleteInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.DeleteInstanceRequest.verify|verify} messages.
+ * @param message DeleteInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IDeleteInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.DeleteInstanceRequest;
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.DeleteInstanceRequest;
+
+ /**
+ * Verifies a DeleteInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.DeleteInstanceRequest;
+
+ /**
+ * Creates a plain object from a DeleteInstanceRequest message. Also converts values to other types if specified.
+ * @param message DeleteInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.DeleteInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsSource. */
+ interface IGcsSource {
+
+ /** GcsSource uri */
+ uri?: (string|null);
+ }
+
+ /** Represents a GcsSource. */
+ class GcsSource implements IGcsSource {
+
+ /**
+ * Constructs a new GcsSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IGcsSource);
+
+ /** GcsSource uri. */
+ public uri: string;
+
+ /**
+ * Creates a new GcsSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsSource instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IGcsSource): google.cloud.redis.v1.GcsSource;
+
+ /**
+ * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.redis.v1.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsSource
+ * @throws {Error} If the payload is not 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.redis.v1.GcsSource;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsSource
+ * @throws {Error} If the payload 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.redis.v1.GcsSource;
+
+ /**
+ * Verifies a GcsSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.GcsSource;
+
+ /**
+ * Creates a plain object from a GcsSource message. Also converts values to other types if specified.
+ * @param message GcsSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InputConfig. */
+ interface IInputConfig {
+
+ /** InputConfig gcsSource */
+ gcsSource?: (google.cloud.redis.v1.IGcsSource|null);
+ }
+
+ /** Represents an InputConfig. */
+ class InputConfig implements IInputConfig {
+
+ /**
+ * Constructs a new InputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IInputConfig);
+
+ /** InputConfig gcsSource. */
+ public gcsSource?: (google.cloud.redis.v1.IGcsSource|null);
+
+ /** InputConfig source. */
+ public source?: "gcsSource";
+
+ /**
+ * Creates a new InputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InputConfig instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IInputConfig): google.cloud.redis.v1.InputConfig;
+
+ /**
+ * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.redis.v1.InputConfig.verify|verify} messages.
+ * @param message InputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1.InputConfig.verify|verify} messages.
+ * @param message InputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InputConfig
+ * @throws {Error} If the payload is not 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.redis.v1.InputConfig;
+
+ /**
+ * Decodes an InputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InputConfig
+ * @throws {Error} If the payload 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.redis.v1.InputConfig;
+
+ /**
+ * Verifies an InputConfig message.
+ * @param message Plain 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 InputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.InputConfig;
+
+ /**
+ * Creates a plain object from an InputConfig message. Also converts values to other types if specified.
+ * @param message InputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportInstanceRequest. */
+ interface IImportInstanceRequest {
+
+ /** ImportInstanceRequest name */
+ name?: (string|null);
+
+ /** ImportInstanceRequest inputConfig */
+ inputConfig?: (google.cloud.redis.v1.IInputConfig|null);
+ }
+
+ /** Represents an ImportInstanceRequest. */
+ class ImportInstanceRequest implements IImportInstanceRequest {
+
+ /**
+ * Constructs a new ImportInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IImportInstanceRequest);
+
+ /** ImportInstanceRequest name. */
+ public name: string;
+
+ /** ImportInstanceRequest inputConfig. */
+ public inputConfig?: (google.cloud.redis.v1.IInputConfig|null);
+
+ /**
+ * Creates a new ImportInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IImportInstanceRequest): google.cloud.redis.v1.ImportInstanceRequest;
+
+ /**
+ * Encodes the specified ImportInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.ImportInstanceRequest.verify|verify} messages.
+ * @param message ImportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IImportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ImportInstanceRequest.verify|verify} messages.
+ * @param message ImportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IImportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.ImportInstanceRequest;
+
+ /**
+ * Decodes an ImportInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.ImportInstanceRequest;
+
+ /**
+ * Verifies an ImportInstanceRequest message.
+ * @param message Plain 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 ImportInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.ImportInstanceRequest;
+
+ /**
+ * Creates a plain object from an ImportInstanceRequest message. Also converts values to other types if specified.
+ * @param message ImportInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.ImportInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsDestination. */
+ interface IGcsDestination {
+
+ /** GcsDestination uri */
+ uri?: (string|null);
+ }
+
+ /** Represents a GcsDestination. */
+ class GcsDestination implements IGcsDestination {
+
+ /**
+ * Constructs a new GcsDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IGcsDestination);
+
+ /** GcsDestination uri. */
+ public uri: string;
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsDestination instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IGcsDestination): google.cloud.redis.v1.GcsDestination;
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.redis.v1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not 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.redis.v1.GcsDestination;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsDestination
+ * @throws {Error} If the payload 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.redis.v1.GcsDestination;
+
+ /**
+ * Verifies a GcsDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.GcsDestination;
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @param message GcsDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OutputConfig. */
+ interface IOutputConfig {
+
+ /** OutputConfig gcsDestination */
+ gcsDestination?: (google.cloud.redis.v1.IGcsDestination|null);
+ }
+
+ /** Represents an OutputConfig. */
+ class OutputConfig implements IOutputConfig {
+
+ /**
+ * Constructs a new OutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IOutputConfig);
+
+ /** OutputConfig gcsDestination. */
+ public gcsDestination?: (google.cloud.redis.v1.IGcsDestination|null);
+
+ /** OutputConfig destination. */
+ public destination?: "gcsDestination";
+
+ /**
+ * Creates a new OutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputConfig instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IOutputConfig): google.cloud.redis.v1.OutputConfig;
+
+ /**
+ * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.redis.v1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputConfig
+ * @throws {Error} If the payload is not 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.redis.v1.OutputConfig;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputConfig
+ * @throws {Error} If the payload 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.redis.v1.OutputConfig;
+
+ /**
+ * Verifies an OutputConfig message.
+ * @param message Plain 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 OutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.OutputConfig;
+
+ /**
+ * Creates a plain object from an OutputConfig message. Also converts values to other types if specified.
+ * @param message OutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportInstanceRequest. */
+ interface IExportInstanceRequest {
+
+ /** ExportInstanceRequest name */
+ name?: (string|null);
+
+ /** ExportInstanceRequest outputConfig */
+ outputConfig?: (google.cloud.redis.v1.IOutputConfig|null);
+ }
+
+ /** Represents an ExportInstanceRequest. */
+ class ExportInstanceRequest implements IExportInstanceRequest {
+
+ /**
+ * Constructs a new ExportInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IExportInstanceRequest);
+
+ /** ExportInstanceRequest name. */
+ public name: string;
+
+ /** ExportInstanceRequest outputConfig. */
+ public outputConfig?: (google.cloud.redis.v1.IOutputConfig|null);
+
+ /**
+ * Creates a new ExportInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IExportInstanceRequest): google.cloud.redis.v1.ExportInstanceRequest;
+
+ /**
+ * Encodes the specified ExportInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.ExportInstanceRequest.verify|verify} messages.
+ * @param message ExportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IExportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ExportInstanceRequest.verify|verify} messages.
+ * @param message ExportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IExportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.ExportInstanceRequest;
+
+ /**
+ * Decodes an ExportInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.ExportInstanceRequest;
+
+ /**
+ * Verifies an ExportInstanceRequest message.
+ * @param message Plain 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 ExportInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.ExportInstanceRequest;
+
+ /**
+ * Creates a plain object from an ExportInstanceRequest message. Also converts values to other types if specified.
+ * @param message ExportInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.ExportInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FailoverInstanceRequest. */
+ interface IFailoverInstanceRequest {
+
+ /** FailoverInstanceRequest name */
+ name?: (string|null);
+
+ /** FailoverInstanceRequest dataProtectionMode */
+ dataProtectionMode?: (google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode|keyof typeof google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode|null);
+ }
+
+ /** Represents a FailoverInstanceRequest. */
+ class FailoverInstanceRequest implements IFailoverInstanceRequest {
+
+ /**
+ * Constructs a new FailoverInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IFailoverInstanceRequest);
+
+ /** FailoverInstanceRequest name. */
+ public name: string;
+
+ /** FailoverInstanceRequest dataProtectionMode. */
+ public dataProtectionMode: (google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode|keyof typeof google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode);
+
+ /**
+ * Creates a new FailoverInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FailoverInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IFailoverInstanceRequest): google.cloud.redis.v1.FailoverInstanceRequest;
+
+ /**
+ * Encodes the specified FailoverInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.FailoverInstanceRequest.verify|verify} messages.
+ * @param message FailoverInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IFailoverInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FailoverInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.FailoverInstanceRequest.verify|verify} messages.
+ * @param message FailoverInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IFailoverInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FailoverInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FailoverInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1.FailoverInstanceRequest;
+
+ /**
+ * Decodes a FailoverInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FailoverInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1.FailoverInstanceRequest;
+
+ /**
+ * Verifies a FailoverInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FailoverInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FailoverInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.FailoverInstanceRequest;
+
+ /**
+ * Creates a plain object from a FailoverInstanceRequest message. Also converts values to other types if specified.
+ * @param message FailoverInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.FailoverInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FailoverInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FailoverInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FailoverInstanceRequest {
+
+ /** DataProtectionMode enum. */
+ enum DataProtectionMode {
+ DATA_PROTECTION_MODE_UNSPECIFIED = 0,
+ LIMITED_DATA_LOSS = 1,
+ FORCE_DATA_LOSS = 2
+ }
+ }
+
+ /** Properties of an OperationMetadata. */
+ interface IOperationMetadata {
+
+ /** OperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target */
+ target?: (string|null);
+
+ /** OperationMetadata verb */
+ verb?: (string|null);
+
+ /** OperationMetadata statusDetail */
+ statusDetail?: (string|null);
+
+ /** OperationMetadata cancelRequested */
+ cancelRequested?: (boolean|null);
+
+ /** OperationMetadata apiVersion */
+ apiVersion?: (string|null);
+ }
+
+ /** Represents an OperationMetadata. */
+ class OperationMetadata implements IOperationMetadata {
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IOperationMetadata);
+
+ /** OperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target. */
+ public target: string;
+
+ /** OperationMetadata verb. */
+ public verb: string;
+
+ /** OperationMetadata statusDetail. */
+ public statusDetail: string;
+
+ /** OperationMetadata cancelRequested. */
+ public cancelRequested: boolean;
+
+ /** OperationMetadata apiVersion. */
+ public apiVersion: string;
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationMetadata instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IOperationMetadata): google.cloud.redis.v1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.redis.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.redis.v1.OperationMetadata;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.redis.v1.OperationMetadata;
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.OperationMetadata;
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @param message OperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LocationMetadata. */
+ interface ILocationMetadata {
+
+ /** LocationMetadata availableZones */
+ availableZones?: ({ [k: string]: google.cloud.redis.v1.IZoneMetadata }|null);
+ }
+
+ /** Represents a LocationMetadata. */
+ class LocationMetadata implements ILocationMetadata {
+
+ /**
+ * Constructs a new LocationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.ILocationMetadata);
+
+ /** LocationMetadata availableZones. */
+ public availableZones: { [k: string]: google.cloud.redis.v1.IZoneMetadata };
+
+ /**
+ * Creates a new LocationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationMetadata instance
+ */
+ public static create(properties?: google.cloud.redis.v1.ILocationMetadata): google.cloud.redis.v1.LocationMetadata;
+
+ /**
+ * Encodes the specified LocationMetadata message. Does not implicitly {@link google.cloud.redis.v1.LocationMetadata.verify|verify} messages.
+ * @param message LocationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.ILocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1.LocationMetadata.verify|verify} messages.
+ * @param message LocationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.ILocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocationMetadata
+ * @throws {Error} If the payload is not 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.redis.v1.LocationMetadata;
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocationMetadata
+ * @throws {Error} If the payload 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.redis.v1.LocationMetadata;
+
+ /**
+ * Verifies a LocationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LocationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.LocationMetadata;
+
+ /**
+ * Creates a plain object from a LocationMetadata message. Also converts values to other types if specified.
+ * @param message LocationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.LocationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ZoneMetadata. */
+ interface IZoneMetadata {
+ }
+
+ /** Represents a ZoneMetadata. */
+ class ZoneMetadata implements IZoneMetadata {
+
+ /**
+ * Constructs a new ZoneMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.IZoneMetadata);
+
+ /**
+ * Creates a new ZoneMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ZoneMetadata instance
+ */
+ public static create(properties?: google.cloud.redis.v1.IZoneMetadata): google.cloud.redis.v1.ZoneMetadata;
+
+ /**
+ * Encodes the specified ZoneMetadata message. Does not implicitly {@link google.cloud.redis.v1.ZoneMetadata.verify|verify} messages.
+ * @param message ZoneMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.IZoneMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ZoneMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ZoneMetadata.verify|verify} messages.
+ * @param message ZoneMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.IZoneMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ZoneMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ZoneMetadata
+ * @throws {Error} If the payload is not 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.redis.v1.ZoneMetadata;
+
+ /**
+ * Decodes a ZoneMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ZoneMetadata
+ * @throws {Error} If the payload 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.redis.v1.ZoneMetadata;
+
+ /**
+ * Verifies a ZoneMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ZoneMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ZoneMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.ZoneMetadata;
+
+ /**
+ * Creates a plain object from a ZoneMetadata message. Also converts values to other types if specified.
+ * @param message ZoneMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.ZoneMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ZoneMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ZoneMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TlsCertificate. */
+ interface ITlsCertificate {
+
+ /** TlsCertificate serialNumber */
+ serialNumber?: (string|null);
+
+ /** TlsCertificate cert */
+ cert?: (string|null);
+
+ /** TlsCertificate createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate sha1Fingerprint */
+ sha1Fingerprint?: (string|null);
+ }
+
+ /** Represents a TlsCertificate. */
+ class TlsCertificate implements ITlsCertificate {
+
+ /**
+ * Constructs a new TlsCertificate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1.ITlsCertificate);
+
+ /** TlsCertificate serialNumber. */
+ public serialNumber: string;
+
+ /** TlsCertificate cert. */
+ public cert: string;
+
+ /** TlsCertificate createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate sha1Fingerprint. */
+ public sha1Fingerprint: string;
+
+ /**
+ * Creates a new TlsCertificate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TlsCertificate instance
+ */
+ public static create(properties?: google.cloud.redis.v1.ITlsCertificate): google.cloud.redis.v1.TlsCertificate;
+
+ /**
+ * Encodes the specified TlsCertificate message. Does not implicitly {@link google.cloud.redis.v1.TlsCertificate.verify|verify} messages.
+ * @param message TlsCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1.ITlsCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TlsCertificate message, length delimited. Does not implicitly {@link google.cloud.redis.v1.TlsCertificate.verify|verify} messages.
+ * @param message TlsCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1.ITlsCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TlsCertificate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TlsCertificate
+ * @throws {Error} If the payload is not 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.redis.v1.TlsCertificate;
+
+ /**
+ * Decodes a TlsCertificate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TlsCertificate
+ * @throws {Error} If the payload 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.redis.v1.TlsCertificate;
+
+ /**
+ * Verifies a TlsCertificate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TlsCertificate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TlsCertificate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1.TlsCertificate;
+
+ /**
+ * Creates a plain object from a TlsCertificate message. Also converts values to other types if specified.
+ * @param message TlsCertificate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1.TlsCertificate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TlsCertificate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TlsCertificate
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v1beta1. */
+ namespace v1beta1 {
+
+ /** Represents a CloudRedis */
+ class CloudRedis extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CloudRedis 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 CloudRedis 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): CloudRedis;
+
+ /**
+ * Calls ListInstances.
+ * @param request ListInstancesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListInstancesResponse
+ */
+ public listInstances(request: google.cloud.redis.v1beta1.IListInstancesRequest, callback: google.cloud.redis.v1beta1.CloudRedis.ListInstancesCallback): void;
+
+ /**
+ * Calls ListInstances.
+ * @param request ListInstancesRequest message or plain object
+ * @returns Promise
+ */
+ public listInstances(request: google.cloud.redis.v1beta1.IListInstancesRequest): Promise;
+
+ /**
+ * Calls GetInstance.
+ * @param request GetInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Instance
+ */
+ public getInstance(request: google.cloud.redis.v1beta1.IGetInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.GetInstanceCallback): void;
+
+ /**
+ * Calls GetInstance.
+ * @param request GetInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public getInstance(request: google.cloud.redis.v1beta1.IGetInstanceRequest): Promise;
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @param request GetInstanceAuthStringRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and InstanceAuthString
+ */
+ public getInstanceAuthString(request: google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest, callback: google.cloud.redis.v1beta1.CloudRedis.GetInstanceAuthStringCallback): void;
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @param request GetInstanceAuthStringRequest message or plain object
+ * @returns Promise
+ */
+ public getInstanceAuthString(request: google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest): Promise;
+
+ /**
+ * Calls CreateInstance.
+ * @param request CreateInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createInstance(request: google.cloud.redis.v1beta1.ICreateInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.CreateInstanceCallback): void;
+
+ /**
+ * Calls CreateInstance.
+ * @param request CreateInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public createInstance(request: google.cloud.redis.v1beta1.ICreateInstanceRequest): Promise;
+
+ /**
+ * Calls UpdateInstance.
+ * @param request UpdateInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateInstance(request: google.cloud.redis.v1beta1.IUpdateInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.UpdateInstanceCallback): void;
+
+ /**
+ * Calls UpdateInstance.
+ * @param request UpdateInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public updateInstance(request: google.cloud.redis.v1beta1.IUpdateInstanceRequest): Promise;
+
+ /**
+ * Calls UpgradeInstance.
+ * @param request UpgradeInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public upgradeInstance(request: google.cloud.redis.v1beta1.IUpgradeInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.UpgradeInstanceCallback): void;
+
+ /**
+ * Calls UpgradeInstance.
+ * @param request UpgradeInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public upgradeInstance(request: google.cloud.redis.v1beta1.IUpgradeInstanceRequest): Promise;
+
+ /**
+ * Calls ImportInstance.
+ * @param request ImportInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public importInstance(request: google.cloud.redis.v1beta1.IImportInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.ImportInstanceCallback): void;
+
+ /**
+ * Calls ImportInstance.
+ * @param request ImportInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public importInstance(request: google.cloud.redis.v1beta1.IImportInstanceRequest): Promise;
+
+ /**
+ * Calls ExportInstance.
+ * @param request ExportInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public exportInstance(request: google.cloud.redis.v1beta1.IExportInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.ExportInstanceCallback): void;
+
+ /**
+ * Calls ExportInstance.
+ * @param request ExportInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public exportInstance(request: google.cloud.redis.v1beta1.IExportInstanceRequest): Promise;
+
+ /**
+ * Calls FailoverInstance.
+ * @param request FailoverInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public failoverInstance(request: google.cloud.redis.v1beta1.IFailoverInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.FailoverInstanceCallback): void;
+
+ /**
+ * Calls FailoverInstance.
+ * @param request FailoverInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public failoverInstance(request: google.cloud.redis.v1beta1.IFailoverInstanceRequest): Promise;
+
+ /**
+ * Calls DeleteInstance.
+ * @param request DeleteInstanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteInstance(request: google.cloud.redis.v1beta1.IDeleteInstanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.DeleteInstanceCallback): void;
+
+ /**
+ * Calls DeleteInstance.
+ * @param request DeleteInstanceRequest message or plain object
+ * @returns Promise
+ */
+ public deleteInstance(request: google.cloud.redis.v1beta1.IDeleteInstanceRequest): Promise;
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @param request RescheduleMaintenanceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public rescheduleMaintenance(request: google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest, callback: google.cloud.redis.v1beta1.CloudRedis.RescheduleMaintenanceCallback): void;
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @param request RescheduleMaintenanceRequest message or plain object
+ * @returns Promise
+ */
+ public rescheduleMaintenance(request: google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest): Promise;
+ }
+
+ namespace CloudRedis {
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|listInstances}.
+ * @param error Error, if any
+ * @param [response] ListInstancesResponse
+ */
+ type ListInstancesCallback = (error: (Error|null), response?: google.cloud.redis.v1beta1.ListInstancesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|getInstance}.
+ * @param error Error, if any
+ * @param [response] Instance
+ */
+ type GetInstanceCallback = (error: (Error|null), response?: google.cloud.redis.v1beta1.Instance) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|getInstanceAuthString}.
+ * @param error Error, if any
+ * @param [response] InstanceAuthString
+ */
+ type GetInstanceAuthStringCallback = (error: (Error|null), response?: google.cloud.redis.v1beta1.InstanceAuthString) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|createInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|updateInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|upgradeInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpgradeInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|importInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ImportInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|exportInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ExportInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|failoverInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type FailoverInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|deleteInstance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteInstanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|rescheduleMaintenance}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RescheduleMaintenanceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a NodeInfo. */
+ interface INodeInfo {
+
+ /** NodeInfo id */
+ id?: (string|null);
+
+ /** NodeInfo zone */
+ zone?: (string|null);
+ }
+
+ /** Represents a NodeInfo. */
+ class NodeInfo implements INodeInfo {
+
+ /**
+ * Constructs a new NodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.INodeInfo);
+
+ /** NodeInfo id. */
+ public id: string;
+
+ /** NodeInfo zone. */
+ public zone: string;
+
+ /**
+ * Creates a new NodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NodeInfo instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.INodeInfo): google.cloud.redis.v1beta1.NodeInfo;
+
+ /**
+ * Encodes the specified NodeInfo message. Does not implicitly {@link google.cloud.redis.v1beta1.NodeInfo.verify|verify} messages.
+ * @param message NodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.INodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NodeInfo message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.NodeInfo.verify|verify} messages.
+ * @param message NodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.INodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NodeInfo
+ * @throws {Error} If the payload is not 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.redis.v1beta1.NodeInfo;
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NodeInfo
+ * @throws {Error} If the payload 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.redis.v1beta1.NodeInfo;
+
+ /**
+ * Verifies a NodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.NodeInfo;
+
+ /**
+ * Creates a plain object from a NodeInfo message. Also converts values to other types if specified.
+ * @param message NodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.NodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Instance. */
+ interface IInstance {
+
+ /** Instance name */
+ name?: (string|null);
+
+ /** Instance displayName */
+ displayName?: (string|null);
+
+ /** Instance labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Instance locationId */
+ locationId?: (string|null);
+
+ /** Instance alternativeLocationId */
+ alternativeLocationId?: (string|null);
+
+ /** Instance redisVersion */
+ redisVersion?: (string|null);
+
+ /** Instance reservedIpRange */
+ reservedIpRange?: (string|null);
+
+ /** Instance secondaryIpRange */
+ secondaryIpRange?: (string|null);
+
+ /** Instance host */
+ host?: (string|null);
+
+ /** Instance port */
+ port?: (number|null);
+
+ /** Instance currentLocationId */
+ currentLocationId?: (string|null);
+
+ /** Instance createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Instance state */
+ state?: (google.cloud.redis.v1beta1.Instance.State|keyof typeof google.cloud.redis.v1beta1.Instance.State|null);
+
+ /** Instance statusMessage */
+ statusMessage?: (string|null);
+
+ /** Instance redisConfigs */
+ redisConfigs?: ({ [k: string]: string }|null);
+
+ /** Instance tier */
+ tier?: (google.cloud.redis.v1beta1.Instance.Tier|keyof typeof google.cloud.redis.v1beta1.Instance.Tier|null);
+
+ /** Instance memorySizeGb */
+ memorySizeGb?: (number|null);
+
+ /** Instance authorizedNetwork */
+ authorizedNetwork?: (string|null);
+
+ /** Instance persistenceIamIdentity */
+ persistenceIamIdentity?: (string|null);
+
+ /** Instance connectMode */
+ connectMode?: (google.cloud.redis.v1beta1.Instance.ConnectMode|keyof typeof google.cloud.redis.v1beta1.Instance.ConnectMode|null);
+
+ /** Instance authEnabled */
+ authEnabled?: (boolean|null);
+
+ /** Instance serverCaCerts */
+ serverCaCerts?: (google.cloud.redis.v1beta1.ITlsCertificate[]|null);
+
+ /** Instance transitEncryptionMode */
+ transitEncryptionMode?: (google.cloud.redis.v1beta1.Instance.TransitEncryptionMode|keyof typeof google.cloud.redis.v1beta1.Instance.TransitEncryptionMode|null);
+
+ /** Instance maintenancePolicy */
+ maintenancePolicy?: (google.cloud.redis.v1beta1.IMaintenancePolicy|null);
+
+ /** Instance maintenanceSchedule */
+ maintenanceSchedule?: (google.cloud.redis.v1beta1.IMaintenanceSchedule|null);
+
+ /** Instance replicaCount */
+ replicaCount?: (number|null);
+
+ /** Instance nodes */
+ nodes?: (google.cloud.redis.v1beta1.INodeInfo[]|null);
+
+ /** Instance readEndpoint */
+ readEndpoint?: (string|null);
+
+ /** Instance readEndpointPort */
+ readEndpointPort?: (number|null);
+
+ /** Instance readReplicasMode */
+ readReplicasMode?: (google.cloud.redis.v1beta1.Instance.ReadReplicasMode|keyof typeof google.cloud.redis.v1beta1.Instance.ReadReplicasMode|null);
+
+ /** Instance persistenceConfig */
+ persistenceConfig?: (google.cloud.redis.v1beta1.IPersistenceConfig|null);
+ }
+
+ /** Represents an Instance. */
+ class Instance implements IInstance {
+
+ /**
+ * Constructs a new Instance.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IInstance);
+
+ /** Instance name. */
+ public name: string;
+
+ /** Instance displayName. */
+ public displayName: string;
+
+ /** Instance labels. */
+ public labels: { [k: string]: string };
+
+ /** Instance locationId. */
+ public locationId: string;
+
+ /** Instance alternativeLocationId. */
+ public alternativeLocationId: string;
+
+ /** Instance redisVersion. */
+ public redisVersion: string;
+
+ /** Instance reservedIpRange. */
+ public reservedIpRange: string;
+
+ /** Instance secondaryIpRange. */
+ public secondaryIpRange: string;
+
+ /** Instance host. */
+ public host: string;
+
+ /** Instance port. */
+ public port: number;
+
+ /** Instance currentLocationId. */
+ public currentLocationId: string;
+
+ /** Instance createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Instance state. */
+ public state: (google.cloud.redis.v1beta1.Instance.State|keyof typeof google.cloud.redis.v1beta1.Instance.State);
+
+ /** Instance statusMessage. */
+ public statusMessage: string;
+
+ /** Instance redisConfigs. */
+ public redisConfigs: { [k: string]: string };
+
+ /** Instance tier. */
+ public tier: (google.cloud.redis.v1beta1.Instance.Tier|keyof typeof google.cloud.redis.v1beta1.Instance.Tier);
+
+ /** Instance memorySizeGb. */
+ public memorySizeGb: number;
+
+ /** Instance authorizedNetwork. */
+ public authorizedNetwork: string;
+
+ /** Instance persistenceIamIdentity. */
+ public persistenceIamIdentity: string;
+
+ /** Instance connectMode. */
+ public connectMode: (google.cloud.redis.v1beta1.Instance.ConnectMode|keyof typeof google.cloud.redis.v1beta1.Instance.ConnectMode);
+
+ /** Instance authEnabled. */
+ public authEnabled: boolean;
+
+ /** Instance serverCaCerts. */
+ public serverCaCerts: google.cloud.redis.v1beta1.ITlsCertificate[];
+
+ /** Instance transitEncryptionMode. */
+ public transitEncryptionMode: (google.cloud.redis.v1beta1.Instance.TransitEncryptionMode|keyof typeof google.cloud.redis.v1beta1.Instance.TransitEncryptionMode);
+
+ /** Instance maintenancePolicy. */
+ public maintenancePolicy?: (google.cloud.redis.v1beta1.IMaintenancePolicy|null);
+
+ /** Instance maintenanceSchedule. */
+ public maintenanceSchedule?: (google.cloud.redis.v1beta1.IMaintenanceSchedule|null);
+
+ /** Instance replicaCount. */
+ public replicaCount: number;
+
+ /** Instance nodes. */
+ public nodes: google.cloud.redis.v1beta1.INodeInfo[];
+
+ /** Instance readEndpoint. */
+ public readEndpoint: string;
+
+ /** Instance readEndpointPort. */
+ public readEndpointPort: number;
+
+ /** Instance readReplicasMode. */
+ public readReplicasMode: (google.cloud.redis.v1beta1.Instance.ReadReplicasMode|keyof typeof google.cloud.redis.v1beta1.Instance.ReadReplicasMode);
+
+ /** Instance persistenceConfig. */
+ public persistenceConfig?: (google.cloud.redis.v1beta1.IPersistenceConfig|null);
+
+ /**
+ * Creates a new Instance instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Instance instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IInstance): google.cloud.redis.v1beta1.Instance;
+
+ /**
+ * Encodes the specified Instance message. Does not implicitly {@link google.cloud.redis.v1beta1.Instance.verify|verify} messages.
+ * @param message Instance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Instance message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.Instance.verify|verify} messages.
+ * @param message Instance message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IInstance, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Instance
+ * @throws {Error} If the payload is not 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.redis.v1beta1.Instance;
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Instance
+ * @throws {Error} If the payload 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.redis.v1beta1.Instance;
+
+ /**
+ * Verifies an Instance message.
+ * @param message Plain 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 Instance message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Instance
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.Instance;
+
+ /**
+ * Creates a plain object from an Instance message. Also converts values to other types if specified.
+ * @param message Instance
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.Instance, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Instance to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Instance
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Instance {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ CREATING = 1,
+ READY = 2,
+ UPDATING = 3,
+ DELETING = 4,
+ REPAIRING = 5,
+ MAINTENANCE = 6,
+ IMPORTING = 8,
+ FAILING_OVER = 10
+ }
+
+ /** Tier enum. */
+ enum Tier {
+ TIER_UNSPECIFIED = 0,
+ BASIC = 1,
+ STANDARD_HA = 3
+ }
+
+ /** ConnectMode enum. */
+ enum ConnectMode {
+ CONNECT_MODE_UNSPECIFIED = 0,
+ DIRECT_PEERING = 1,
+ PRIVATE_SERVICE_ACCESS = 2
+ }
+
+ /** TransitEncryptionMode enum. */
+ enum TransitEncryptionMode {
+ TRANSIT_ENCRYPTION_MODE_UNSPECIFIED = 0,
+ SERVER_AUTHENTICATION = 1,
+ DISABLED = 2
+ }
+
+ /** ReadReplicasMode enum. */
+ enum ReadReplicasMode {
+ READ_REPLICAS_MODE_UNSPECIFIED = 0,
+ READ_REPLICAS_DISABLED = 1,
+ READ_REPLICAS_ENABLED = 2
+ }
+ }
+
+ /** Properties of a PersistenceConfig. */
+ interface IPersistenceConfig {
+
+ /** PersistenceConfig persistenceMode */
+ persistenceMode?: (google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode|keyof typeof google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode|null);
+
+ /** PersistenceConfig rdbSnapshotPeriod */
+ rdbSnapshotPeriod?: (google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod|keyof typeof google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod|null);
+
+ /** PersistenceConfig rdbNextSnapshotTime */
+ rdbNextSnapshotTime?: (google.protobuf.ITimestamp|null);
+
+ /** PersistenceConfig rdbSnapshotStartTime */
+ rdbSnapshotStartTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a PersistenceConfig. */
+ class PersistenceConfig implements IPersistenceConfig {
+
+ /**
+ * Constructs a new PersistenceConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IPersistenceConfig);
+
+ /** PersistenceConfig persistenceMode. */
+ public persistenceMode: (google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode|keyof typeof google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode);
+
+ /** PersistenceConfig rdbSnapshotPeriod. */
+ public rdbSnapshotPeriod: (google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod|keyof typeof google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod);
+
+ /** PersistenceConfig rdbNextSnapshotTime. */
+ public rdbNextSnapshotTime?: (google.protobuf.ITimestamp|null);
+
+ /** PersistenceConfig rdbSnapshotStartTime. */
+ public rdbSnapshotStartTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new PersistenceConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PersistenceConfig instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IPersistenceConfig): google.cloud.redis.v1beta1.PersistenceConfig;
+
+ /**
+ * Encodes the specified PersistenceConfig message. Does not implicitly {@link google.cloud.redis.v1beta1.PersistenceConfig.verify|verify} messages.
+ * @param message PersistenceConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IPersistenceConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PersistenceConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.PersistenceConfig.verify|verify} messages.
+ * @param message PersistenceConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IPersistenceConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PersistenceConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PersistenceConfig
+ * @throws {Error} If the payload is not 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.redis.v1beta1.PersistenceConfig;
+
+ /**
+ * Decodes a PersistenceConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PersistenceConfig
+ * @throws {Error} If the payload 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.redis.v1beta1.PersistenceConfig;
+
+ /**
+ * Verifies a PersistenceConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PersistenceConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PersistenceConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.PersistenceConfig;
+
+ /**
+ * Creates a plain object from a PersistenceConfig message. Also converts values to other types if specified.
+ * @param message PersistenceConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.PersistenceConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PersistenceConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PersistenceConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PersistenceConfig {
+
+ /** PersistenceMode enum. */
+ enum PersistenceMode {
+ PERSISTENCE_MODE_UNSPECIFIED = 0,
+ DISABLED = 1,
+ RDB = 2
+ }
+
+ /** SnapshotPeriod enum. */
+ enum SnapshotPeriod {
+ SNAPSHOT_PERIOD_UNSPECIFIED = 0,
+ ONE_HOUR = 3,
+ SIX_HOURS = 4,
+ TWELVE_HOURS = 5,
+ TWENTY_FOUR_HOURS = 6
+ }
+ }
+
+ /** Properties of a RescheduleMaintenanceRequest. */
+ interface IRescheduleMaintenanceRequest {
+
+ /** RescheduleMaintenanceRequest name */
+ name?: (string|null);
+
+ /** RescheduleMaintenanceRequest rescheduleType */
+ rescheduleType?: (google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType|keyof typeof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType|null);
+
+ /** RescheduleMaintenanceRequest scheduleTime */
+ scheduleTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a RescheduleMaintenanceRequest. */
+ class RescheduleMaintenanceRequest implements IRescheduleMaintenanceRequest {
+
+ /**
+ * Constructs a new RescheduleMaintenanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest);
+
+ /** RescheduleMaintenanceRequest name. */
+ public name: string;
+
+ /** RescheduleMaintenanceRequest rescheduleType. */
+ public rescheduleType: (google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType|keyof typeof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType);
+
+ /** RescheduleMaintenanceRequest scheduleTime. */
+ public scheduleTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new RescheduleMaintenanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RescheduleMaintenanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest): google.cloud.redis.v1beta1.RescheduleMaintenanceRequest;
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @param message RescheduleMaintenanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @param message RescheduleMaintenanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RescheduleMaintenanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.RescheduleMaintenanceRequest;
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RescheduleMaintenanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.RescheduleMaintenanceRequest;
+
+ /**
+ * Verifies a RescheduleMaintenanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RescheduleMaintenanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RescheduleMaintenanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.RescheduleMaintenanceRequest;
+
+ /**
+ * Creates a plain object from a RescheduleMaintenanceRequest message. Also converts values to other types if specified.
+ * @param message RescheduleMaintenanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.RescheduleMaintenanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RescheduleMaintenanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RescheduleMaintenanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace RescheduleMaintenanceRequest {
+
+ /** RescheduleType enum. */
+ enum RescheduleType {
+ RESCHEDULE_TYPE_UNSPECIFIED = 0,
+ IMMEDIATE = 1,
+ NEXT_AVAILABLE_WINDOW = 2,
+ SPECIFIC_TIME = 3
+ }
+ }
+
+ /** Properties of a MaintenancePolicy. */
+ interface IMaintenancePolicy {
+
+ /** MaintenancePolicy createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy description */
+ description?: (string|null);
+
+ /** MaintenancePolicy weeklyMaintenanceWindow */
+ weeklyMaintenanceWindow?: (google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow[]|null);
+ }
+
+ /** Represents a MaintenancePolicy. */
+ class MaintenancePolicy implements IMaintenancePolicy {
+
+ /**
+ * Constructs a new MaintenancePolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IMaintenancePolicy);
+
+ /** MaintenancePolicy createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenancePolicy description. */
+ public description: string;
+
+ /** MaintenancePolicy weeklyMaintenanceWindow. */
+ public weeklyMaintenanceWindow: google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow[];
+
+ /**
+ * Creates a new MaintenancePolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MaintenancePolicy instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IMaintenancePolicy): google.cloud.redis.v1beta1.MaintenancePolicy;
+
+ /**
+ * Encodes the specified MaintenancePolicy message. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenancePolicy.verify|verify} messages.
+ * @param message MaintenancePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IMaintenancePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MaintenancePolicy message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenancePolicy.verify|verify} messages.
+ * @param message MaintenancePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IMaintenancePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MaintenancePolicy
+ * @throws {Error} If the payload is not 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.redis.v1beta1.MaintenancePolicy;
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MaintenancePolicy
+ * @throws {Error} If the payload 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.redis.v1beta1.MaintenancePolicy;
+
+ /**
+ * Verifies a MaintenancePolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MaintenancePolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MaintenancePolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.MaintenancePolicy;
+
+ /**
+ * Creates a plain object from a MaintenancePolicy message. Also converts values to other types if specified.
+ * @param message MaintenancePolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.MaintenancePolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MaintenancePolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MaintenancePolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WeeklyMaintenanceWindow. */
+ interface IWeeklyMaintenanceWindow {
+
+ /** WeeklyMaintenanceWindow day */
+ day?: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek|null);
+
+ /** WeeklyMaintenanceWindow startTime */
+ startTime?: (google.type.ITimeOfDay|null);
+
+ /** WeeklyMaintenanceWindow duration */
+ duration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WeeklyMaintenanceWindow. */
+ class WeeklyMaintenanceWindow implements IWeeklyMaintenanceWindow {
+
+ /**
+ * Constructs a new WeeklyMaintenanceWindow.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow);
+
+ /** WeeklyMaintenanceWindow day. */
+ public day: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek);
+
+ /** WeeklyMaintenanceWindow startTime. */
+ public startTime?: (google.type.ITimeOfDay|null);
+
+ /** WeeklyMaintenanceWindow duration. */
+ public duration?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WeeklyMaintenanceWindow instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WeeklyMaintenanceWindow instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow): google.cloud.redis.v1beta1.WeeklyMaintenanceWindow;
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message. Does not implicitly {@link google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @param message WeeklyMaintenanceWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @param message WeeklyMaintenanceWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WeeklyMaintenanceWindow
+ * @throws {Error} If the payload is not 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.redis.v1beta1.WeeklyMaintenanceWindow;
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WeeklyMaintenanceWindow
+ * @throws {Error} If the payload 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.redis.v1beta1.WeeklyMaintenanceWindow;
+
+ /**
+ * Verifies a WeeklyMaintenanceWindow message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WeeklyMaintenanceWindow message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WeeklyMaintenanceWindow
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.WeeklyMaintenanceWindow;
+
+ /**
+ * Creates a plain object from a WeeklyMaintenanceWindow message. Also converts values to other types if specified.
+ * @param message WeeklyMaintenanceWindow
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.WeeklyMaintenanceWindow, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WeeklyMaintenanceWindow to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WeeklyMaintenanceWindow
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MaintenanceSchedule. */
+ interface IMaintenanceSchedule {
+
+ /** MaintenanceSchedule startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule canReschedule */
+ canReschedule?: (boolean|null);
+
+ /** MaintenanceSchedule scheduleDeadlineTime */
+ scheduleDeadlineTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a MaintenanceSchedule. */
+ class MaintenanceSchedule implements IMaintenanceSchedule {
+
+ /**
+ * Constructs a new MaintenanceSchedule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IMaintenanceSchedule);
+
+ /** MaintenanceSchedule startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** MaintenanceSchedule canReschedule. */
+ public canReschedule: boolean;
+
+ /** MaintenanceSchedule scheduleDeadlineTime. */
+ public scheduleDeadlineTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new MaintenanceSchedule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MaintenanceSchedule instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IMaintenanceSchedule): google.cloud.redis.v1beta1.MaintenanceSchedule;
+
+ /**
+ * Encodes the specified MaintenanceSchedule message. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenanceSchedule.verify|verify} messages.
+ * @param message MaintenanceSchedule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IMaintenanceSchedule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MaintenanceSchedule message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenanceSchedule.verify|verify} messages.
+ * @param message MaintenanceSchedule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IMaintenanceSchedule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MaintenanceSchedule
+ * @throws {Error} If the payload is not 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.redis.v1beta1.MaintenanceSchedule;
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MaintenanceSchedule
+ * @throws {Error} If the payload 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.redis.v1beta1.MaintenanceSchedule;
+
+ /**
+ * Verifies a MaintenanceSchedule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MaintenanceSchedule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MaintenanceSchedule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.MaintenanceSchedule;
+
+ /**
+ * Creates a plain object from a MaintenanceSchedule message. Also converts values to other types if specified.
+ * @param message MaintenanceSchedule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.MaintenanceSchedule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MaintenanceSchedule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MaintenanceSchedule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInstancesRequest. */
+ interface IListInstancesRequest {
+
+ /** ListInstancesRequest parent */
+ parent?: (string|null);
+
+ /** ListInstancesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListInstancesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListInstancesRequest. */
+ class ListInstancesRequest implements IListInstancesRequest {
+
+ /**
+ * Constructs a new ListInstancesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IListInstancesRequest);
+
+ /** ListInstancesRequest parent. */
+ public parent: string;
+
+ /** ListInstancesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListInstancesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListInstancesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInstancesRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IListInstancesRequest): google.cloud.redis.v1beta1.ListInstancesRequest;
+
+ /**
+ * Encodes the specified ListInstancesRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesRequest.verify|verify} messages.
+ * @param message ListInstancesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IListInstancesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInstancesRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesRequest.verify|verify} messages.
+ * @param message ListInstancesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IListInstancesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInstancesRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.ListInstancesRequest;
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInstancesRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.ListInstancesRequest;
+
+ /**
+ * Verifies a ListInstancesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInstancesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInstancesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.ListInstancesRequest;
+
+ /**
+ * Creates a plain object from a ListInstancesRequest message. Also converts values to other types if specified.
+ * @param message ListInstancesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.ListInstancesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInstancesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInstancesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInstancesResponse. */
+ interface IListInstancesResponse {
+
+ /** ListInstancesResponse instances */
+ instances?: (google.cloud.redis.v1beta1.IInstance[]|null);
+
+ /** ListInstancesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListInstancesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListInstancesResponse. */
+ class ListInstancesResponse implements IListInstancesResponse {
+
+ /**
+ * Constructs a new ListInstancesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IListInstancesResponse);
+
+ /** ListInstancesResponse instances. */
+ public instances: google.cloud.redis.v1beta1.IInstance[];
+
+ /** ListInstancesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListInstancesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListInstancesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInstancesResponse instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IListInstancesResponse): google.cloud.redis.v1beta1.ListInstancesResponse;
+
+ /**
+ * Encodes the specified ListInstancesResponse message. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesResponse.verify|verify} messages.
+ * @param message ListInstancesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IListInstancesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInstancesResponse message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesResponse.verify|verify} messages.
+ * @param message ListInstancesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IListInstancesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInstancesResponse
+ * @throws {Error} If the payload is not 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.redis.v1beta1.ListInstancesResponse;
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInstancesResponse
+ * @throws {Error} If the payload 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.redis.v1beta1.ListInstancesResponse;
+
+ /**
+ * Verifies a ListInstancesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInstancesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInstancesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.ListInstancesResponse;
+
+ /**
+ * Creates a plain object from a ListInstancesResponse message. Also converts values to other types if specified.
+ * @param message ListInstancesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.ListInstancesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInstancesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInstancesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetInstanceRequest. */
+ interface IGetInstanceRequest {
+
+ /** GetInstanceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetInstanceRequest. */
+ class GetInstanceRequest implements IGetInstanceRequest {
+
+ /**
+ * Constructs a new GetInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IGetInstanceRequest);
+
+ /** GetInstanceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IGetInstanceRequest): google.cloud.redis.v1beta1.GetInstanceRequest;
+
+ /**
+ * Encodes the specified GetInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceRequest.verify|verify} messages.
+ * @param message GetInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IGetInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceRequest.verify|verify} messages.
+ * @param message GetInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IGetInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.GetInstanceRequest;
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.GetInstanceRequest;
+
+ /**
+ * Verifies a GetInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.GetInstanceRequest;
+
+ /**
+ * Creates a plain object from a GetInstanceRequest message. Also converts values to other types if specified.
+ * @param message GetInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.GetInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetInstanceAuthStringRequest. */
+ interface IGetInstanceAuthStringRequest {
+
+ /** GetInstanceAuthStringRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetInstanceAuthStringRequest. */
+ class GetInstanceAuthStringRequest implements IGetInstanceAuthStringRequest {
+
+ /**
+ * Constructs a new GetInstanceAuthStringRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest);
+
+ /** GetInstanceAuthStringRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetInstanceAuthStringRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetInstanceAuthStringRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest): google.cloud.redis.v1beta1.GetInstanceAuthStringRequest;
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @param message GetInstanceAuthStringRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @param message GetInstanceAuthStringRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetInstanceAuthStringRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.GetInstanceAuthStringRequest;
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetInstanceAuthStringRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.GetInstanceAuthStringRequest;
+
+ /**
+ * Verifies a GetInstanceAuthStringRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetInstanceAuthStringRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetInstanceAuthStringRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.GetInstanceAuthStringRequest;
+
+ /**
+ * Creates a plain object from a GetInstanceAuthStringRequest message. Also converts values to other types if specified.
+ * @param message GetInstanceAuthStringRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.GetInstanceAuthStringRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetInstanceAuthStringRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetInstanceAuthStringRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InstanceAuthString. */
+ interface IInstanceAuthString {
+
+ /** InstanceAuthString authString */
+ authString?: (string|null);
+ }
+
+ /** Represents an InstanceAuthString. */
+ class InstanceAuthString implements IInstanceAuthString {
+
+ /**
+ * Constructs a new InstanceAuthString.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IInstanceAuthString);
+
+ /** InstanceAuthString authString. */
+ public authString: string;
+
+ /**
+ * Creates a new InstanceAuthString instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InstanceAuthString instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IInstanceAuthString): google.cloud.redis.v1beta1.InstanceAuthString;
+
+ /**
+ * Encodes the specified InstanceAuthString message. Does not implicitly {@link google.cloud.redis.v1beta1.InstanceAuthString.verify|verify} messages.
+ * @param message InstanceAuthString message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IInstanceAuthString, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InstanceAuthString message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.InstanceAuthString.verify|verify} messages.
+ * @param message InstanceAuthString message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IInstanceAuthString, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InstanceAuthString
+ * @throws {Error} If the payload is not 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.redis.v1beta1.InstanceAuthString;
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InstanceAuthString
+ * @throws {Error} If the payload 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.redis.v1beta1.InstanceAuthString;
+
+ /**
+ * Verifies an InstanceAuthString message.
+ * @param message Plain 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 InstanceAuthString message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InstanceAuthString
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.InstanceAuthString;
+
+ /**
+ * Creates a plain object from an InstanceAuthString message. Also converts values to other types if specified.
+ * @param message InstanceAuthString
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.InstanceAuthString, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InstanceAuthString to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InstanceAuthString
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateInstanceRequest. */
+ interface ICreateInstanceRequest {
+
+ /** CreateInstanceRequest parent */
+ parent?: (string|null);
+
+ /** CreateInstanceRequest instanceId */
+ instanceId?: (string|null);
+
+ /** CreateInstanceRequest instance */
+ instance?: (google.cloud.redis.v1beta1.IInstance|null);
+ }
+
+ /** Represents a CreateInstanceRequest. */
+ class CreateInstanceRequest implements ICreateInstanceRequest {
+
+ /**
+ * Constructs a new CreateInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.ICreateInstanceRequest);
+
+ /** CreateInstanceRequest parent. */
+ public parent: string;
+
+ /** CreateInstanceRequest instanceId. */
+ public instanceId: string;
+
+ /** CreateInstanceRequest instance. */
+ public instance?: (google.cloud.redis.v1beta1.IInstance|null);
+
+ /**
+ * Creates a new CreateInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.ICreateInstanceRequest): google.cloud.redis.v1beta1.CreateInstanceRequest;
+
+ /**
+ * Encodes the specified CreateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.CreateInstanceRequest.verify|verify} messages.
+ * @param message CreateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.ICreateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.CreateInstanceRequest.verify|verify} messages.
+ * @param message CreateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.ICreateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.CreateInstanceRequest;
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.CreateInstanceRequest;
+
+ /**
+ * Verifies a CreateInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.CreateInstanceRequest;
+
+ /**
+ * Creates a plain object from a CreateInstanceRequest message. Also converts values to other types if specified.
+ * @param message CreateInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.CreateInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateInstanceRequest. */
+ interface IUpdateInstanceRequest {
+
+ /** UpdateInstanceRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateInstanceRequest instance */
+ instance?: (google.cloud.redis.v1beta1.IInstance|null);
+ }
+
+ /** Represents an UpdateInstanceRequest. */
+ class UpdateInstanceRequest implements IUpdateInstanceRequest {
+
+ /**
+ * Constructs a new UpdateInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IUpdateInstanceRequest);
+
+ /** UpdateInstanceRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateInstanceRequest instance. */
+ public instance?: (google.cloud.redis.v1beta1.IInstance|null);
+
+ /**
+ * Creates a new UpdateInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IUpdateInstanceRequest): google.cloud.redis.v1beta1.UpdateInstanceRequest;
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.UpdateInstanceRequest.verify|verify} messages.
+ * @param message UpdateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IUpdateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.UpdateInstanceRequest.verify|verify} messages.
+ * @param message UpdateInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IUpdateInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.UpdateInstanceRequest;
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.UpdateInstanceRequest;
+
+ /**
+ * Verifies an UpdateInstanceRequest message.
+ * @param message Plain 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 UpdateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.UpdateInstanceRequest;
+
+ /**
+ * Creates a plain object from an UpdateInstanceRequest message. Also converts values to other types if specified.
+ * @param message UpdateInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.UpdateInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpgradeInstanceRequest. */
+ interface IUpgradeInstanceRequest {
+
+ /** UpgradeInstanceRequest name */
+ name?: (string|null);
+
+ /** UpgradeInstanceRequest redisVersion */
+ redisVersion?: (string|null);
+ }
+
+ /** Represents an UpgradeInstanceRequest. */
+ class UpgradeInstanceRequest implements IUpgradeInstanceRequest {
+
+ /**
+ * Constructs a new UpgradeInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IUpgradeInstanceRequest);
+
+ /** UpgradeInstanceRequest name. */
+ public name: string;
+
+ /** UpgradeInstanceRequest redisVersion. */
+ public redisVersion: string;
+
+ /**
+ * Creates a new UpgradeInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpgradeInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IUpgradeInstanceRequest): google.cloud.redis.v1beta1.UpgradeInstanceRequest;
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.UpgradeInstanceRequest.verify|verify} messages.
+ * @param message UpgradeInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IUpgradeInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.UpgradeInstanceRequest.verify|verify} messages.
+ * @param message UpgradeInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IUpgradeInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpgradeInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.UpgradeInstanceRequest;
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpgradeInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.UpgradeInstanceRequest;
+
+ /**
+ * Verifies an UpgradeInstanceRequest message.
+ * @param message Plain 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 UpgradeInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpgradeInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.UpgradeInstanceRequest;
+
+ /**
+ * Creates a plain object from an UpgradeInstanceRequest message. Also converts values to other types if specified.
+ * @param message UpgradeInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.UpgradeInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpgradeInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpgradeInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteInstanceRequest. */
+ interface IDeleteInstanceRequest {
+
+ /** DeleteInstanceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteInstanceRequest. */
+ class DeleteInstanceRequest implements IDeleteInstanceRequest {
+
+ /**
+ * Constructs a new DeleteInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IDeleteInstanceRequest);
+
+ /** DeleteInstanceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IDeleteInstanceRequest): google.cloud.redis.v1beta1.DeleteInstanceRequest;
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.DeleteInstanceRequest.verify|verify} messages.
+ * @param message DeleteInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IDeleteInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.DeleteInstanceRequest.verify|verify} messages.
+ * @param message DeleteInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IDeleteInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.DeleteInstanceRequest;
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.DeleteInstanceRequest;
+
+ /**
+ * Verifies a DeleteInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.DeleteInstanceRequest;
+
+ /**
+ * Creates a plain object from a DeleteInstanceRequest message. Also converts values to other types if specified.
+ * @param message DeleteInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.DeleteInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsSource. */
+ interface IGcsSource {
+
+ /** GcsSource uri */
+ uri?: (string|null);
+ }
+
+ /** Represents a GcsSource. */
+ class GcsSource implements IGcsSource {
+
+ /**
+ * Constructs a new GcsSource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IGcsSource);
+
+ /** GcsSource uri. */
+ public uri: string;
+
+ /**
+ * Creates a new GcsSource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsSource instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IGcsSource): google.cloud.redis.v1beta1.GcsSource;
+
+ /**
+ * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.redis.v1beta1.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.GcsSource.verify|verify} messages.
+ * @param message GcsSource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IGcsSource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsSource
+ * @throws {Error} If the payload is not 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.redis.v1beta1.GcsSource;
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsSource
+ * @throws {Error} If the payload 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.redis.v1beta1.GcsSource;
+
+ /**
+ * Verifies a GcsSource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsSource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsSource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.GcsSource;
+
+ /**
+ * Creates a plain object from a GcsSource message. Also converts values to other types if specified.
+ * @param message GcsSource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.GcsSource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsSource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsSource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an InputConfig. */
+ interface IInputConfig {
+
+ /** InputConfig gcsSource */
+ gcsSource?: (google.cloud.redis.v1beta1.IGcsSource|null);
+ }
+
+ /** Represents an InputConfig. */
+ class InputConfig implements IInputConfig {
+
+ /**
+ * Constructs a new InputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IInputConfig);
+
+ /** InputConfig gcsSource. */
+ public gcsSource?: (google.cloud.redis.v1beta1.IGcsSource|null);
+
+ /** InputConfig source. */
+ public source?: "gcsSource";
+
+ /**
+ * Creates a new InputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InputConfig instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IInputConfig): google.cloud.redis.v1beta1.InputConfig;
+
+ /**
+ * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.redis.v1beta1.InputConfig.verify|verify} messages.
+ * @param message InputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.InputConfig.verify|verify} messages.
+ * @param message InputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IInputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InputConfig
+ * @throws {Error} If the payload is not 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.redis.v1beta1.InputConfig;
+
+ /**
+ * Decodes an InputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InputConfig
+ * @throws {Error} If the payload 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.redis.v1beta1.InputConfig;
+
+ /**
+ * Verifies an InputConfig message.
+ * @param message Plain 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 InputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.InputConfig;
+
+ /**
+ * Creates a plain object from an InputConfig message. Also converts values to other types if specified.
+ * @param message InputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.InputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportInstanceRequest. */
+ interface IImportInstanceRequest {
+
+ /** ImportInstanceRequest name */
+ name?: (string|null);
+
+ /** ImportInstanceRequest inputConfig */
+ inputConfig?: (google.cloud.redis.v1beta1.IInputConfig|null);
+ }
+
+ /** Represents an ImportInstanceRequest. */
+ class ImportInstanceRequest implements IImportInstanceRequest {
+
+ /**
+ * Constructs a new ImportInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IImportInstanceRequest);
+
+ /** ImportInstanceRequest name. */
+ public name: string;
+
+ /** ImportInstanceRequest inputConfig. */
+ public inputConfig?: (google.cloud.redis.v1beta1.IInputConfig|null);
+
+ /**
+ * Creates a new ImportInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IImportInstanceRequest): google.cloud.redis.v1beta1.ImportInstanceRequest;
+
+ /**
+ * Encodes the specified ImportInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.ImportInstanceRequest.verify|verify} messages.
+ * @param message ImportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IImportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.ImportInstanceRequest.verify|verify} messages.
+ * @param message ImportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IImportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.ImportInstanceRequest;
+
+ /**
+ * Decodes an ImportInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.ImportInstanceRequest;
+
+ /**
+ * Verifies an ImportInstanceRequest message.
+ * @param message Plain 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 ImportInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.ImportInstanceRequest;
+
+ /**
+ * Creates a plain object from an ImportInstanceRequest message. Also converts values to other types if specified.
+ * @param message ImportInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.ImportInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsDestination. */
+ interface IGcsDestination {
+
+ /** GcsDestination uri */
+ uri?: (string|null);
+ }
+
+ /** Represents a GcsDestination. */
+ class GcsDestination implements IGcsDestination {
+
+ /**
+ * Constructs a new GcsDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IGcsDestination);
+
+ /** GcsDestination uri. */
+ public uri: string;
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsDestination instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IGcsDestination): google.cloud.redis.v1beta1.GcsDestination;
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.redis.v1beta1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not 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.redis.v1beta1.GcsDestination;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsDestination
+ * @throws {Error} If the payload 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.redis.v1beta1.GcsDestination;
+
+ /**
+ * Verifies a GcsDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.GcsDestination;
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @param message GcsDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OutputConfig. */
+ interface IOutputConfig {
+
+ /** OutputConfig gcsDestination */
+ gcsDestination?: (google.cloud.redis.v1beta1.IGcsDestination|null);
+ }
+
+ /** Represents an OutputConfig. */
+ class OutputConfig implements IOutputConfig {
+
+ /**
+ * Constructs a new OutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IOutputConfig);
+
+ /** OutputConfig gcsDestination. */
+ public gcsDestination?: (google.cloud.redis.v1beta1.IGcsDestination|null);
+
+ /** OutputConfig destination. */
+ public destination?: "gcsDestination";
+
+ /**
+ * Creates a new OutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputConfig instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IOutputConfig): google.cloud.redis.v1beta1.OutputConfig;
+
+ /**
+ * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.redis.v1beta1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputConfig
+ * @throws {Error} If the payload is not 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.redis.v1beta1.OutputConfig;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputConfig
+ * @throws {Error} If the payload 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.redis.v1beta1.OutputConfig;
+
+ /**
+ * Verifies an OutputConfig message.
+ * @param message Plain 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 OutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.OutputConfig;
+
+ /**
+ * Creates a plain object from an OutputConfig message. Also converts values to other types if specified.
+ * @param message OutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportInstanceRequest. */
+ interface IExportInstanceRequest {
+
+ /** ExportInstanceRequest name */
+ name?: (string|null);
+
+ /** ExportInstanceRequest outputConfig */
+ outputConfig?: (google.cloud.redis.v1beta1.IOutputConfig|null);
+ }
+
+ /** Represents an ExportInstanceRequest. */
+ class ExportInstanceRequest implements IExportInstanceRequest {
+
+ /**
+ * Constructs a new ExportInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IExportInstanceRequest);
+
+ /** ExportInstanceRequest name. */
+ public name: string;
+
+ /** ExportInstanceRequest outputConfig. */
+ public outputConfig?: (google.cloud.redis.v1beta1.IOutputConfig|null);
+
+ /**
+ * Creates a new ExportInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IExportInstanceRequest): google.cloud.redis.v1beta1.ExportInstanceRequest;
+
+ /**
+ * Encodes the specified ExportInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.ExportInstanceRequest.verify|verify} messages.
+ * @param message ExportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IExportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.ExportInstanceRequest.verify|verify} messages.
+ * @param message ExportInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IExportInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.ExportInstanceRequest;
+
+ /**
+ * Decodes an ExportInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.ExportInstanceRequest;
+
+ /**
+ * Verifies an ExportInstanceRequest message.
+ * @param message Plain 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 ExportInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.ExportInstanceRequest;
+
+ /**
+ * Creates a plain object from an ExportInstanceRequest message. Also converts values to other types if specified.
+ * @param message ExportInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.ExportInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FailoverInstanceRequest. */
+ interface IFailoverInstanceRequest {
+
+ /** FailoverInstanceRequest name */
+ name?: (string|null);
+
+ /** FailoverInstanceRequest dataProtectionMode */
+ dataProtectionMode?: (google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode|keyof typeof google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode|null);
+ }
+
+ /** Represents a FailoverInstanceRequest. */
+ class FailoverInstanceRequest implements IFailoverInstanceRequest {
+
+ /**
+ * Constructs a new FailoverInstanceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IFailoverInstanceRequest);
+
+ /** FailoverInstanceRequest name. */
+ public name: string;
+
+ /** FailoverInstanceRequest dataProtectionMode. */
+ public dataProtectionMode: (google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode|keyof typeof google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode);
+
+ /**
+ * Creates a new FailoverInstanceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FailoverInstanceRequest instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IFailoverInstanceRequest): google.cloud.redis.v1beta1.FailoverInstanceRequest;
+
+ /**
+ * Encodes the specified FailoverInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.FailoverInstanceRequest.verify|verify} messages.
+ * @param message FailoverInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IFailoverInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FailoverInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.FailoverInstanceRequest.verify|verify} messages.
+ * @param message FailoverInstanceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IFailoverInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FailoverInstanceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FailoverInstanceRequest
+ * @throws {Error} If the payload is not 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.redis.v1beta1.FailoverInstanceRequest;
+
+ /**
+ * Decodes a FailoverInstanceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FailoverInstanceRequest
+ * @throws {Error} If the payload 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.redis.v1beta1.FailoverInstanceRequest;
+
+ /**
+ * Verifies a FailoverInstanceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FailoverInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FailoverInstanceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.FailoverInstanceRequest;
+
+ /**
+ * Creates a plain object from a FailoverInstanceRequest message. Also converts values to other types if specified.
+ * @param message FailoverInstanceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.FailoverInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FailoverInstanceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FailoverInstanceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FailoverInstanceRequest {
+
+ /** DataProtectionMode enum. */
+ enum DataProtectionMode {
+ DATA_PROTECTION_MODE_UNSPECIFIED = 0,
+ LIMITED_DATA_LOSS = 1,
+ FORCE_DATA_LOSS = 2
+ }
+ }
+
+ /** Properties of a LocationMetadata. */
+ interface ILocationMetadata {
+
+ /** LocationMetadata availableZones */
+ availableZones?: ({ [k: string]: google.cloud.redis.v1beta1.IZoneMetadata }|null);
+ }
+
+ /** Represents a LocationMetadata. */
+ class LocationMetadata implements ILocationMetadata {
+
+ /**
+ * Constructs a new LocationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.ILocationMetadata);
+
+ /** LocationMetadata availableZones. */
+ public availableZones: { [k: string]: google.cloud.redis.v1beta1.IZoneMetadata };
+
+ /**
+ * Creates a new LocationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LocationMetadata instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.ILocationMetadata): google.cloud.redis.v1beta1.LocationMetadata;
+
+ /**
+ * Encodes the specified LocationMetadata message. Does not implicitly {@link google.cloud.redis.v1beta1.LocationMetadata.verify|verify} messages.
+ * @param message LocationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.ILocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LocationMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.LocationMetadata.verify|verify} messages.
+ * @param message LocationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.ILocationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LocationMetadata
+ * @throws {Error} If the payload is not 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.redis.v1beta1.LocationMetadata;
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LocationMetadata
+ * @throws {Error} If the payload 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.redis.v1beta1.LocationMetadata;
+
+ /**
+ * Verifies a LocationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LocationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LocationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.LocationMetadata;
+
+ /**
+ * Creates a plain object from a LocationMetadata message. Also converts values to other types if specified.
+ * @param message LocationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.LocationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LocationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LocationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ZoneMetadata. */
+ interface IZoneMetadata {
+ }
+
+ /** Represents a ZoneMetadata. */
+ class ZoneMetadata implements IZoneMetadata {
+
+ /**
+ * Constructs a new ZoneMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.IZoneMetadata);
+
+ /**
+ * Creates a new ZoneMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ZoneMetadata instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.IZoneMetadata): google.cloud.redis.v1beta1.ZoneMetadata;
+
+ /**
+ * Encodes the specified ZoneMetadata message. Does not implicitly {@link google.cloud.redis.v1beta1.ZoneMetadata.verify|verify} messages.
+ * @param message ZoneMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.IZoneMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ZoneMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.ZoneMetadata.verify|verify} messages.
+ * @param message ZoneMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.IZoneMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ZoneMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ZoneMetadata
+ * @throws {Error} If the payload is not 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.redis.v1beta1.ZoneMetadata;
+
+ /**
+ * Decodes a ZoneMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ZoneMetadata
+ * @throws {Error} If the payload 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.redis.v1beta1.ZoneMetadata;
+
+ /**
+ * Verifies a ZoneMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ZoneMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ZoneMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.ZoneMetadata;
+
+ /**
+ * Creates a plain object from a ZoneMetadata message. Also converts values to other types if specified.
+ * @param message ZoneMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.ZoneMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ZoneMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ZoneMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TlsCertificate. */
+ interface ITlsCertificate {
+
+ /** TlsCertificate serialNumber */
+ serialNumber?: (string|null);
+
+ /** TlsCertificate cert */
+ cert?: (string|null);
+
+ /** TlsCertificate createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate sha1Fingerprint */
+ sha1Fingerprint?: (string|null);
+ }
+
+ /** Represents a TlsCertificate. */
+ class TlsCertificate implements ITlsCertificate {
+
+ /**
+ * Constructs a new TlsCertificate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.redis.v1beta1.ITlsCertificate);
+
+ /** TlsCertificate serialNumber. */
+ public serialNumber: string;
+
+ /** TlsCertificate cert. */
+ public cert: string;
+
+ /** TlsCertificate createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** TlsCertificate sha1Fingerprint. */
+ public sha1Fingerprint: string;
+
+ /**
+ * Creates a new TlsCertificate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TlsCertificate instance
+ */
+ public static create(properties?: google.cloud.redis.v1beta1.ITlsCertificate): google.cloud.redis.v1beta1.TlsCertificate;
+
+ /**
+ * Encodes the specified TlsCertificate message. Does not implicitly {@link google.cloud.redis.v1beta1.TlsCertificate.verify|verify} messages.
+ * @param message TlsCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.redis.v1beta1.ITlsCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TlsCertificate message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.TlsCertificate.verify|verify} messages.
+ * @param message TlsCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.redis.v1beta1.ITlsCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TlsCertificate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TlsCertificate
+ * @throws {Error} If the payload is not 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.redis.v1beta1.TlsCertificate;
+
+ /**
+ * Decodes a TlsCertificate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TlsCertificate
+ * @throws {Error} If the payload 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.redis.v1beta1.TlsCertificate;
+
+ /**
+ * Verifies a TlsCertificate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TlsCertificate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TlsCertificate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.redis.v1beta1.TlsCertificate;
+
+ /**
+ * Creates a plain object from a TlsCertificate message. Also converts values to other types if specified.
+ * @param message TlsCertificate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.redis.v1beta1.TlsCertificate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TlsCertificate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TlsCertificate
+ * @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
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (string|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: string;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions phpGenericServices */
+ phpGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions phpGenericServices. */
+ public phpGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;
+
+ /**
+ * Verifies a FieldMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** DayOfWeek enum. */
+ enum DayOfWeek {
+ DAY_OF_WEEK_UNSPECIFIED = 0,
+ MONDAY = 1,
+ TUESDAY = 2,
+ WEDNESDAY = 3,
+ THURSDAY = 4,
+ FRIDAY = 5,
+ SATURDAY = 6,
+ SUNDAY = 7
+ }
+
+ /** Properties of a TimeOfDay. */
+ interface ITimeOfDay {
+
+ /** TimeOfDay hours */
+ hours?: (number|null);
+
+ /** TimeOfDay minutes */
+ minutes?: (number|null);
+
+ /** TimeOfDay seconds */
+ seconds?: (number|null);
+
+ /** TimeOfDay nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a TimeOfDay. */
+ class TimeOfDay implements ITimeOfDay {
+
+ /**
+ * Constructs a new TimeOfDay.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.ITimeOfDay);
+
+ /** TimeOfDay hours. */
+ public hours: number;
+
+ /** TimeOfDay minutes. */
+ public minutes: number;
+
+ /** TimeOfDay seconds. */
+ public seconds: number;
+
+ /** TimeOfDay nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new TimeOfDay instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeOfDay instance
+ */
+ public static create(properties?: google.type.ITimeOfDay): google.type.TimeOfDay;
+
+ /**
+ * Encodes the specified TimeOfDay message. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
+ * @param message TimeOfDay message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeOfDay message, length delimited. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
+ * @param message TimeOfDay message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeOfDay message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeOfDay
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.TimeOfDay;
+
+ /**
+ * Decodes a TimeOfDay message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeOfDay
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.TimeOfDay;
+
+ /**
+ * Verifies a TimeOfDay message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeOfDay message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeOfDay
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.TimeOfDay;
+
+ /**
+ * Creates a plain object from a TimeOfDay message. Also converts values to other types if specified.
+ * @param message TimeOfDay
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.TimeOfDay, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeOfDay to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeOfDay
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/packages/google-cloud-redis/protos/protos.js b/packages/google-cloud-redis/protos/protos.js
new file mode 100644
index 00000000000..3ef83096dcd
--- /dev/null
+++ b/packages/google-cloud-redis/protos/protos.js
@@ -0,0 +1,30546 @@
+// 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_redis_protos || ($protobuf.roots._google_cloud_redis_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.redis = (function() {
+
+ /**
+ * Namespace redis.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var redis = {};
+
+ redis.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.redis
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.CloudRedis = (function() {
+
+ /**
+ * Constructs a new CloudRedis service.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a CloudRedis
+ * @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 CloudRedis(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (CloudRedis.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CloudRedis;
+
+ /**
+ * Creates new CloudRedis service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @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 {CloudRedis} RPC service. Useful where requests and/or responses are streamed.
+ */
+ CloudRedis.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|listInstances}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef ListInstancesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.redis.v1.ListInstancesResponse} [response] ListInstancesResponse
+ */
+
+ /**
+ * Calls ListInstances.
+ * @function listInstances
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IListInstancesRequest} request ListInstancesRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.ListInstancesCallback} callback Node-style callback called with the error, if any, and ListInstancesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.listInstances = function listInstances(request, callback) {
+ return this.rpcCall(listInstances, $root.google.cloud.redis.v1.ListInstancesRequest, $root.google.cloud.redis.v1.ListInstancesResponse, request, callback);
+ }, "name", { value: "ListInstances" });
+
+ /**
+ * Calls ListInstances.
+ * @function listInstances
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IListInstancesRequest} request ListInstancesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|getInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef GetInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.redis.v1.Instance} [response] Instance
+ */
+
+ /**
+ * Calls GetInstance.
+ * @function getInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IGetInstanceRequest} request GetInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.GetInstanceCallback} callback Node-style callback called with the error, if any, and Instance
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.getInstance = function getInstance(request, callback) {
+ return this.rpcCall(getInstance, $root.google.cloud.redis.v1.GetInstanceRequest, $root.google.cloud.redis.v1.Instance, request, callback);
+ }, "name", { value: "GetInstance" });
+
+ /**
+ * Calls GetInstance.
+ * @function getInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IGetInstanceRequest} request GetInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|getInstanceAuthString}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef GetInstanceAuthStringCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.redis.v1.InstanceAuthString} [response] InstanceAuthString
+ */
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @function getInstanceAuthString
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IGetInstanceAuthStringRequest} request GetInstanceAuthStringRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.GetInstanceAuthStringCallback} callback Node-style callback called with the error, if any, and InstanceAuthString
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.getInstanceAuthString = function getInstanceAuthString(request, callback) {
+ return this.rpcCall(getInstanceAuthString, $root.google.cloud.redis.v1.GetInstanceAuthStringRequest, $root.google.cloud.redis.v1.InstanceAuthString, request, callback);
+ }, "name", { value: "GetInstanceAuthString" });
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @function getInstanceAuthString
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IGetInstanceAuthStringRequest} request GetInstanceAuthStringRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|createInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef CreateInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateInstance.
+ * @function createInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.ICreateInstanceRequest} request CreateInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.CreateInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.createInstance = function createInstance(request, callback) {
+ return this.rpcCall(createInstance, $root.google.cloud.redis.v1.CreateInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateInstance" });
+
+ /**
+ * Calls CreateInstance.
+ * @function createInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.ICreateInstanceRequest} request CreateInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|updateInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef UpdateInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateInstance.
+ * @function updateInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IUpdateInstanceRequest} request UpdateInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.UpdateInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.updateInstance = function updateInstance(request, callback) {
+ return this.rpcCall(updateInstance, $root.google.cloud.redis.v1.UpdateInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateInstance" });
+
+ /**
+ * Calls UpdateInstance.
+ * @function updateInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IUpdateInstanceRequest} request UpdateInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|upgradeInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef UpgradeInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpgradeInstance.
+ * @function upgradeInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IUpgradeInstanceRequest} request UpgradeInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.UpgradeInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.upgradeInstance = function upgradeInstance(request, callback) {
+ return this.rpcCall(upgradeInstance, $root.google.cloud.redis.v1.UpgradeInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpgradeInstance" });
+
+ /**
+ * Calls UpgradeInstance.
+ * @function upgradeInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IUpgradeInstanceRequest} request UpgradeInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|importInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef ImportInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ImportInstance.
+ * @function importInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IImportInstanceRequest} request ImportInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.ImportInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.importInstance = function importInstance(request, callback) {
+ return this.rpcCall(importInstance, $root.google.cloud.redis.v1.ImportInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ImportInstance" });
+
+ /**
+ * Calls ImportInstance.
+ * @function importInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IImportInstanceRequest} request ImportInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|exportInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef ExportInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ExportInstance.
+ * @function exportInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IExportInstanceRequest} request ExportInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.ExportInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.exportInstance = function exportInstance(request, callback) {
+ return this.rpcCall(exportInstance, $root.google.cloud.redis.v1.ExportInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ExportInstance" });
+
+ /**
+ * Calls ExportInstance.
+ * @function exportInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IExportInstanceRequest} request ExportInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|failoverInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef FailoverInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls FailoverInstance.
+ * @function failoverInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IFailoverInstanceRequest} request FailoverInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.FailoverInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.failoverInstance = function failoverInstance(request, callback) {
+ return this.rpcCall(failoverInstance, $root.google.cloud.redis.v1.FailoverInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "FailoverInstance" });
+
+ /**
+ * Calls FailoverInstance.
+ * @function failoverInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IFailoverInstanceRequest} request FailoverInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|deleteInstance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef DeleteInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteInstance.
+ * @function deleteInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IDeleteInstanceRequest} request DeleteInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.DeleteInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.deleteInstance = function deleteInstance(request, callback) {
+ return this.rpcCall(deleteInstance, $root.google.cloud.redis.v1.DeleteInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteInstance" });
+
+ /**
+ * Calls DeleteInstance.
+ * @function deleteInstance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IDeleteInstanceRequest} request DeleteInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1.CloudRedis|rescheduleMaintenance}.
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @typedef RescheduleMaintenanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @function rescheduleMaintenance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IRescheduleMaintenanceRequest} request RescheduleMaintenanceRequest message or plain object
+ * @param {google.cloud.redis.v1.CloudRedis.RescheduleMaintenanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.rescheduleMaintenance = function rescheduleMaintenance(request, callback) {
+ return this.rpcCall(rescheduleMaintenance, $root.google.cloud.redis.v1.RescheduleMaintenanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "RescheduleMaintenance" });
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @function rescheduleMaintenance
+ * @memberof google.cloud.redis.v1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1.IRescheduleMaintenanceRequest} request RescheduleMaintenanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return CloudRedis;
+ })();
+
+ v1.NodeInfo = (function() {
+
+ /**
+ * Properties of a NodeInfo.
+ * @memberof google.cloud.redis.v1
+ * @interface INodeInfo
+ * @property {string|null} [id] NodeInfo id
+ * @property {string|null} [zone] NodeInfo zone
+ */
+
+ /**
+ * Constructs a new NodeInfo.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a NodeInfo.
+ * @implements INodeInfo
+ * @constructor
+ * @param {google.cloud.redis.v1.INodeInfo=} [properties] Properties to set
+ */
+ function NodeInfo(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]];
+ }
+
+ /**
+ * NodeInfo id.
+ * @member {string} id
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @instance
+ */
+ NodeInfo.prototype.id = "";
+
+ /**
+ * NodeInfo zone.
+ * @member {string} zone
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @instance
+ */
+ NodeInfo.prototype.zone = "";
+
+ /**
+ * Creates a new NodeInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1.INodeInfo=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.NodeInfo} NodeInfo instance
+ */
+ NodeInfo.create = function create(properties) {
+ return new NodeInfo(properties);
+ };
+
+ /**
+ * Encodes the specified NodeInfo message. Does not implicitly {@link google.cloud.redis.v1.NodeInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1.INodeInfo} message NodeInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NodeInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.id);
+ if (message.zone != null && Object.hasOwnProperty.call(message, "zone"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.zone);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NodeInfo message, length delimited. Does not implicitly {@link google.cloud.redis.v1.NodeInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1.INodeInfo} message NodeInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NodeInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.NodeInfo} NodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NodeInfo.decode = function 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.redis.v1.NodeInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.id = reader.string();
+ break;
+ }
+ case 2: {
+ message.zone = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.NodeInfo} NodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NodeInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NodeInfo message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NodeInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.id != null && message.hasOwnProperty("id"))
+ if (!$util.isString(message.id))
+ return "id: string expected";
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ if (!$util.isString(message.zone))
+ return "zone: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a NodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.NodeInfo} NodeInfo
+ */
+ NodeInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.NodeInfo)
+ return object;
+ var message = new $root.google.cloud.redis.v1.NodeInfo();
+ if (object.id != null)
+ message.id = String(object.id);
+ if (object.zone != null)
+ message.zone = String(object.zone);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NodeInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1.NodeInfo} message NodeInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NodeInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.id = "";
+ object.zone = "";
+ }
+ if (message.id != null && message.hasOwnProperty("id"))
+ object.id = message.id;
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ object.zone = message.zone;
+ return object;
+ };
+
+ /**
+ * Converts this NodeInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NodeInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NodeInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.NodeInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.NodeInfo";
+ };
+
+ return NodeInfo;
+ })();
+
+ v1.Instance = (function() {
+
+ /**
+ * Properties of an Instance.
+ * @memberof google.cloud.redis.v1
+ * @interface IInstance
+ * @property {string|null} [name] Instance name
+ * @property {string|null} [displayName] Instance displayName
+ * @property {Object.|null} [labels] Instance labels
+ * @property {string|null} [locationId] Instance locationId
+ * @property {string|null} [alternativeLocationId] Instance alternativeLocationId
+ * @property {string|null} [redisVersion] Instance redisVersion
+ * @property {string|null} [reservedIpRange] Instance reservedIpRange
+ * @property {string|null} [secondaryIpRange] Instance secondaryIpRange
+ * @property {string|null} [host] Instance host
+ * @property {number|null} [port] Instance port
+ * @property {string|null} [currentLocationId] Instance currentLocationId
+ * @property {google.protobuf.ITimestamp|null} [createTime] Instance createTime
+ * @property {google.cloud.redis.v1.Instance.State|null} [state] Instance state
+ * @property {string|null} [statusMessage] Instance statusMessage
+ * @property {Object.|null} [redisConfigs] Instance redisConfigs
+ * @property {google.cloud.redis.v1.Instance.Tier|null} [tier] Instance tier
+ * @property {number|null} [memorySizeGb] Instance memorySizeGb
+ * @property {string|null} [authorizedNetwork] Instance authorizedNetwork
+ * @property {string|null} [persistenceIamIdentity] Instance persistenceIamIdentity
+ * @property {google.cloud.redis.v1.Instance.ConnectMode|null} [connectMode] Instance connectMode
+ * @property {boolean|null} [authEnabled] Instance authEnabled
+ * @property {Array.|null} [serverCaCerts] Instance serverCaCerts
+ * @property {google.cloud.redis.v1.Instance.TransitEncryptionMode|null} [transitEncryptionMode] Instance transitEncryptionMode
+ * @property {google.cloud.redis.v1.IMaintenancePolicy|null} [maintenancePolicy] Instance maintenancePolicy
+ * @property {google.cloud.redis.v1.IMaintenanceSchedule|null} [maintenanceSchedule] Instance maintenanceSchedule
+ * @property {number|null} [replicaCount] Instance replicaCount
+ * @property {Array.|null} [nodes] Instance nodes
+ * @property {string|null} [readEndpoint] Instance readEndpoint
+ * @property {number|null} [readEndpointPort] Instance readEndpointPort
+ * @property {google.cloud.redis.v1.Instance.ReadReplicasMode|null} [readReplicasMode] Instance readReplicasMode
+ */
+
+ /**
+ * Constructs a new Instance.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an Instance.
+ * @implements IInstance
+ * @constructor
+ * @param {google.cloud.redis.v1.IInstance=} [properties] Properties to set
+ */
+ function Instance(properties) {
+ this.labels = {};
+ this.redisConfigs = {};
+ this.serverCaCerts = [];
+ this.nodes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Instance name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.name = "";
+
+ /**
+ * Instance displayName.
+ * @member {string} displayName
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.displayName = "";
+
+ /**
+ * Instance labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.labels = $util.emptyObject;
+
+ /**
+ * Instance locationId.
+ * @member {string} locationId
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.locationId = "";
+
+ /**
+ * Instance alternativeLocationId.
+ * @member {string} alternativeLocationId
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.alternativeLocationId = "";
+
+ /**
+ * Instance redisVersion.
+ * @member {string} redisVersion
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.redisVersion = "";
+
+ /**
+ * Instance reservedIpRange.
+ * @member {string} reservedIpRange
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.reservedIpRange = "";
+
+ /**
+ * Instance secondaryIpRange.
+ * @member {string} secondaryIpRange
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.secondaryIpRange = "";
+
+ /**
+ * Instance host.
+ * @member {string} host
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.host = "";
+
+ /**
+ * Instance port.
+ * @member {number} port
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.port = 0;
+
+ /**
+ * Instance currentLocationId.
+ * @member {string} currentLocationId
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.currentLocationId = "";
+
+ /**
+ * Instance createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.createTime = null;
+
+ /**
+ * Instance state.
+ * @member {google.cloud.redis.v1.Instance.State} state
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.state = 0;
+
+ /**
+ * Instance statusMessage.
+ * @member {string} statusMessage
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.statusMessage = "";
+
+ /**
+ * Instance redisConfigs.
+ * @member {Object.} redisConfigs
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.redisConfigs = $util.emptyObject;
+
+ /**
+ * Instance tier.
+ * @member {google.cloud.redis.v1.Instance.Tier} tier
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.tier = 0;
+
+ /**
+ * Instance memorySizeGb.
+ * @member {number} memorySizeGb
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.memorySizeGb = 0;
+
+ /**
+ * Instance authorizedNetwork.
+ * @member {string} authorizedNetwork
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.authorizedNetwork = "";
+
+ /**
+ * Instance persistenceIamIdentity.
+ * @member {string} persistenceIamIdentity
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.persistenceIamIdentity = "";
+
+ /**
+ * Instance connectMode.
+ * @member {google.cloud.redis.v1.Instance.ConnectMode} connectMode
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.connectMode = 0;
+
+ /**
+ * Instance authEnabled.
+ * @member {boolean} authEnabled
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.authEnabled = false;
+
+ /**
+ * Instance serverCaCerts.
+ * @member {Array.} serverCaCerts
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.serverCaCerts = $util.emptyArray;
+
+ /**
+ * Instance transitEncryptionMode.
+ * @member {google.cloud.redis.v1.Instance.TransitEncryptionMode} transitEncryptionMode
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.transitEncryptionMode = 0;
+
+ /**
+ * Instance maintenancePolicy.
+ * @member {google.cloud.redis.v1.IMaintenancePolicy|null|undefined} maintenancePolicy
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.maintenancePolicy = null;
+
+ /**
+ * Instance maintenanceSchedule.
+ * @member {google.cloud.redis.v1.IMaintenanceSchedule|null|undefined} maintenanceSchedule
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.maintenanceSchedule = null;
+
+ /**
+ * Instance replicaCount.
+ * @member {number} replicaCount
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.replicaCount = 0;
+
+ /**
+ * Instance nodes.
+ * @member {Array.} nodes
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.nodes = $util.emptyArray;
+
+ /**
+ * Instance readEndpoint.
+ * @member {string} readEndpoint
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.readEndpoint = "";
+
+ /**
+ * Instance readEndpointPort.
+ * @member {number} readEndpointPort
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.readEndpointPort = 0;
+
+ /**
+ * Instance readReplicasMode.
+ * @member {google.cloud.redis.v1.Instance.ReadReplicasMode} readReplicasMode
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ */
+ Instance.prototype.readReplicasMode = 0;
+
+ /**
+ * Creates a new Instance instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {google.cloud.redis.v1.IInstance=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.Instance} Instance instance
+ */
+ Instance.create = function create(properties) {
+ return new Instance(properties);
+ };
+
+ /**
+ * Encodes the specified Instance message. Does not implicitly {@link google.cloud.redis.v1.Instance.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {google.cloud.redis.v1.IInstance} message Instance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Instance.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName);
+ if (message.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.locationId != null && Object.hasOwnProperty.call(message, "locationId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.locationId);
+ if (message.alternativeLocationId != null && Object.hasOwnProperty.call(message, "alternativeLocationId"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.alternativeLocationId);
+ if (message.redisVersion != null && Object.hasOwnProperty.call(message, "redisVersion"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.redisVersion);
+ if (message.reservedIpRange != null && Object.hasOwnProperty.call(message, "reservedIpRange"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.reservedIpRange);
+ if (message.host != null && Object.hasOwnProperty.call(message, "host"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.host);
+ if (message.port != null && Object.hasOwnProperty.call(message, "port"))
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.port);
+ if (message.currentLocationId != null && Object.hasOwnProperty.call(message, "currentLocationId"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.currentLocationId);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.state);
+ if (message.statusMessage != null && Object.hasOwnProperty.call(message, "statusMessage"))
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.statusMessage);
+ if (message.redisConfigs != null && Object.hasOwnProperty.call(message, "redisConfigs"))
+ for (var keys = Object.keys(message.redisConfigs), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 16, wireType 2 =*/130).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.redisConfigs[keys[i]]).ldelim();
+ if (message.tier != null && Object.hasOwnProperty.call(message, "tier"))
+ writer.uint32(/* id 17, wireType 0 =*/136).int32(message.tier);
+ if (message.memorySizeGb != null && Object.hasOwnProperty.call(message, "memorySizeGb"))
+ writer.uint32(/* id 18, wireType 0 =*/144).int32(message.memorySizeGb);
+ if (message.authorizedNetwork != null && Object.hasOwnProperty.call(message, "authorizedNetwork"))
+ writer.uint32(/* id 20, wireType 2 =*/162).string(message.authorizedNetwork);
+ if (message.persistenceIamIdentity != null && Object.hasOwnProperty.call(message, "persistenceIamIdentity"))
+ writer.uint32(/* id 21, wireType 2 =*/170).string(message.persistenceIamIdentity);
+ if (message.connectMode != null && Object.hasOwnProperty.call(message, "connectMode"))
+ writer.uint32(/* id 22, wireType 0 =*/176).int32(message.connectMode);
+ if (message.authEnabled != null && Object.hasOwnProperty.call(message, "authEnabled"))
+ writer.uint32(/* id 23, wireType 0 =*/184).bool(message.authEnabled);
+ if (message.serverCaCerts != null && message.serverCaCerts.length)
+ for (var i = 0; i < message.serverCaCerts.length; ++i)
+ $root.google.cloud.redis.v1.TlsCertificate.encode(message.serverCaCerts[i], writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
+ if (message.transitEncryptionMode != null && Object.hasOwnProperty.call(message, "transitEncryptionMode"))
+ writer.uint32(/* id 26, wireType 0 =*/208).int32(message.transitEncryptionMode);
+ if (message.maintenancePolicy != null && Object.hasOwnProperty.call(message, "maintenancePolicy"))
+ $root.google.cloud.redis.v1.MaintenancePolicy.encode(message.maintenancePolicy, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim();
+ if (message.maintenanceSchedule != null && Object.hasOwnProperty.call(message, "maintenanceSchedule"))
+ $root.google.cloud.redis.v1.MaintenanceSchedule.encode(message.maintenanceSchedule, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim();
+ if (message.secondaryIpRange != null && Object.hasOwnProperty.call(message, "secondaryIpRange"))
+ writer.uint32(/* id 30, wireType 2 =*/242).string(message.secondaryIpRange);
+ if (message.replicaCount != null && Object.hasOwnProperty.call(message, "replicaCount"))
+ writer.uint32(/* id 31, wireType 0 =*/248).int32(message.replicaCount);
+ if (message.nodes != null && message.nodes.length)
+ for (var i = 0; i < message.nodes.length; ++i)
+ $root.google.cloud.redis.v1.NodeInfo.encode(message.nodes[i], writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim();
+ if (message.readEndpoint != null && Object.hasOwnProperty.call(message, "readEndpoint"))
+ writer.uint32(/* id 33, wireType 2 =*/266).string(message.readEndpoint);
+ if (message.readEndpointPort != null && Object.hasOwnProperty.call(message, "readEndpointPort"))
+ writer.uint32(/* id 34, wireType 0 =*/272).int32(message.readEndpointPort);
+ if (message.readReplicasMode != null && Object.hasOwnProperty.call(message, "readReplicasMode"))
+ writer.uint32(/* id 35, wireType 0 =*/280).int32(message.readReplicasMode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Instance message, length delimited. Does not implicitly {@link google.cloud.redis.v1.Instance.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {google.cloud.redis.v1.IInstance} message Instance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Instance.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.Instance} Instance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Instance.decode = function 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.redis.v1.Instance(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.displayName = reader.string();
+ 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: {
+ message.locationId = reader.string();
+ break;
+ }
+ case 5: {
+ message.alternativeLocationId = reader.string();
+ break;
+ }
+ case 7: {
+ message.redisVersion = reader.string();
+ break;
+ }
+ case 9: {
+ message.reservedIpRange = reader.string();
+ break;
+ }
+ case 30: {
+ message.secondaryIpRange = reader.string();
+ break;
+ }
+ case 10: {
+ message.host = reader.string();
+ break;
+ }
+ case 11: {
+ message.port = reader.int32();
+ break;
+ }
+ case 12: {
+ message.currentLocationId = reader.string();
+ break;
+ }
+ case 13: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 14: {
+ message.state = reader.int32();
+ break;
+ }
+ case 15: {
+ message.statusMessage = reader.string();
+ break;
+ }
+ case 16: {
+ if (message.redisConfigs === $util.emptyObject)
+ message.redisConfigs = {};
+ 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.redisConfigs[key] = value;
+ break;
+ }
+ case 17: {
+ message.tier = reader.int32();
+ break;
+ }
+ case 18: {
+ message.memorySizeGb = reader.int32();
+ break;
+ }
+ case 20: {
+ message.authorizedNetwork = reader.string();
+ break;
+ }
+ case 21: {
+ message.persistenceIamIdentity = reader.string();
+ break;
+ }
+ case 22: {
+ message.connectMode = reader.int32();
+ break;
+ }
+ case 23: {
+ message.authEnabled = reader.bool();
+ break;
+ }
+ case 25: {
+ if (!(message.serverCaCerts && message.serverCaCerts.length))
+ message.serverCaCerts = [];
+ message.serverCaCerts.push($root.google.cloud.redis.v1.TlsCertificate.decode(reader, reader.uint32()));
+ break;
+ }
+ case 26: {
+ message.transitEncryptionMode = reader.int32();
+ break;
+ }
+ case 27: {
+ message.maintenancePolicy = $root.google.cloud.redis.v1.MaintenancePolicy.decode(reader, reader.uint32());
+ break;
+ }
+ case 28: {
+ message.maintenanceSchedule = $root.google.cloud.redis.v1.MaintenanceSchedule.decode(reader, reader.uint32());
+ break;
+ }
+ case 31: {
+ message.replicaCount = reader.int32();
+ break;
+ }
+ case 32: {
+ if (!(message.nodes && message.nodes.length))
+ message.nodes = [];
+ message.nodes.push($root.google.cloud.redis.v1.NodeInfo.decode(reader, reader.uint32()));
+ break;
+ }
+ case 33: {
+ message.readEndpoint = reader.string();
+ break;
+ }
+ case 34: {
+ message.readEndpointPort = reader.int32();
+ break;
+ }
+ case 35: {
+ message.readReplicasMode = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.Instance} Instance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Instance.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Instance message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Instance.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.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.locationId != null && message.hasOwnProperty("locationId"))
+ if (!$util.isString(message.locationId))
+ return "locationId: string expected";
+ if (message.alternativeLocationId != null && message.hasOwnProperty("alternativeLocationId"))
+ if (!$util.isString(message.alternativeLocationId))
+ return "alternativeLocationId: string expected";
+ if (message.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ if (!$util.isString(message.redisVersion))
+ return "redisVersion: string expected";
+ if (message.reservedIpRange != null && message.hasOwnProperty("reservedIpRange"))
+ if (!$util.isString(message.reservedIpRange))
+ return "reservedIpRange: string expected";
+ if (message.secondaryIpRange != null && message.hasOwnProperty("secondaryIpRange"))
+ if (!$util.isString(message.secondaryIpRange))
+ return "secondaryIpRange: string expected";
+ if (message.host != null && message.hasOwnProperty("host"))
+ if (!$util.isString(message.host))
+ return "host: string expected";
+ if (message.port != null && message.hasOwnProperty("port"))
+ if (!$util.isInteger(message.port))
+ return "port: integer expected";
+ if (message.currentLocationId != null && message.hasOwnProperty("currentLocationId"))
+ if (!$util.isString(message.currentLocationId))
+ return "currentLocationId: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 8:
+ case 9:
+ break;
+ }
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ if (!$util.isString(message.statusMessage))
+ return "statusMessage: string expected";
+ if (message.redisConfigs != null && message.hasOwnProperty("redisConfigs")) {
+ if (!$util.isObject(message.redisConfigs))
+ return "redisConfigs: object expected";
+ var key = Object.keys(message.redisConfigs);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.redisConfigs[key[i]]))
+ return "redisConfigs: string{k:string} expected";
+ }
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ switch (message.tier) {
+ default:
+ return "tier: enum value expected";
+ case 0:
+ case 1:
+ case 3:
+ break;
+ }
+ if (message.memorySizeGb != null && message.hasOwnProperty("memorySizeGb"))
+ if (!$util.isInteger(message.memorySizeGb))
+ return "memorySizeGb: integer expected";
+ if (message.authorizedNetwork != null && message.hasOwnProperty("authorizedNetwork"))
+ if (!$util.isString(message.authorizedNetwork))
+ return "authorizedNetwork: string expected";
+ if (message.persistenceIamIdentity != null && message.hasOwnProperty("persistenceIamIdentity"))
+ if (!$util.isString(message.persistenceIamIdentity))
+ return "persistenceIamIdentity: string expected";
+ if (message.connectMode != null && message.hasOwnProperty("connectMode"))
+ switch (message.connectMode) {
+ default:
+ return "connectMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.authEnabled != null && message.hasOwnProperty("authEnabled"))
+ if (typeof message.authEnabled !== "boolean")
+ return "authEnabled: boolean expected";
+ if (message.serverCaCerts != null && message.hasOwnProperty("serverCaCerts")) {
+ if (!Array.isArray(message.serverCaCerts))
+ return "serverCaCerts: array expected";
+ for (var i = 0; i < message.serverCaCerts.length; ++i) {
+ var error = $root.google.cloud.redis.v1.TlsCertificate.verify(message.serverCaCerts[i]);
+ if (error)
+ return "serverCaCerts." + error;
+ }
+ }
+ if (message.transitEncryptionMode != null && message.hasOwnProperty("transitEncryptionMode"))
+ switch (message.transitEncryptionMode) {
+ default:
+ return "transitEncryptionMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.maintenancePolicy != null && message.hasOwnProperty("maintenancePolicy")) {
+ var error = $root.google.cloud.redis.v1.MaintenancePolicy.verify(message.maintenancePolicy);
+ if (error)
+ return "maintenancePolicy." + error;
+ }
+ if (message.maintenanceSchedule != null && message.hasOwnProperty("maintenanceSchedule")) {
+ var error = $root.google.cloud.redis.v1.MaintenanceSchedule.verify(message.maintenanceSchedule);
+ if (error)
+ return "maintenanceSchedule." + error;
+ }
+ if (message.replicaCount != null && message.hasOwnProperty("replicaCount"))
+ if (!$util.isInteger(message.replicaCount))
+ return "replicaCount: integer expected";
+ if (message.nodes != null && message.hasOwnProperty("nodes")) {
+ if (!Array.isArray(message.nodes))
+ return "nodes: array expected";
+ for (var i = 0; i < message.nodes.length; ++i) {
+ var error = $root.google.cloud.redis.v1.NodeInfo.verify(message.nodes[i]);
+ if (error)
+ return "nodes." + error;
+ }
+ }
+ if (message.readEndpoint != null && message.hasOwnProperty("readEndpoint"))
+ if (!$util.isString(message.readEndpoint))
+ return "readEndpoint: string expected";
+ if (message.readEndpointPort != null && message.hasOwnProperty("readEndpointPort"))
+ if (!$util.isInteger(message.readEndpointPort))
+ return "readEndpointPort: integer expected";
+ if (message.readReplicasMode != null && message.hasOwnProperty("readReplicasMode"))
+ switch (message.readReplicasMode) {
+ default:
+ return "readReplicasMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Instance message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.Instance} Instance
+ */
+ Instance.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.Instance)
+ return object;
+ var message = new $root.google.cloud.redis.v1.Instance();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.redis.v1.Instance.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.locationId != null)
+ message.locationId = String(object.locationId);
+ if (object.alternativeLocationId != null)
+ message.alternativeLocationId = String(object.alternativeLocationId);
+ if (object.redisVersion != null)
+ message.redisVersion = String(object.redisVersion);
+ if (object.reservedIpRange != null)
+ message.reservedIpRange = String(object.reservedIpRange);
+ if (object.secondaryIpRange != null)
+ message.secondaryIpRange = String(object.secondaryIpRange);
+ if (object.host != null)
+ message.host = String(object.host);
+ if (object.port != null)
+ message.port = object.port | 0;
+ if (object.currentLocationId != null)
+ message.currentLocationId = String(object.currentLocationId);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.Instance.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ switch (object.state) {
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "CREATING":
+ case 1:
+ message.state = 1;
+ break;
+ case "READY":
+ case 2:
+ message.state = 2;
+ break;
+ case "UPDATING":
+ case 3:
+ message.state = 3;
+ break;
+ case "DELETING":
+ case 4:
+ message.state = 4;
+ break;
+ case "REPAIRING":
+ case 5:
+ message.state = 5;
+ break;
+ case "MAINTENANCE":
+ case 6:
+ message.state = 6;
+ break;
+ case "IMPORTING":
+ case 8:
+ message.state = 8;
+ break;
+ case "FAILING_OVER":
+ case 9:
+ message.state = 9;
+ break;
+ }
+ if (object.statusMessage != null)
+ message.statusMessage = String(object.statusMessage);
+ if (object.redisConfigs) {
+ if (typeof object.redisConfigs !== "object")
+ throw TypeError(".google.cloud.redis.v1.Instance.redisConfigs: object expected");
+ message.redisConfigs = {};
+ for (var keys = Object.keys(object.redisConfigs), i = 0; i < keys.length; ++i)
+ message.redisConfigs[keys[i]] = String(object.redisConfigs[keys[i]]);
+ }
+ switch (object.tier) {
+ case "TIER_UNSPECIFIED":
+ case 0:
+ message.tier = 0;
+ break;
+ case "BASIC":
+ case 1:
+ message.tier = 1;
+ break;
+ case "STANDARD_HA":
+ case 3:
+ message.tier = 3;
+ break;
+ }
+ if (object.memorySizeGb != null)
+ message.memorySizeGb = object.memorySizeGb | 0;
+ if (object.authorizedNetwork != null)
+ message.authorizedNetwork = String(object.authorizedNetwork);
+ if (object.persistenceIamIdentity != null)
+ message.persistenceIamIdentity = String(object.persistenceIamIdentity);
+ switch (object.connectMode) {
+ case "CONNECT_MODE_UNSPECIFIED":
+ case 0:
+ message.connectMode = 0;
+ break;
+ case "DIRECT_PEERING":
+ case 1:
+ message.connectMode = 1;
+ break;
+ case "PRIVATE_SERVICE_ACCESS":
+ case 2:
+ message.connectMode = 2;
+ break;
+ }
+ if (object.authEnabled != null)
+ message.authEnabled = Boolean(object.authEnabled);
+ if (object.serverCaCerts) {
+ if (!Array.isArray(object.serverCaCerts))
+ throw TypeError(".google.cloud.redis.v1.Instance.serverCaCerts: array expected");
+ message.serverCaCerts = [];
+ for (var i = 0; i < object.serverCaCerts.length; ++i) {
+ if (typeof object.serverCaCerts[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1.Instance.serverCaCerts: object expected");
+ message.serverCaCerts[i] = $root.google.cloud.redis.v1.TlsCertificate.fromObject(object.serverCaCerts[i]);
+ }
+ }
+ switch (object.transitEncryptionMode) {
+ case "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED":
+ case 0:
+ message.transitEncryptionMode = 0;
+ break;
+ case "SERVER_AUTHENTICATION":
+ case 1:
+ message.transitEncryptionMode = 1;
+ break;
+ case "DISABLED":
+ case 2:
+ message.transitEncryptionMode = 2;
+ break;
+ }
+ if (object.maintenancePolicy != null) {
+ if (typeof object.maintenancePolicy !== "object")
+ throw TypeError(".google.cloud.redis.v1.Instance.maintenancePolicy: object expected");
+ message.maintenancePolicy = $root.google.cloud.redis.v1.MaintenancePolicy.fromObject(object.maintenancePolicy);
+ }
+ if (object.maintenanceSchedule != null) {
+ if (typeof object.maintenanceSchedule !== "object")
+ throw TypeError(".google.cloud.redis.v1.Instance.maintenanceSchedule: object expected");
+ message.maintenanceSchedule = $root.google.cloud.redis.v1.MaintenanceSchedule.fromObject(object.maintenanceSchedule);
+ }
+ if (object.replicaCount != null)
+ message.replicaCount = object.replicaCount | 0;
+ if (object.nodes) {
+ if (!Array.isArray(object.nodes))
+ throw TypeError(".google.cloud.redis.v1.Instance.nodes: array expected");
+ message.nodes = [];
+ for (var i = 0; i < object.nodes.length; ++i) {
+ if (typeof object.nodes[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1.Instance.nodes: object expected");
+ message.nodes[i] = $root.google.cloud.redis.v1.NodeInfo.fromObject(object.nodes[i]);
+ }
+ }
+ if (object.readEndpoint != null)
+ message.readEndpoint = String(object.readEndpoint);
+ if (object.readEndpointPort != null)
+ message.readEndpointPort = object.readEndpointPort | 0;
+ switch (object.readReplicasMode) {
+ case "READ_REPLICAS_MODE_UNSPECIFIED":
+ case 0:
+ message.readReplicasMode = 0;
+ break;
+ case "READ_REPLICAS_DISABLED":
+ case 1:
+ message.readReplicasMode = 1;
+ break;
+ case "READ_REPLICAS_ENABLED":
+ case 2:
+ message.readReplicasMode = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Instance message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {google.cloud.redis.v1.Instance} message Instance
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Instance.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.serverCaCerts = [];
+ object.nodes = [];
+ }
+ if (options.objects || options.defaults) {
+ object.labels = {};
+ object.redisConfigs = {};
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.displayName = "";
+ object.locationId = "";
+ object.alternativeLocationId = "";
+ object.redisVersion = "";
+ object.reservedIpRange = "";
+ object.host = "";
+ object.port = 0;
+ object.currentLocationId = "";
+ object.createTime = null;
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.statusMessage = "";
+ object.tier = options.enums === String ? "TIER_UNSPECIFIED" : 0;
+ object.memorySizeGb = 0;
+ object.authorizedNetwork = "";
+ object.persistenceIamIdentity = "";
+ object.connectMode = options.enums === String ? "CONNECT_MODE_UNSPECIFIED" : 0;
+ object.authEnabled = false;
+ object.transitEncryptionMode = options.enums === String ? "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED" : 0;
+ object.maintenancePolicy = null;
+ object.maintenanceSchedule = null;
+ object.secondaryIpRange = "";
+ object.replicaCount = 0;
+ object.readEndpoint = "";
+ object.readEndpointPort = 0;
+ object.readReplicasMode = options.enums === String ? "READ_REPLICAS_MODE_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ 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.locationId != null && message.hasOwnProperty("locationId"))
+ object.locationId = message.locationId;
+ if (message.alternativeLocationId != null && message.hasOwnProperty("alternativeLocationId"))
+ object.alternativeLocationId = message.alternativeLocationId;
+ if (message.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ object.redisVersion = message.redisVersion;
+ if (message.reservedIpRange != null && message.hasOwnProperty("reservedIpRange"))
+ object.reservedIpRange = message.reservedIpRange;
+ if (message.host != null && message.hasOwnProperty("host"))
+ object.host = message.host;
+ if (message.port != null && message.hasOwnProperty("port"))
+ object.port = message.port;
+ if (message.currentLocationId != null && message.hasOwnProperty("currentLocationId"))
+ object.currentLocationId = message.currentLocationId;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.redis.v1.Instance.State[message.state] : message.state;
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ object.statusMessage = message.statusMessage;
+ if (message.redisConfigs && (keys2 = Object.keys(message.redisConfigs)).length) {
+ object.redisConfigs = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.redisConfigs[keys2[j]] = message.redisConfigs[keys2[j]];
+ }
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ object.tier = options.enums === String ? $root.google.cloud.redis.v1.Instance.Tier[message.tier] : message.tier;
+ if (message.memorySizeGb != null && message.hasOwnProperty("memorySizeGb"))
+ object.memorySizeGb = message.memorySizeGb;
+ if (message.authorizedNetwork != null && message.hasOwnProperty("authorizedNetwork"))
+ object.authorizedNetwork = message.authorizedNetwork;
+ if (message.persistenceIamIdentity != null && message.hasOwnProperty("persistenceIamIdentity"))
+ object.persistenceIamIdentity = message.persistenceIamIdentity;
+ if (message.connectMode != null && message.hasOwnProperty("connectMode"))
+ object.connectMode = options.enums === String ? $root.google.cloud.redis.v1.Instance.ConnectMode[message.connectMode] : message.connectMode;
+ if (message.authEnabled != null && message.hasOwnProperty("authEnabled"))
+ object.authEnabled = message.authEnabled;
+ if (message.serverCaCerts && message.serverCaCerts.length) {
+ object.serverCaCerts = [];
+ for (var j = 0; j < message.serverCaCerts.length; ++j)
+ object.serverCaCerts[j] = $root.google.cloud.redis.v1.TlsCertificate.toObject(message.serverCaCerts[j], options);
+ }
+ if (message.transitEncryptionMode != null && message.hasOwnProperty("transitEncryptionMode"))
+ object.transitEncryptionMode = options.enums === String ? $root.google.cloud.redis.v1.Instance.TransitEncryptionMode[message.transitEncryptionMode] : message.transitEncryptionMode;
+ if (message.maintenancePolicy != null && message.hasOwnProperty("maintenancePolicy"))
+ object.maintenancePolicy = $root.google.cloud.redis.v1.MaintenancePolicy.toObject(message.maintenancePolicy, options);
+ if (message.maintenanceSchedule != null && message.hasOwnProperty("maintenanceSchedule"))
+ object.maintenanceSchedule = $root.google.cloud.redis.v1.MaintenanceSchedule.toObject(message.maintenanceSchedule, options);
+ if (message.secondaryIpRange != null && message.hasOwnProperty("secondaryIpRange"))
+ object.secondaryIpRange = message.secondaryIpRange;
+ if (message.replicaCount != null && message.hasOwnProperty("replicaCount"))
+ object.replicaCount = message.replicaCount;
+ if (message.nodes && message.nodes.length) {
+ object.nodes = [];
+ for (var j = 0; j < message.nodes.length; ++j)
+ object.nodes[j] = $root.google.cloud.redis.v1.NodeInfo.toObject(message.nodes[j], options);
+ }
+ if (message.readEndpoint != null && message.hasOwnProperty("readEndpoint"))
+ object.readEndpoint = message.readEndpoint;
+ if (message.readEndpointPort != null && message.hasOwnProperty("readEndpointPort"))
+ object.readEndpointPort = message.readEndpointPort;
+ if (message.readReplicasMode != null && message.hasOwnProperty("readReplicasMode"))
+ object.readReplicasMode = options.enums === String ? $root.google.cloud.redis.v1.Instance.ReadReplicasMode[message.readReplicasMode] : message.readReplicasMode;
+ return object;
+ };
+
+ /**
+ * Converts this Instance to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.Instance
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Instance.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Instance
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.Instance
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Instance.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.Instance";
+ };
+
+ /**
+ * State enum.
+ * @name google.cloud.redis.v1.Instance.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} CREATING=1 CREATING value
+ * @property {number} READY=2 READY value
+ * @property {number} UPDATING=3 UPDATING value
+ * @property {number} DELETING=4 DELETING value
+ * @property {number} REPAIRING=5 REPAIRING value
+ * @property {number} MAINTENANCE=6 MAINTENANCE value
+ * @property {number} IMPORTING=8 IMPORTING value
+ * @property {number} FAILING_OVER=9 FAILING_OVER value
+ */
+ Instance.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CREATING"] = 1;
+ values[valuesById[2] = "READY"] = 2;
+ values[valuesById[3] = "UPDATING"] = 3;
+ values[valuesById[4] = "DELETING"] = 4;
+ values[valuesById[5] = "REPAIRING"] = 5;
+ values[valuesById[6] = "MAINTENANCE"] = 6;
+ values[valuesById[8] = "IMPORTING"] = 8;
+ values[valuesById[9] = "FAILING_OVER"] = 9;
+ return values;
+ })();
+
+ /**
+ * Tier enum.
+ * @name google.cloud.redis.v1.Instance.Tier
+ * @enum {number}
+ * @property {number} TIER_UNSPECIFIED=0 TIER_UNSPECIFIED value
+ * @property {number} BASIC=1 BASIC value
+ * @property {number} STANDARD_HA=3 STANDARD_HA value
+ */
+ Instance.Tier = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TIER_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "BASIC"] = 1;
+ values[valuesById[3] = "STANDARD_HA"] = 3;
+ return values;
+ })();
+
+ /**
+ * ConnectMode enum.
+ * @name google.cloud.redis.v1.Instance.ConnectMode
+ * @enum {number}
+ * @property {number} CONNECT_MODE_UNSPECIFIED=0 CONNECT_MODE_UNSPECIFIED value
+ * @property {number} DIRECT_PEERING=1 DIRECT_PEERING value
+ * @property {number} PRIVATE_SERVICE_ACCESS=2 PRIVATE_SERVICE_ACCESS value
+ */
+ Instance.ConnectMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CONNECT_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DIRECT_PEERING"] = 1;
+ values[valuesById[2] = "PRIVATE_SERVICE_ACCESS"] = 2;
+ return values;
+ })();
+
+ /**
+ * TransitEncryptionMode enum.
+ * @name google.cloud.redis.v1.Instance.TransitEncryptionMode
+ * @enum {number}
+ * @property {number} TRANSIT_ENCRYPTION_MODE_UNSPECIFIED=0 TRANSIT_ENCRYPTION_MODE_UNSPECIFIED value
+ * @property {number} SERVER_AUTHENTICATION=1 SERVER_AUTHENTICATION value
+ * @property {number} DISABLED=2 DISABLED value
+ */
+ Instance.TransitEncryptionMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SERVER_AUTHENTICATION"] = 1;
+ values[valuesById[2] = "DISABLED"] = 2;
+ return values;
+ })();
+
+ /**
+ * ReadReplicasMode enum.
+ * @name google.cloud.redis.v1.Instance.ReadReplicasMode
+ * @enum {number}
+ * @property {number} READ_REPLICAS_MODE_UNSPECIFIED=0 READ_REPLICAS_MODE_UNSPECIFIED value
+ * @property {number} READ_REPLICAS_DISABLED=1 READ_REPLICAS_DISABLED value
+ * @property {number} READ_REPLICAS_ENABLED=2 READ_REPLICAS_ENABLED value
+ */
+ Instance.ReadReplicasMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "READ_REPLICAS_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "READ_REPLICAS_DISABLED"] = 1;
+ values[valuesById[2] = "READ_REPLICAS_ENABLED"] = 2;
+ return values;
+ })();
+
+ return Instance;
+ })();
+
+ v1.RescheduleMaintenanceRequest = (function() {
+
+ /**
+ * Properties of a RescheduleMaintenanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IRescheduleMaintenanceRequest
+ * @property {string|null} [name] RescheduleMaintenanceRequest name
+ * @property {google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType|null} [rescheduleType] RescheduleMaintenanceRequest rescheduleType
+ * @property {google.protobuf.ITimestamp|null} [scheduleTime] RescheduleMaintenanceRequest scheduleTime
+ */
+
+ /**
+ * Constructs a new RescheduleMaintenanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a RescheduleMaintenanceRequest.
+ * @implements IRescheduleMaintenanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IRescheduleMaintenanceRequest=} [properties] Properties to set
+ */
+ function RescheduleMaintenanceRequest(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]];
+ }
+
+ /**
+ * RescheduleMaintenanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @instance
+ */
+ RescheduleMaintenanceRequest.prototype.name = "";
+
+ /**
+ * RescheduleMaintenanceRequest rescheduleType.
+ * @member {google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType} rescheduleType
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @instance
+ */
+ RescheduleMaintenanceRequest.prototype.rescheduleType = 0;
+
+ /**
+ * RescheduleMaintenanceRequest scheduleTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} scheduleTime
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @instance
+ */
+ RescheduleMaintenanceRequest.prototype.scheduleTime = null;
+
+ /**
+ * Creates a new RescheduleMaintenanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IRescheduleMaintenanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest instance
+ */
+ RescheduleMaintenanceRequest.create = function create(properties) {
+ return new RescheduleMaintenanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message. Does not implicitly {@link google.cloud.redis.v1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IRescheduleMaintenanceRequest} message RescheduleMaintenanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RescheduleMaintenanceRequest.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.rescheduleType != null && Object.hasOwnProperty.call(message, "rescheduleType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.rescheduleType);
+ if (message.scheduleTime != null && Object.hasOwnProperty.call(message, "scheduleTime"))
+ $root.google.protobuf.Timestamp.encode(message.scheduleTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IRescheduleMaintenanceRequest} message RescheduleMaintenanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RescheduleMaintenanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RescheduleMaintenanceRequest.decode = function 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.redis.v1.RescheduleMaintenanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.rescheduleType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.scheduleTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RescheduleMaintenanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RescheduleMaintenanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RescheduleMaintenanceRequest.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.rescheduleType != null && message.hasOwnProperty("rescheduleType"))
+ switch (message.rescheduleType) {
+ default:
+ return "rescheduleType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.scheduleTime != null && message.hasOwnProperty("scheduleTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.scheduleTime);
+ if (error)
+ return "scheduleTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RescheduleMaintenanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest
+ */
+ RescheduleMaintenanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.RescheduleMaintenanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.RescheduleMaintenanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ switch (object.rescheduleType) {
+ case "RESCHEDULE_TYPE_UNSPECIFIED":
+ case 0:
+ message.rescheduleType = 0;
+ break;
+ case "IMMEDIATE":
+ case 1:
+ message.rescheduleType = 1;
+ break;
+ case "NEXT_AVAILABLE_WINDOW":
+ case 2:
+ message.rescheduleType = 2;
+ break;
+ case "SPECIFIC_TIME":
+ case 3:
+ message.rescheduleType = 3;
+ break;
+ }
+ if (object.scheduleTime != null) {
+ if (typeof object.scheduleTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.RescheduleMaintenanceRequest.scheduleTime: object expected");
+ message.scheduleTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RescheduleMaintenanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.RescheduleMaintenanceRequest} message RescheduleMaintenanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RescheduleMaintenanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.rescheduleType = options.enums === String ? "RESCHEDULE_TYPE_UNSPECIFIED" : 0;
+ object.scheduleTime = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.rescheduleType != null && message.hasOwnProperty("rescheduleType"))
+ object.rescheduleType = options.enums === String ? $root.google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType[message.rescheduleType] : message.rescheduleType;
+ if (message.scheduleTime != null && message.hasOwnProperty("scheduleTime"))
+ object.scheduleTime = $root.google.protobuf.Timestamp.toObject(message.scheduleTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this RescheduleMaintenanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RescheduleMaintenanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RescheduleMaintenanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.RescheduleMaintenanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RescheduleMaintenanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.RescheduleMaintenanceRequest";
+ };
+
+ /**
+ * RescheduleType enum.
+ * @name google.cloud.redis.v1.RescheduleMaintenanceRequest.RescheduleType
+ * @enum {number}
+ * @property {number} RESCHEDULE_TYPE_UNSPECIFIED=0 RESCHEDULE_TYPE_UNSPECIFIED value
+ * @property {number} IMMEDIATE=1 IMMEDIATE value
+ * @property {number} NEXT_AVAILABLE_WINDOW=2 NEXT_AVAILABLE_WINDOW value
+ * @property {number} SPECIFIC_TIME=3 SPECIFIC_TIME value
+ */
+ RescheduleMaintenanceRequest.RescheduleType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "RESCHEDULE_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "IMMEDIATE"] = 1;
+ values[valuesById[2] = "NEXT_AVAILABLE_WINDOW"] = 2;
+ values[valuesById[3] = "SPECIFIC_TIME"] = 3;
+ return values;
+ })();
+
+ return RescheduleMaintenanceRequest;
+ })();
+
+ v1.MaintenancePolicy = (function() {
+
+ /**
+ * Properties of a MaintenancePolicy.
+ * @memberof google.cloud.redis.v1
+ * @interface IMaintenancePolicy
+ * @property {google.protobuf.ITimestamp|null} [createTime] MaintenancePolicy createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] MaintenancePolicy updateTime
+ * @property {string|null} [description] MaintenancePolicy description
+ * @property {Array.|null} [weeklyMaintenanceWindow] MaintenancePolicy weeklyMaintenanceWindow
+ */
+
+ /**
+ * Constructs a new MaintenancePolicy.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a MaintenancePolicy.
+ * @implements IMaintenancePolicy
+ * @constructor
+ * @param {google.cloud.redis.v1.IMaintenancePolicy=} [properties] Properties to set
+ */
+ function MaintenancePolicy(properties) {
+ this.weeklyMaintenanceWindow = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MaintenancePolicy createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.createTime = null;
+
+ /**
+ * MaintenancePolicy updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.updateTime = null;
+
+ /**
+ * MaintenancePolicy description.
+ * @member {string} description
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.description = "";
+
+ /**
+ * MaintenancePolicy weeklyMaintenanceWindow.
+ * @member {Array.} weeklyMaintenanceWindow
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.weeklyMaintenanceWindow = $util.emptyArray;
+
+ /**
+ * Creates a new MaintenancePolicy instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1.IMaintenancePolicy=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.MaintenancePolicy} MaintenancePolicy instance
+ */
+ MaintenancePolicy.create = function create(properties) {
+ return new MaintenancePolicy(properties);
+ };
+
+ /**
+ * Encodes the specified MaintenancePolicy message. Does not implicitly {@link google.cloud.redis.v1.MaintenancePolicy.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1.IMaintenancePolicy} message MaintenancePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenancePolicy.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.description);
+ if (message.weeklyMaintenanceWindow != null && message.weeklyMaintenanceWindow.length)
+ for (var i = 0; i < message.weeklyMaintenanceWindow.length; ++i)
+ $root.google.cloud.redis.v1.WeeklyMaintenanceWindow.encode(message.weeklyMaintenanceWindow[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MaintenancePolicy message, length delimited. Does not implicitly {@link google.cloud.redis.v1.MaintenancePolicy.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1.IMaintenancePolicy} message MaintenancePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenancePolicy.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.MaintenancePolicy} MaintenancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenancePolicy.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.redis.v1.MaintenancePolicy();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.description = reader.string();
+ break;
+ }
+ case 4: {
+ if (!(message.weeklyMaintenanceWindow && message.weeklyMaintenanceWindow.length))
+ message.weeklyMaintenanceWindow = [];
+ message.weeklyMaintenanceWindow.push($root.google.cloud.redis.v1.WeeklyMaintenanceWindow.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.MaintenancePolicy} MaintenancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenancePolicy.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MaintenancePolicy message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MaintenancePolicy.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.weeklyMaintenanceWindow != null && message.hasOwnProperty("weeklyMaintenanceWindow")) {
+ if (!Array.isArray(message.weeklyMaintenanceWindow))
+ return "weeklyMaintenanceWindow: array expected";
+ for (var i = 0; i < message.weeklyMaintenanceWindow.length; ++i) {
+ var error = $root.google.cloud.redis.v1.WeeklyMaintenanceWindow.verify(message.weeklyMaintenanceWindow[i]);
+ if (error)
+ return "weeklyMaintenanceWindow." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MaintenancePolicy message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.MaintenancePolicy} MaintenancePolicy
+ */
+ MaintenancePolicy.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.MaintenancePolicy)
+ return object;
+ var message = new $root.google.cloud.redis.v1.MaintenancePolicy();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.MaintenancePolicy.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.MaintenancePolicy.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.weeklyMaintenanceWindow) {
+ if (!Array.isArray(object.weeklyMaintenanceWindow))
+ throw TypeError(".google.cloud.redis.v1.MaintenancePolicy.weeklyMaintenanceWindow: array expected");
+ message.weeklyMaintenanceWindow = [];
+ for (var i = 0; i < object.weeklyMaintenanceWindow.length; ++i) {
+ if (typeof object.weeklyMaintenanceWindow[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1.MaintenancePolicy.weeklyMaintenanceWindow: object expected");
+ message.weeklyMaintenanceWindow[i] = $root.google.cloud.redis.v1.WeeklyMaintenanceWindow.fromObject(object.weeklyMaintenanceWindow[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MaintenancePolicy message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1.MaintenancePolicy} message MaintenancePolicy
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MaintenancePolicy.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.weeklyMaintenanceWindow = [];
+ if (options.defaults) {
+ object.createTime = null;
+ object.updateTime = null;
+ object.description = "";
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.weeklyMaintenanceWindow && message.weeklyMaintenanceWindow.length) {
+ object.weeklyMaintenanceWindow = [];
+ for (var j = 0; j < message.weeklyMaintenanceWindow.length; ++j)
+ object.weeklyMaintenanceWindow[j] = $root.google.cloud.redis.v1.WeeklyMaintenanceWindow.toObject(message.weeklyMaintenanceWindow[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MaintenancePolicy to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MaintenancePolicy.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MaintenancePolicy
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.MaintenancePolicy
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MaintenancePolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.MaintenancePolicy";
+ };
+
+ return MaintenancePolicy;
+ })();
+
+ v1.WeeklyMaintenanceWindow = (function() {
+
+ /**
+ * Properties of a WeeklyMaintenanceWindow.
+ * @memberof google.cloud.redis.v1
+ * @interface IWeeklyMaintenanceWindow
+ * @property {google.type.DayOfWeek|null} [day] WeeklyMaintenanceWindow day
+ * @property {google.type.ITimeOfDay|null} [startTime] WeeklyMaintenanceWindow startTime
+ * @property {google.protobuf.IDuration|null} [duration] WeeklyMaintenanceWindow duration
+ */
+
+ /**
+ * Constructs a new WeeklyMaintenanceWindow.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a WeeklyMaintenanceWindow.
+ * @implements IWeeklyMaintenanceWindow
+ * @constructor
+ * @param {google.cloud.redis.v1.IWeeklyMaintenanceWindow=} [properties] Properties to set
+ */
+ function WeeklyMaintenanceWindow(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]];
+ }
+
+ /**
+ * WeeklyMaintenanceWindow day.
+ * @member {google.type.DayOfWeek} day
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @instance
+ */
+ WeeklyMaintenanceWindow.prototype.day = 0;
+
+ /**
+ * WeeklyMaintenanceWindow startTime.
+ * @member {google.type.ITimeOfDay|null|undefined} startTime
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @instance
+ */
+ WeeklyMaintenanceWindow.prototype.startTime = null;
+
+ /**
+ * WeeklyMaintenanceWindow duration.
+ * @member {google.protobuf.IDuration|null|undefined} duration
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @instance
+ */
+ WeeklyMaintenanceWindow.prototype.duration = null;
+
+ /**
+ * Creates a new WeeklyMaintenanceWindow instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1.IWeeklyMaintenanceWindow=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow instance
+ */
+ WeeklyMaintenanceWindow.create = function create(properties) {
+ return new WeeklyMaintenanceWindow(properties);
+ };
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message. Does not implicitly {@link google.cloud.redis.v1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1.IWeeklyMaintenanceWindow} message WeeklyMaintenanceWindow message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WeeklyMaintenanceWindow.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.day != null && Object.hasOwnProperty.call(message, "day"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.day);
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.type.TimeOfDay.encode(message.startTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
+ $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message, length delimited. Does not implicitly {@link google.cloud.redis.v1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1.IWeeklyMaintenanceWindow} message WeeklyMaintenanceWindow message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WeeklyMaintenanceWindow.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WeeklyMaintenanceWindow.decode = function 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.redis.v1.WeeklyMaintenanceWindow();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.day = reader.int32();
+ break;
+ }
+ case 2: {
+ message.startTime = $root.google.type.TimeOfDay.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WeeklyMaintenanceWindow.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a WeeklyMaintenanceWindow message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ WeeklyMaintenanceWindow.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.day != null && message.hasOwnProperty("day"))
+ switch (message.day) {
+ default:
+ return "day: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.type.TimeOfDay.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.duration != null && message.hasOwnProperty("duration")) {
+ var error = $root.google.protobuf.Duration.verify(message.duration);
+ if (error)
+ return "duration." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a WeeklyMaintenanceWindow message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow
+ */
+ WeeklyMaintenanceWindow.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.WeeklyMaintenanceWindow)
+ return object;
+ var message = new $root.google.cloud.redis.v1.WeeklyMaintenanceWindow();
+ switch (object.day) {
+ case "DAY_OF_WEEK_UNSPECIFIED":
+ case 0:
+ message.day = 0;
+ break;
+ case "MONDAY":
+ case 1:
+ message.day = 1;
+ break;
+ case "TUESDAY":
+ case 2:
+ message.day = 2;
+ break;
+ case "WEDNESDAY":
+ case 3:
+ message.day = 3;
+ break;
+ case "THURSDAY":
+ case 4:
+ message.day = 4;
+ break;
+ case "FRIDAY":
+ case 5:
+ message.day = 5;
+ break;
+ case "SATURDAY":
+ case 6:
+ message.day = 6;
+ break;
+ case "SUNDAY":
+ case 7:
+ message.day = 7;
+ break;
+ }
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.WeeklyMaintenanceWindow.startTime: object expected");
+ message.startTime = $root.google.type.TimeOfDay.fromObject(object.startTime);
+ }
+ if (object.duration != null) {
+ if (typeof object.duration !== "object")
+ throw TypeError(".google.cloud.redis.v1.WeeklyMaintenanceWindow.duration: object expected");
+ message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a WeeklyMaintenanceWindow message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1.WeeklyMaintenanceWindow} message WeeklyMaintenanceWindow
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ WeeklyMaintenanceWindow.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.day = options.enums === String ? "DAY_OF_WEEK_UNSPECIFIED" : 0;
+ object.startTime = null;
+ object.duration = null;
+ }
+ if (message.day != null && message.hasOwnProperty("day"))
+ object.day = options.enums === String ? $root.google.type.DayOfWeek[message.day] : message.day;
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.type.TimeOfDay.toObject(message.startTime, options);
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ object.duration = $root.google.protobuf.Duration.toObject(message.duration, options);
+ return object;
+ };
+
+ /**
+ * Converts this WeeklyMaintenanceWindow to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ WeeklyMaintenanceWindow.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for WeeklyMaintenanceWindow
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.WeeklyMaintenanceWindow
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ WeeklyMaintenanceWindow.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.WeeklyMaintenanceWindow";
+ };
+
+ return WeeklyMaintenanceWindow;
+ })();
+
+ v1.MaintenanceSchedule = (function() {
+
+ /**
+ * Properties of a MaintenanceSchedule.
+ * @memberof google.cloud.redis.v1
+ * @interface IMaintenanceSchedule
+ * @property {google.protobuf.ITimestamp|null} [startTime] MaintenanceSchedule startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] MaintenanceSchedule endTime
+ * @property {boolean|null} [canReschedule] MaintenanceSchedule canReschedule
+ * @property {google.protobuf.ITimestamp|null} [scheduleDeadlineTime] MaintenanceSchedule scheduleDeadlineTime
+ */
+
+ /**
+ * Constructs a new MaintenanceSchedule.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a MaintenanceSchedule.
+ * @implements IMaintenanceSchedule
+ * @constructor
+ * @param {google.cloud.redis.v1.IMaintenanceSchedule=} [properties] Properties to set
+ */
+ function MaintenanceSchedule(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]];
+ }
+
+ /**
+ * MaintenanceSchedule startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.startTime = null;
+
+ /**
+ * MaintenanceSchedule endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.endTime = null;
+
+ /**
+ * MaintenanceSchedule canReschedule.
+ * @member {boolean} canReschedule
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.canReschedule = false;
+
+ /**
+ * MaintenanceSchedule scheduleDeadlineTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} scheduleDeadlineTime
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.scheduleDeadlineTime = null;
+
+ /**
+ * Creates a new MaintenanceSchedule instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1.IMaintenanceSchedule=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.MaintenanceSchedule} MaintenanceSchedule instance
+ */
+ MaintenanceSchedule.create = function create(properties) {
+ return new MaintenanceSchedule(properties);
+ };
+
+ /**
+ * Encodes the specified MaintenanceSchedule message. Does not implicitly {@link google.cloud.redis.v1.MaintenanceSchedule.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1.IMaintenanceSchedule} message MaintenanceSchedule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenanceSchedule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.canReschedule != null && Object.hasOwnProperty.call(message, "canReschedule"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.canReschedule);
+ if (message.scheduleDeadlineTime != null && Object.hasOwnProperty.call(message, "scheduleDeadlineTime"))
+ $root.google.protobuf.Timestamp.encode(message.scheduleDeadlineTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MaintenanceSchedule message, length delimited. Does not implicitly {@link google.cloud.redis.v1.MaintenanceSchedule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1.IMaintenanceSchedule} message MaintenanceSchedule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenanceSchedule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.MaintenanceSchedule} MaintenanceSchedule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenanceSchedule.decode = function 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.redis.v1.MaintenanceSchedule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.canReschedule = reader.bool();
+ break;
+ }
+ case 5: {
+ message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.MaintenanceSchedule} MaintenanceSchedule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenanceSchedule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MaintenanceSchedule message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MaintenanceSchedule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.canReschedule != null && message.hasOwnProperty("canReschedule"))
+ if (typeof message.canReschedule !== "boolean")
+ return "canReschedule: boolean expected";
+ if (message.scheduleDeadlineTime != null && message.hasOwnProperty("scheduleDeadlineTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.scheduleDeadlineTime);
+ if (error)
+ return "scheduleDeadlineTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MaintenanceSchedule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.MaintenanceSchedule} MaintenanceSchedule
+ */
+ MaintenanceSchedule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.MaintenanceSchedule)
+ return object;
+ var message = new $root.google.cloud.redis.v1.MaintenanceSchedule();
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.MaintenanceSchedule.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.redis.v1.MaintenanceSchedule.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.canReschedule != null)
+ message.canReschedule = Boolean(object.canReschedule);
+ if (object.scheduleDeadlineTime != null) {
+ if (typeof object.scheduleDeadlineTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.MaintenanceSchedule.scheduleDeadlineTime: object expected");
+ message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleDeadlineTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MaintenanceSchedule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1.MaintenanceSchedule} message MaintenanceSchedule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MaintenanceSchedule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.startTime = null;
+ object.endTime = null;
+ object.canReschedule = false;
+ object.scheduleDeadlineTime = null;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.canReschedule != null && message.hasOwnProperty("canReschedule"))
+ object.canReschedule = message.canReschedule;
+ if (message.scheduleDeadlineTime != null && message.hasOwnProperty("scheduleDeadlineTime"))
+ object.scheduleDeadlineTime = $root.google.protobuf.Timestamp.toObject(message.scheduleDeadlineTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this MaintenanceSchedule to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MaintenanceSchedule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MaintenanceSchedule
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.MaintenanceSchedule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MaintenanceSchedule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.MaintenanceSchedule";
+ };
+
+ return MaintenanceSchedule;
+ })();
+
+ v1.ListInstancesRequest = (function() {
+
+ /**
+ * Properties of a ListInstancesRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IListInstancesRequest
+ * @property {string|null} [parent] ListInstancesRequest parent
+ * @property {number|null} [pageSize] ListInstancesRequest pageSize
+ * @property {string|null} [pageToken] ListInstancesRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListInstancesRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a ListInstancesRequest.
+ * @implements IListInstancesRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IListInstancesRequest=} [properties] Properties to set
+ */
+ function ListInstancesRequest(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]];
+ }
+
+ /**
+ * ListInstancesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @instance
+ */
+ ListInstancesRequest.prototype.parent = "";
+
+ /**
+ * ListInstancesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @instance
+ */
+ ListInstancesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListInstancesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @instance
+ */
+ ListInstancesRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListInstancesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1.IListInstancesRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.ListInstancesRequest} ListInstancesRequest instance
+ */
+ ListInstancesRequest.create = function create(properties) {
+ return new ListInstancesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListInstancesRequest message. Does not implicitly {@link google.cloud.redis.v1.ListInstancesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1.IListInstancesRequest} message ListInstancesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListInstancesRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ListInstancesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1.IListInstancesRequest} message ListInstancesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.ListInstancesRequest} ListInstancesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesRequest.decode = function 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.redis.v1.ListInstancesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.ListInstancesRequest} ListInstancesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListInstancesRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListInstancesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListInstancesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.ListInstancesRequest} ListInstancesRequest
+ */
+ ListInstancesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.ListInstancesRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.ListInstancesRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListInstancesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1.ListInstancesRequest} message ListInstancesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListInstancesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListInstancesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListInstancesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListInstancesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.ListInstancesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListInstancesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.ListInstancesRequest";
+ };
+
+ return ListInstancesRequest;
+ })();
+
+ v1.ListInstancesResponse = (function() {
+
+ /**
+ * Properties of a ListInstancesResponse.
+ * @memberof google.cloud.redis.v1
+ * @interface IListInstancesResponse
+ * @property {Array.|null} [instances] ListInstancesResponse instances
+ * @property {string|null} [nextPageToken] ListInstancesResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListInstancesResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListInstancesResponse.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a ListInstancesResponse.
+ * @implements IListInstancesResponse
+ * @constructor
+ * @param {google.cloud.redis.v1.IListInstancesResponse=} [properties] Properties to set
+ */
+ function ListInstancesResponse(properties) {
+ this.instances = [];
+ this.unreachable = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListInstancesResponse instances.
+ * @member {Array.} instances
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @instance
+ */
+ ListInstancesResponse.prototype.instances = $util.emptyArray;
+
+ /**
+ * ListInstancesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @instance
+ */
+ ListInstancesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListInstancesResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @instance
+ */
+ ListInstancesResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListInstancesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1.IListInstancesResponse=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.ListInstancesResponse} ListInstancesResponse instance
+ */
+ ListInstancesResponse.create = function create(properties) {
+ return new ListInstancesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListInstancesResponse message. Does not implicitly {@link google.cloud.redis.v1.ListInstancesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1.IListInstancesResponse} message ListInstancesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.instances != null && message.instances.length)
+ for (var i = 0; i < message.instances.length; ++i)
+ $root.google.cloud.redis.v1.Instance.encode(message.instances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListInstancesResponse message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ListInstancesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1.IListInstancesResponse} message ListInstancesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.ListInstancesResponse} ListInstancesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesResponse.decode = function 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.redis.v1.ListInstancesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.instances && message.instances.length))
+ message.instances = [];
+ message.instances.push($root.google.cloud.redis.v1.Instance.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.ListInstancesResponse} ListInstancesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListInstancesResponse message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListInstancesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.instances != null && message.hasOwnProperty("instances")) {
+ if (!Array.isArray(message.instances))
+ return "instances: array expected";
+ for (var i = 0; i < message.instances.length; ++i) {
+ var error = $root.google.cloud.redis.v1.Instance.verify(message.instances[i]);
+ if (error)
+ return "instances." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListInstancesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.ListInstancesResponse} ListInstancesResponse
+ */
+ ListInstancesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.ListInstancesResponse)
+ return object;
+ var message = new $root.google.cloud.redis.v1.ListInstancesResponse();
+ if (object.instances) {
+ if (!Array.isArray(object.instances))
+ throw TypeError(".google.cloud.redis.v1.ListInstancesResponse.instances: array expected");
+ message.instances = [];
+ for (var i = 0; i < object.instances.length; ++i) {
+ if (typeof object.instances[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1.ListInstancesResponse.instances: object expected");
+ message.instances[i] = $root.google.cloud.redis.v1.Instance.fromObject(object.instances[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.redis.v1.ListInstancesResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListInstancesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1.ListInstancesResponse} message ListInstancesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListInstancesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.instances = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.instances && message.instances.length) {
+ object.instances = [];
+ for (var j = 0; j < message.instances.length; ++j)
+ object.instances[j] = $root.google.cloud.redis.v1.Instance.toObject(message.instances[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListInstancesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListInstancesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListInstancesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.ListInstancesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListInstancesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.ListInstancesResponse";
+ };
+
+ return ListInstancesResponse;
+ })();
+
+ v1.GetInstanceRequest = (function() {
+
+ /**
+ * Properties of a GetInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IGetInstanceRequest
+ * @property {string|null} [name] GetInstanceRequest name
+ */
+
+ /**
+ * Constructs a new GetInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a GetInstanceRequest.
+ * @implements IGetInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IGetInstanceRequest=} [properties] Properties to set
+ */
+ function GetInstanceRequest(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]];
+ }
+
+ /**
+ * GetInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @instance
+ */
+ GetInstanceRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IGetInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.GetInstanceRequest} GetInstanceRequest instance
+ */
+ GetInstanceRequest.create = function create(properties) {
+ return new GetInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.GetInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IGetInstanceRequest} message GetInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GetInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IGetInstanceRequest} message GetInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.GetInstanceRequest} GetInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceRequest.decode = function 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.redis.v1.GetInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.GetInstanceRequest} GetInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetInstanceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.GetInstanceRequest} GetInstanceRequest
+ */
+ GetInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.GetInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.GetInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.GetInstanceRequest} message GetInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.GetInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.GetInstanceRequest";
+ };
+
+ return GetInstanceRequest;
+ })();
+
+ v1.GetInstanceAuthStringRequest = (function() {
+
+ /**
+ * Properties of a GetInstanceAuthStringRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IGetInstanceAuthStringRequest
+ * @property {string|null} [name] GetInstanceAuthStringRequest name
+ */
+
+ /**
+ * Constructs a new GetInstanceAuthStringRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a GetInstanceAuthStringRequest.
+ * @implements IGetInstanceAuthStringRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IGetInstanceAuthStringRequest=} [properties] Properties to set
+ */
+ function GetInstanceAuthStringRequest(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]];
+ }
+
+ /**
+ * GetInstanceAuthStringRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @instance
+ */
+ GetInstanceAuthStringRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetInstanceAuthStringRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1.IGetInstanceAuthStringRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest instance
+ */
+ GetInstanceAuthStringRequest.create = function create(properties) {
+ return new GetInstanceAuthStringRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message. Does not implicitly {@link google.cloud.redis.v1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1.IGetInstanceAuthStringRequest} message GetInstanceAuthStringRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceAuthStringRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1.IGetInstanceAuthStringRequest} message GetInstanceAuthStringRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceAuthStringRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceAuthStringRequest.decode = function 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.redis.v1.GetInstanceAuthStringRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceAuthStringRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetInstanceAuthStringRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetInstanceAuthStringRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetInstanceAuthStringRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest
+ */
+ GetInstanceAuthStringRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.GetInstanceAuthStringRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.GetInstanceAuthStringRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetInstanceAuthStringRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1.GetInstanceAuthStringRequest} message GetInstanceAuthStringRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetInstanceAuthStringRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetInstanceAuthStringRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetInstanceAuthStringRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetInstanceAuthStringRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.GetInstanceAuthStringRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetInstanceAuthStringRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.GetInstanceAuthStringRequest";
+ };
+
+ return GetInstanceAuthStringRequest;
+ })();
+
+ v1.InstanceAuthString = (function() {
+
+ /**
+ * Properties of an InstanceAuthString.
+ * @memberof google.cloud.redis.v1
+ * @interface IInstanceAuthString
+ * @property {string|null} [authString] InstanceAuthString authString
+ */
+
+ /**
+ * Constructs a new InstanceAuthString.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an InstanceAuthString.
+ * @implements IInstanceAuthString
+ * @constructor
+ * @param {google.cloud.redis.v1.IInstanceAuthString=} [properties] Properties to set
+ */
+ function InstanceAuthString(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]];
+ }
+
+ /**
+ * InstanceAuthString authString.
+ * @member {string} authString
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @instance
+ */
+ InstanceAuthString.prototype.authString = "";
+
+ /**
+ * Creates a new InstanceAuthString instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1.IInstanceAuthString=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.InstanceAuthString} InstanceAuthString instance
+ */
+ InstanceAuthString.create = function create(properties) {
+ return new InstanceAuthString(properties);
+ };
+
+ /**
+ * Encodes the specified InstanceAuthString message. Does not implicitly {@link google.cloud.redis.v1.InstanceAuthString.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1.IInstanceAuthString} message InstanceAuthString message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InstanceAuthString.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.authString != null && Object.hasOwnProperty.call(message, "authString"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.authString);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InstanceAuthString message, length delimited. Does not implicitly {@link google.cloud.redis.v1.InstanceAuthString.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1.IInstanceAuthString} message InstanceAuthString message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InstanceAuthString.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.InstanceAuthString} InstanceAuthString
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InstanceAuthString.decode = function 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.redis.v1.InstanceAuthString();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.authString = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.InstanceAuthString} InstanceAuthString
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InstanceAuthString.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InstanceAuthString message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InstanceAuthString.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.authString != null && message.hasOwnProperty("authString"))
+ if (!$util.isString(message.authString))
+ return "authString: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an InstanceAuthString message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.InstanceAuthString} InstanceAuthString
+ */
+ InstanceAuthString.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.InstanceAuthString)
+ return object;
+ var message = new $root.google.cloud.redis.v1.InstanceAuthString();
+ if (object.authString != null)
+ message.authString = String(object.authString);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InstanceAuthString message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1.InstanceAuthString} message InstanceAuthString
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InstanceAuthString.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.authString = "";
+ if (message.authString != null && message.hasOwnProperty("authString"))
+ object.authString = message.authString;
+ return object;
+ };
+
+ /**
+ * Converts this InstanceAuthString to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InstanceAuthString.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InstanceAuthString
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.InstanceAuthString
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InstanceAuthString.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.InstanceAuthString";
+ };
+
+ return InstanceAuthString;
+ })();
+
+ v1.CreateInstanceRequest = (function() {
+
+ /**
+ * Properties of a CreateInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface ICreateInstanceRequest
+ * @property {string|null} [parent] CreateInstanceRequest parent
+ * @property {string|null} [instanceId] CreateInstanceRequest instanceId
+ * @property {google.cloud.redis.v1.IInstance|null} [instance] CreateInstanceRequest instance
+ */
+
+ /**
+ * Constructs a new CreateInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a CreateInstanceRequest.
+ * @implements ICreateInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.ICreateInstanceRequest=} [properties] Properties to set
+ */
+ function CreateInstanceRequest(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]];
+ }
+
+ /**
+ * CreateInstanceRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @instance
+ */
+ CreateInstanceRequest.prototype.parent = "";
+
+ /**
+ * CreateInstanceRequest instanceId.
+ * @member {string} instanceId
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @instance
+ */
+ CreateInstanceRequest.prototype.instanceId = "";
+
+ /**
+ * CreateInstanceRequest instance.
+ * @member {google.cloud.redis.v1.IInstance|null|undefined} instance
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @instance
+ */
+ CreateInstanceRequest.prototype.instance = null;
+
+ /**
+ * Creates a new CreateInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.ICreateInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.CreateInstanceRequest} CreateInstanceRequest instance
+ */
+ CreateInstanceRequest.create = function create(properties) {
+ return new CreateInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.CreateInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.ICreateInstanceRequest} message CreateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.instanceId != null && Object.hasOwnProperty.call(message, "instanceId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceId);
+ if (message.instance != null && Object.hasOwnProperty.call(message, "instance"))
+ $root.google.cloud.redis.v1.Instance.encode(message.instance, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.CreateInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.ICreateInstanceRequest} message CreateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.CreateInstanceRequest} CreateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateInstanceRequest.decode = function 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.redis.v1.CreateInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.instanceId = reader.string();
+ break;
+ }
+ case 3: {
+ message.instance = $root.google.cloud.redis.v1.Instance.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.CreateInstanceRequest} CreateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateInstanceRequest.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.instanceId != null && message.hasOwnProperty("instanceId"))
+ if (!$util.isString(message.instanceId))
+ return "instanceId: string expected";
+ if (message.instance != null && message.hasOwnProperty("instance")) {
+ var error = $root.google.cloud.redis.v1.Instance.verify(message.instance);
+ if (error)
+ return "instance." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.CreateInstanceRequest} CreateInstanceRequest
+ */
+ CreateInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.CreateInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.CreateInstanceRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.instanceId != null)
+ message.instanceId = String(object.instanceId);
+ if (object.instance != null) {
+ if (typeof object.instance !== "object")
+ throw TypeError(".google.cloud.redis.v1.CreateInstanceRequest.instance: object expected");
+ message.instance = $root.google.cloud.redis.v1.Instance.fromObject(object.instance);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.CreateInstanceRequest} message CreateInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.instanceId = "";
+ object.instance = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.instanceId != null && message.hasOwnProperty("instanceId"))
+ object.instanceId = message.instanceId;
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ object.instance = $root.google.cloud.redis.v1.Instance.toObject(message.instance, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.CreateInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.CreateInstanceRequest";
+ };
+
+ return CreateInstanceRequest;
+ })();
+
+ v1.UpdateInstanceRequest = (function() {
+
+ /**
+ * Properties of an UpdateInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IUpdateInstanceRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateInstanceRequest updateMask
+ * @property {google.cloud.redis.v1.IInstance|null} [instance] UpdateInstanceRequest instance
+ */
+
+ /**
+ * Constructs a new UpdateInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an UpdateInstanceRequest.
+ * @implements IUpdateInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IUpdateInstanceRequest=} [properties] Properties to set
+ */
+ function UpdateInstanceRequest(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]];
+ }
+
+ /**
+ * UpdateInstanceRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @instance
+ */
+ UpdateInstanceRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateInstanceRequest instance.
+ * @member {google.cloud.redis.v1.IInstance|null|undefined} instance
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @instance
+ */
+ UpdateInstanceRequest.prototype.instance = null;
+
+ /**
+ * Creates a new UpdateInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IUpdateInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.UpdateInstanceRequest} UpdateInstanceRequest instance
+ */
+ UpdateInstanceRequest.create = function create(properties) {
+ return new UpdateInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.UpdateInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IUpdateInstanceRequest} message UpdateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.instance != null && Object.hasOwnProperty.call(message, "instance"))
+ $root.google.cloud.redis.v1.Instance.encode(message.instance, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.UpdateInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IUpdateInstanceRequest} message UpdateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.UpdateInstanceRequest} UpdateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateInstanceRequest.decode = function 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.redis.v1.UpdateInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.instance = $root.google.cloud.redis.v1.Instance.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.UpdateInstanceRequest} UpdateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateInstanceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ if (message.instance != null && message.hasOwnProperty("instance")) {
+ var error = $root.google.cloud.redis.v1.Instance.verify(message.instance);
+ if (error)
+ return "instance." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.UpdateInstanceRequest} UpdateInstanceRequest
+ */
+ UpdateInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.UpdateInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.UpdateInstanceRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.redis.v1.UpdateInstanceRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.instance != null) {
+ if (typeof object.instance !== "object")
+ throw TypeError(".google.cloud.redis.v1.UpdateInstanceRequest.instance: object expected");
+ message.instance = $root.google.cloud.redis.v1.Instance.fromObject(object.instance);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.UpdateInstanceRequest} message UpdateInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.instance = null;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ object.instance = $root.google.cloud.redis.v1.Instance.toObject(message.instance, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.UpdateInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.UpdateInstanceRequest";
+ };
+
+ return UpdateInstanceRequest;
+ })();
+
+ v1.UpgradeInstanceRequest = (function() {
+
+ /**
+ * Properties of an UpgradeInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IUpgradeInstanceRequest
+ * @property {string|null} [name] UpgradeInstanceRequest name
+ * @property {string|null} [redisVersion] UpgradeInstanceRequest redisVersion
+ */
+
+ /**
+ * Constructs a new UpgradeInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an UpgradeInstanceRequest.
+ * @implements IUpgradeInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IUpgradeInstanceRequest=} [properties] Properties to set
+ */
+ function UpgradeInstanceRequest(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]];
+ }
+
+ /**
+ * UpgradeInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @instance
+ */
+ UpgradeInstanceRequest.prototype.name = "";
+
+ /**
+ * UpgradeInstanceRequest redisVersion.
+ * @member {string} redisVersion
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @instance
+ */
+ UpgradeInstanceRequest.prototype.redisVersion = "";
+
+ /**
+ * Creates a new UpgradeInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IUpgradeInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.UpgradeInstanceRequest} UpgradeInstanceRequest instance
+ */
+ UpgradeInstanceRequest.create = function create(properties) {
+ return new UpgradeInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.UpgradeInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IUpgradeInstanceRequest} message UpgradeInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpgradeInstanceRequest.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.redisVersion != null && Object.hasOwnProperty.call(message, "redisVersion"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.redisVersion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.UpgradeInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IUpgradeInstanceRequest} message UpgradeInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpgradeInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.UpgradeInstanceRequest} UpgradeInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpgradeInstanceRequest.decode = function 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.redis.v1.UpgradeInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.redisVersion = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.UpgradeInstanceRequest} UpgradeInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpgradeInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpgradeInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpgradeInstanceRequest.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.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ if (!$util.isString(message.redisVersion))
+ return "redisVersion: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UpgradeInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.UpgradeInstanceRequest} UpgradeInstanceRequest
+ */
+ UpgradeInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.UpgradeInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.UpgradeInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.redisVersion != null)
+ message.redisVersion = String(object.redisVersion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpgradeInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.UpgradeInstanceRequest} message UpgradeInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpgradeInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.redisVersion = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ object.redisVersion = message.redisVersion;
+ return object;
+ };
+
+ /**
+ * Converts this UpgradeInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpgradeInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpgradeInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.UpgradeInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpgradeInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.UpgradeInstanceRequest";
+ };
+
+ return UpgradeInstanceRequest;
+ })();
+
+ v1.DeleteInstanceRequest = (function() {
+
+ /**
+ * Properties of a DeleteInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IDeleteInstanceRequest
+ * @property {string|null} [name] DeleteInstanceRequest name
+ */
+
+ /**
+ * Constructs a new DeleteInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a DeleteInstanceRequest.
+ * @implements IDeleteInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IDeleteInstanceRequest=} [properties] Properties to set
+ */
+ function DeleteInstanceRequest(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]];
+ }
+
+ /**
+ * DeleteInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @instance
+ */
+ DeleteInstanceRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IDeleteInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.DeleteInstanceRequest} DeleteInstanceRequest instance
+ */
+ DeleteInstanceRequest.create = function create(properties) {
+ return new DeleteInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.DeleteInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IDeleteInstanceRequest} message DeleteInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.DeleteInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IDeleteInstanceRequest} message DeleteInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.DeleteInstanceRequest} DeleteInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteInstanceRequest.decode = function 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.redis.v1.DeleteInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.DeleteInstanceRequest} DeleteInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteInstanceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.DeleteInstanceRequest} DeleteInstanceRequest
+ */
+ DeleteInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.DeleteInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.DeleteInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.DeleteInstanceRequest} message DeleteInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.DeleteInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.DeleteInstanceRequest";
+ };
+
+ return DeleteInstanceRequest;
+ })();
+
+ v1.GcsSource = (function() {
+
+ /**
+ * Properties of a GcsSource.
+ * @memberof google.cloud.redis.v1
+ * @interface IGcsSource
+ * @property {string|null} [uri] GcsSource uri
+ */
+
+ /**
+ * Constructs a new GcsSource.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a GcsSource.
+ * @implements IGcsSource
+ * @constructor
+ * @param {google.cloud.redis.v1.IGcsSource=} [properties] Properties to set
+ */
+ function GcsSource(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]];
+ }
+
+ /**
+ * GcsSource uri.
+ * @member {string} uri
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @instance
+ */
+ GcsSource.prototype.uri = "";
+
+ /**
+ * Creates a new GcsSource instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {google.cloud.redis.v1.IGcsSource=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.GcsSource} GcsSource instance
+ */
+ GcsSource.create = function create(properties) {
+ return new GcsSource(properties);
+ };
+
+ /**
+ * Encodes the specified GcsSource message. Does not implicitly {@link google.cloud.redis.v1.GcsSource.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {google.cloud.redis.v1.IGcsSource} message GcsSource message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsSource.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uri != null && Object.hasOwnProperty.call(message, "uri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GcsSource message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GcsSource.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {google.cloud.redis.v1.IGcsSource} message GcsSource message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsSource.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.GcsSource} GcsSource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsSource.decode = function 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.redis.v1.GcsSource();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.uri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GcsSource message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.GcsSource} GcsSource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsSource.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GcsSource message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GcsSource.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ if (!$util.isString(message.uri))
+ return "uri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GcsSource message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.GcsSource} GcsSource
+ */
+ GcsSource.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.GcsSource)
+ return object;
+ var message = new $root.google.cloud.redis.v1.GcsSource();
+ if (object.uri != null)
+ message.uri = String(object.uri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GcsSource message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {google.cloud.redis.v1.GcsSource} message GcsSource
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GcsSource.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.uri = "";
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ object.uri = message.uri;
+ return object;
+ };
+
+ /**
+ * Converts this GcsSource to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GcsSource.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GcsSource
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.GcsSource
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GcsSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.GcsSource";
+ };
+
+ return GcsSource;
+ })();
+
+ v1.InputConfig = (function() {
+
+ /**
+ * Properties of an InputConfig.
+ * @memberof google.cloud.redis.v1
+ * @interface IInputConfig
+ * @property {google.cloud.redis.v1.IGcsSource|null} [gcsSource] InputConfig gcsSource
+ */
+
+ /**
+ * Constructs a new InputConfig.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an InputConfig.
+ * @implements IInputConfig
+ * @constructor
+ * @param {google.cloud.redis.v1.IInputConfig=} [properties] Properties to set
+ */
+ function InputConfig(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]];
+ }
+
+ /**
+ * InputConfig gcsSource.
+ * @member {google.cloud.redis.v1.IGcsSource|null|undefined} gcsSource
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @instance
+ */
+ InputConfig.prototype.gcsSource = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * InputConfig source.
+ * @member {"gcsSource"|undefined} source
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @instance
+ */
+ Object.defineProperty(InputConfig.prototype, "source", {
+ get: $util.oneOfGetter($oneOfFields = ["gcsSource"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new InputConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {google.cloud.redis.v1.IInputConfig=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.InputConfig} InputConfig instance
+ */
+ InputConfig.create = function create(properties) {
+ return new InputConfig(properties);
+ };
+
+ /**
+ * Encodes the specified InputConfig message. Does not implicitly {@link google.cloud.redis.v1.InputConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {google.cloud.redis.v1.IInputConfig} message InputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InputConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.gcsSource != null && Object.hasOwnProperty.call(message, "gcsSource"))
+ $root.google.cloud.redis.v1.GcsSource.encode(message.gcsSource, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InputConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1.InputConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {google.cloud.redis.v1.IInputConfig} message InputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InputConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InputConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.InputConfig} InputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InputConfig.decode = function 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.redis.v1.InputConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.gcsSource = $root.google.cloud.redis.v1.GcsSource.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InputConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.InputConfig} InputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InputConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InputConfig message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InputConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) {
+ properties.source = 1;
+ {
+ var error = $root.google.cloud.redis.v1.GcsSource.verify(message.gcsSource);
+ if (error)
+ return "gcsSource." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an InputConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.InputConfig} InputConfig
+ */
+ InputConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.InputConfig)
+ return object;
+ var message = new $root.google.cloud.redis.v1.InputConfig();
+ if (object.gcsSource != null) {
+ if (typeof object.gcsSource !== "object")
+ throw TypeError(".google.cloud.redis.v1.InputConfig.gcsSource: object expected");
+ message.gcsSource = $root.google.cloud.redis.v1.GcsSource.fromObject(object.gcsSource);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InputConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {google.cloud.redis.v1.InputConfig} message InputConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InputConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.gcsSource != null && message.hasOwnProperty("gcsSource")) {
+ object.gcsSource = $root.google.cloud.redis.v1.GcsSource.toObject(message.gcsSource, options);
+ if (options.oneofs)
+ object.source = "gcsSource";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this InputConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InputConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InputConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.InputConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.InputConfig";
+ };
+
+ return InputConfig;
+ })();
+
+ v1.ImportInstanceRequest = (function() {
+
+ /**
+ * Properties of an ImportInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IImportInstanceRequest
+ * @property {string|null} [name] ImportInstanceRequest name
+ * @property {google.cloud.redis.v1.IInputConfig|null} [inputConfig] ImportInstanceRequest inputConfig
+ */
+
+ /**
+ * Constructs a new ImportInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an ImportInstanceRequest.
+ * @implements IImportInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IImportInstanceRequest=} [properties] Properties to set
+ */
+ function ImportInstanceRequest(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]];
+ }
+
+ /**
+ * ImportInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @instance
+ */
+ ImportInstanceRequest.prototype.name = "";
+
+ /**
+ * ImportInstanceRequest inputConfig.
+ * @member {google.cloud.redis.v1.IInputConfig|null|undefined} inputConfig
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @instance
+ */
+ ImportInstanceRequest.prototype.inputConfig = null;
+
+ /**
+ * Creates a new ImportInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IImportInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.ImportInstanceRequest} ImportInstanceRequest instance
+ */
+ ImportInstanceRequest.create = function create(properties) {
+ return new ImportInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ImportInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.ImportInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IImportInstanceRequest} message ImportInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImportInstanceRequest.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.inputConfig != null && Object.hasOwnProperty.call(message, "inputConfig"))
+ $root.google.cloud.redis.v1.InputConfig.encode(message.inputConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ImportInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ImportInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IImportInstanceRequest} message ImportInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImportInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ImportInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.ImportInstanceRequest} ImportInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImportInstanceRequest.decode = function 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.redis.v1.ImportInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.inputConfig = $root.google.cloud.redis.v1.InputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ImportInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.ImportInstanceRequest} ImportInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImportInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ImportInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ImportInstanceRequest.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.inputConfig != null && message.hasOwnProperty("inputConfig")) {
+ var error = $root.google.cloud.redis.v1.InputConfig.verify(message.inputConfig);
+ if (error)
+ return "inputConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ImportInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.ImportInstanceRequest} ImportInstanceRequest
+ */
+ ImportInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.ImportInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.ImportInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.inputConfig != null) {
+ if (typeof object.inputConfig !== "object")
+ throw TypeError(".google.cloud.redis.v1.ImportInstanceRequest.inputConfig: object expected");
+ message.inputConfig = $root.google.cloud.redis.v1.InputConfig.fromObject(object.inputConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ImportInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.ImportInstanceRequest} message ImportInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ImportInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.inputConfig = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.inputConfig != null && message.hasOwnProperty("inputConfig"))
+ object.inputConfig = $root.google.cloud.redis.v1.InputConfig.toObject(message.inputConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this ImportInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ImportInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ImportInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.ImportInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ImportInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.ImportInstanceRequest";
+ };
+
+ return ImportInstanceRequest;
+ })();
+
+ v1.GcsDestination = (function() {
+
+ /**
+ * Properties of a GcsDestination.
+ * @memberof google.cloud.redis.v1
+ * @interface IGcsDestination
+ * @property {string|null} [uri] GcsDestination uri
+ */
+
+ /**
+ * Constructs a new GcsDestination.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a GcsDestination.
+ * @implements IGcsDestination
+ * @constructor
+ * @param {google.cloud.redis.v1.IGcsDestination=} [properties] Properties to set
+ */
+ function GcsDestination(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]];
+ }
+
+ /**
+ * GcsDestination uri.
+ * @member {string} uri
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @instance
+ */
+ GcsDestination.prototype.uri = "";
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {google.cloud.redis.v1.IGcsDestination=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.GcsDestination} GcsDestination instance
+ */
+ GcsDestination.create = function create(properties) {
+ return new GcsDestination(properties);
+ };
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.redis.v1.GcsDestination.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {google.cloud.redis.v1.IGcsDestination} message GcsDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsDestination.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uri != null && Object.hasOwnProperty.call(message, "uri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.redis.v1.GcsDestination.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {google.cloud.redis.v1.IGcsDestination} message GcsDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsDestination.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.GcsDestination} GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsDestination.decode = function 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.redis.v1.GcsDestination();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.uri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.GcsDestination} GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsDestination.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GcsDestination message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GcsDestination.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ if (!$util.isString(message.uri))
+ return "uri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.GcsDestination} GcsDestination
+ */
+ GcsDestination.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.GcsDestination)
+ return object;
+ var message = new $root.google.cloud.redis.v1.GcsDestination();
+ if (object.uri != null)
+ message.uri = String(object.uri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {google.cloud.redis.v1.GcsDestination} message GcsDestination
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GcsDestination.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.uri = "";
+ if (message.uri != null && message.hasOwnProperty("uri"))
+ object.uri = message.uri;
+ return object;
+ };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GcsDestination.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.GcsDestination
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GcsDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.GcsDestination";
+ };
+
+ return GcsDestination;
+ })();
+
+ v1.OutputConfig = (function() {
+
+ /**
+ * Properties of an OutputConfig.
+ * @memberof google.cloud.redis.v1
+ * @interface IOutputConfig
+ * @property {google.cloud.redis.v1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination
+ */
+
+ /**
+ * Constructs a new OutputConfig.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an OutputConfig.
+ * @implements IOutputConfig
+ * @constructor
+ * @param {google.cloud.redis.v1.IOutputConfig=} [properties] Properties to set
+ */
+ function OutputConfig(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]];
+ }
+
+ /**
+ * OutputConfig gcsDestination.
+ * @member {google.cloud.redis.v1.IGcsDestination|null|undefined} gcsDestination
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @instance
+ */
+ OutputConfig.prototype.gcsDestination = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * OutputConfig destination.
+ * @member {"gcsDestination"|undefined} destination
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @instance
+ */
+ Object.defineProperty(OutputConfig.prototype, "destination", {
+ get: $util.oneOfGetter($oneOfFields = ["gcsDestination"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new OutputConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {google.cloud.redis.v1.IOutputConfig=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.OutputConfig} OutputConfig instance
+ */
+ OutputConfig.create = function create(properties) {
+ return new OutputConfig(properties);
+ };
+
+ /**
+ * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.redis.v1.OutputConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {google.cloud.redis.v1.IOutputConfig} message OutputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OutputConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination"))
+ $root.google.cloud.redis.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1.OutputConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {google.cloud.redis.v1.IOutputConfig} message OutputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OutputConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.OutputConfig} OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OutputConfig.decode = function 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.redis.v1.OutputConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.gcsDestination = $root.google.cloud.redis.v1.GcsDestination.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.OutputConfig} OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OutputConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OutputConfig message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OutputConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) {
+ properties.destination = 1;
+ {
+ var error = $root.google.cloud.redis.v1.GcsDestination.verify(message.gcsDestination);
+ if (error)
+ return "gcsDestination." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.OutputConfig} OutputConfig
+ */
+ OutputConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.OutputConfig)
+ return object;
+ var message = new $root.google.cloud.redis.v1.OutputConfig();
+ if (object.gcsDestination != null) {
+ if (typeof object.gcsDestination !== "object")
+ throw TypeError(".google.cloud.redis.v1.OutputConfig.gcsDestination: object expected");
+ message.gcsDestination = $root.google.cloud.redis.v1.GcsDestination.fromObject(object.gcsDestination);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OutputConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {google.cloud.redis.v1.OutputConfig} message OutputConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OutputConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) {
+ object.gcsDestination = $root.google.cloud.redis.v1.GcsDestination.toObject(message.gcsDestination, options);
+ if (options.oneofs)
+ object.destination = "gcsDestination";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this OutputConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OutputConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OutputConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.OutputConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OutputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.OutputConfig";
+ };
+
+ return OutputConfig;
+ })();
+
+ v1.ExportInstanceRequest = (function() {
+
+ /**
+ * Properties of an ExportInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IExportInstanceRequest
+ * @property {string|null} [name] ExportInstanceRequest name
+ * @property {google.cloud.redis.v1.IOutputConfig|null} [outputConfig] ExportInstanceRequest outputConfig
+ */
+
+ /**
+ * Constructs a new ExportInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an ExportInstanceRequest.
+ * @implements IExportInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IExportInstanceRequest=} [properties] Properties to set
+ */
+ function ExportInstanceRequest(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]];
+ }
+
+ /**
+ * ExportInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @instance
+ */
+ ExportInstanceRequest.prototype.name = "";
+
+ /**
+ * ExportInstanceRequest outputConfig.
+ * @member {google.cloud.redis.v1.IOutputConfig|null|undefined} outputConfig
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @instance
+ */
+ ExportInstanceRequest.prototype.outputConfig = null;
+
+ /**
+ * Creates a new ExportInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IExportInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.ExportInstanceRequest} ExportInstanceRequest instance
+ */
+ ExportInstanceRequest.create = function create(properties) {
+ return new ExportInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ExportInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.ExportInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IExportInstanceRequest} message ExportInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportInstanceRequest.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.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig"))
+ $root.google.cloud.redis.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExportInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ExportInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IExportInstanceRequest} message ExportInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExportInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.ExportInstanceRequest} ExportInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportInstanceRequest.decode = function 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.redis.v1.ExportInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.outputConfig = $root.google.cloud.redis.v1.OutputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExportInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.ExportInstanceRequest} ExportInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExportInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExportInstanceRequest.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.outputConfig != null && message.hasOwnProperty("outputConfig")) {
+ var error = $root.google.cloud.redis.v1.OutputConfig.verify(message.outputConfig);
+ if (error)
+ return "outputConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExportInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.ExportInstanceRequest} ExportInstanceRequest
+ */
+ ExportInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.ExportInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.ExportInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.outputConfig != null) {
+ if (typeof object.outputConfig !== "object")
+ throw TypeError(".google.cloud.redis.v1.ExportInstanceRequest.outputConfig: object expected");
+ message.outputConfig = $root.google.cloud.redis.v1.OutputConfig.fromObject(object.outputConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExportInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.ExportInstanceRequest} message ExportInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExportInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.outputConfig = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.outputConfig != null && message.hasOwnProperty("outputConfig"))
+ object.outputConfig = $root.google.cloud.redis.v1.OutputConfig.toObject(message.outputConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this ExportInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExportInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExportInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.ExportInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExportInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.ExportInstanceRequest";
+ };
+
+ return ExportInstanceRequest;
+ })();
+
+ v1.FailoverInstanceRequest = (function() {
+
+ /**
+ * Properties of a FailoverInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @interface IFailoverInstanceRequest
+ * @property {string|null} [name] FailoverInstanceRequest name
+ * @property {google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode|null} [dataProtectionMode] FailoverInstanceRequest dataProtectionMode
+ */
+
+ /**
+ * Constructs a new FailoverInstanceRequest.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a FailoverInstanceRequest.
+ * @implements IFailoverInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1.IFailoverInstanceRequest=} [properties] Properties to set
+ */
+ function FailoverInstanceRequest(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]];
+ }
+
+ /**
+ * FailoverInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @instance
+ */
+ FailoverInstanceRequest.prototype.name = "";
+
+ /**
+ * FailoverInstanceRequest dataProtectionMode.
+ * @member {google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode} dataProtectionMode
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @instance
+ */
+ FailoverInstanceRequest.prototype.dataProtectionMode = 0;
+
+ /**
+ * Creates a new FailoverInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IFailoverInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.FailoverInstanceRequest} FailoverInstanceRequest instance
+ */
+ FailoverInstanceRequest.create = function create(properties) {
+ return new FailoverInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified FailoverInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1.FailoverInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IFailoverInstanceRequest} message FailoverInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FailoverInstanceRequest.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.dataProtectionMode != null && Object.hasOwnProperty.call(message, "dataProtectionMode"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.dataProtectionMode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FailoverInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1.FailoverInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.IFailoverInstanceRequest} message FailoverInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FailoverInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FailoverInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.FailoverInstanceRequest} FailoverInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FailoverInstanceRequest.decode = function 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.redis.v1.FailoverInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.dataProtectionMode = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FailoverInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.FailoverInstanceRequest} FailoverInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FailoverInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FailoverInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FailoverInstanceRequest.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.dataProtectionMode != null && message.hasOwnProperty("dataProtectionMode"))
+ switch (message.dataProtectionMode) {
+ default:
+ return "dataProtectionMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FailoverInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.FailoverInstanceRequest} FailoverInstanceRequest
+ */
+ FailoverInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.FailoverInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1.FailoverInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ switch (object.dataProtectionMode) {
+ case "DATA_PROTECTION_MODE_UNSPECIFIED":
+ case 0:
+ message.dataProtectionMode = 0;
+ break;
+ case "LIMITED_DATA_LOSS":
+ case 1:
+ message.dataProtectionMode = 1;
+ break;
+ case "FORCE_DATA_LOSS":
+ case 2:
+ message.dataProtectionMode = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FailoverInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1.FailoverInstanceRequest} message FailoverInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FailoverInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.dataProtectionMode = options.enums === String ? "DATA_PROTECTION_MODE_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.dataProtectionMode != null && message.hasOwnProperty("dataProtectionMode"))
+ object.dataProtectionMode = options.enums === String ? $root.google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode[message.dataProtectionMode] : message.dataProtectionMode;
+ return object;
+ };
+
+ /**
+ * Converts this FailoverInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FailoverInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FailoverInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.FailoverInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FailoverInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.FailoverInstanceRequest";
+ };
+
+ /**
+ * DataProtectionMode enum.
+ * @name google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode
+ * @enum {number}
+ * @property {number} DATA_PROTECTION_MODE_UNSPECIFIED=0 DATA_PROTECTION_MODE_UNSPECIFIED value
+ * @property {number} LIMITED_DATA_LOSS=1 LIMITED_DATA_LOSS value
+ * @property {number} FORCE_DATA_LOSS=2 FORCE_DATA_LOSS value
+ */
+ FailoverInstanceRequest.DataProtectionMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DATA_PROTECTION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "LIMITED_DATA_LOSS"] = 1;
+ values[valuesById[2] = "FORCE_DATA_LOSS"] = 2;
+ return values;
+ })();
+
+ return FailoverInstanceRequest;
+ })();
+
+ v1.OperationMetadata = (function() {
+
+ /**
+ * Properties of an OperationMetadata.
+ * @memberof google.cloud.redis.v1
+ * @interface IOperationMetadata
+ * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] OperationMetadata endTime
+ * @property {string|null} [target] OperationMetadata target
+ * @property {string|null} [verb] OperationMetadata verb
+ * @property {string|null} [statusDetail] OperationMetadata statusDetail
+ * @property {boolean|null} [cancelRequested] OperationMetadata cancelRequested
+ * @property {string|null} [apiVersion] OperationMetadata apiVersion
+ */
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents an OperationMetadata.
+ * @implements IOperationMetadata
+ * @constructor
+ * @param {google.cloud.redis.v1.IOperationMetadata=} [properties] Properties to set
+ */
+ function OperationMetadata(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * OperationMetadata createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.createTime = null;
+
+ /**
+ * OperationMetadata endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.endTime = null;
+
+ /**
+ * OperationMetadata target.
+ * @member {string} target
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.target = "";
+
+ /**
+ * OperationMetadata verb.
+ * @member {string} verb
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.verb = "";
+
+ /**
+ * OperationMetadata statusDetail.
+ * @member {string} statusDetail
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.statusDetail = "";
+
+ /**
+ * OperationMetadata cancelRequested.
+ * @member {boolean} cancelRequested
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.cancelRequested = false;
+
+ /**
+ * OperationMetadata apiVersion.
+ * @member {string} apiVersion
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.apiVersion = "";
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.IOperationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.OperationMetadata} OperationMetadata instance
+ */
+ OperationMetadata.create = function create(properties) {
+ return new OperationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.redis.v1.OperationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.IOperationMetadata} message OperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OperationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.target != null && Object.hasOwnProperty.call(message, "target"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.target);
+ if (message.verb != null && Object.hasOwnProperty.call(message, "verb"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.verb);
+ if (message.statusDetail != null && Object.hasOwnProperty.call(message, "statusDetail"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusDetail);
+ if (message.cancelRequested != null && Object.hasOwnProperty.call(message, "cancelRequested"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.cancelRequested);
+ if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.apiVersion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1.OperationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.IOperationMetadata} message OperationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.OperationMetadata} OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OperationMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.redis.v1.OperationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.target = reader.string();
+ break;
+ }
+ case 4: {
+ message.verb = reader.string();
+ break;
+ }
+ case 5: {
+ message.statusDetail = reader.string();
+ break;
+ }
+ case 6: {
+ message.cancelRequested = reader.bool();
+ break;
+ }
+ case 7: {
+ message.apiVersion = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.OperationMetadata} OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OperationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OperationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.target != null && message.hasOwnProperty("target"))
+ if (!$util.isString(message.target))
+ return "target: string expected";
+ if (message.verb != null && message.hasOwnProperty("verb"))
+ if (!$util.isString(message.verb))
+ return "verb: string expected";
+ if (message.statusDetail != null && message.hasOwnProperty("statusDetail"))
+ if (!$util.isString(message.statusDetail))
+ return "statusDetail: string expected";
+ if (message.cancelRequested != null && message.hasOwnProperty("cancelRequested"))
+ if (typeof message.cancelRequested !== "boolean")
+ return "cancelRequested: boolean expected";
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ if (!$util.isString(message.apiVersion))
+ return "apiVersion: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.OperationMetadata} OperationMetadata
+ */
+ OperationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.OperationMetadata)
+ return object;
+ var message = new $root.google.cloud.redis.v1.OperationMetadata();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.OperationMetadata.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.OperationMetadata.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.target != null)
+ message.target = String(object.target);
+ if (object.verb != null)
+ message.verb = String(object.verb);
+ if (object.statusDetail != null)
+ message.statusDetail = String(object.statusDetail);
+ if (object.cancelRequested != null)
+ message.cancelRequested = Boolean(object.cancelRequested);
+ if (object.apiVersion != null)
+ message.apiVersion = String(object.apiVersion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.OperationMetadata} message OperationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OperationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.createTime = null;
+ object.endTime = null;
+ object.target = "";
+ object.verb = "";
+ object.statusDetail = "";
+ object.cancelRequested = false;
+ object.apiVersion = "";
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.target != null && message.hasOwnProperty("target"))
+ object.target = message.target;
+ if (message.verb != null && message.hasOwnProperty("verb"))
+ object.verb = message.verb;
+ if (message.statusDetail != null && message.hasOwnProperty("statusDetail"))
+ object.statusDetail = message.statusDetail;
+ if (message.cancelRequested != null && message.hasOwnProperty("cancelRequested"))
+ object.cancelRequested = message.cancelRequested;
+ if (message.apiVersion != null && message.hasOwnProperty("apiVersion"))
+ object.apiVersion = message.apiVersion;
+ return object;
+ };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OperationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.OperationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.OperationMetadata";
+ };
+
+ return OperationMetadata;
+ })();
+
+ v1.LocationMetadata = (function() {
+
+ /**
+ * Properties of a LocationMetadata.
+ * @memberof google.cloud.redis.v1
+ * @interface ILocationMetadata
+ * @property {Object.|null} [availableZones] LocationMetadata availableZones
+ */
+
+ /**
+ * Constructs a new LocationMetadata.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a LocationMetadata.
+ * @implements ILocationMetadata
+ * @constructor
+ * @param {google.cloud.redis.v1.ILocationMetadata=} [properties] Properties to set
+ */
+ function LocationMetadata(properties) {
+ this.availableZones = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * LocationMetadata availableZones.
+ * @member {Object.} availableZones
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @instance
+ */
+ LocationMetadata.prototype.availableZones = $util.emptyObject;
+
+ /**
+ * Creates a new LocationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.ILocationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.LocationMetadata} LocationMetadata instance
+ */
+ LocationMetadata.create = function create(properties) {
+ return new LocationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified LocationMetadata message. Does not implicitly {@link google.cloud.redis.v1.LocationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.ILocationMetadata} message LocationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.availableZones != null && Object.hasOwnProperty.call(message, "availableZones"))
+ for (var keys = Object.keys(message.availableZones), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.redis.v1.ZoneMetadata.encode(message.availableZones[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LocationMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1.LocationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.ILocationMetadata} message LocationMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LocationMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.LocationMetadata} LocationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationMetadata.decode = function 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.redis.v1.LocationMetadata(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (message.availableZones === $util.emptyObject)
+ message.availableZones = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.redis.v1.ZoneMetadata.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.availableZones[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LocationMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.LocationMetadata} LocationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LocationMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LocationMetadata message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LocationMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.availableZones != null && message.hasOwnProperty("availableZones")) {
+ if (!$util.isObject(message.availableZones))
+ return "availableZones: object expected";
+ var key = Object.keys(message.availableZones);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.redis.v1.ZoneMetadata.verify(message.availableZones[key[i]]);
+ if (error)
+ return "availableZones." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LocationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.LocationMetadata} LocationMetadata
+ */
+ LocationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.LocationMetadata)
+ return object;
+ var message = new $root.google.cloud.redis.v1.LocationMetadata();
+ if (object.availableZones) {
+ if (typeof object.availableZones !== "object")
+ throw TypeError(".google.cloud.redis.v1.LocationMetadata.availableZones: object expected");
+ message.availableZones = {};
+ for (var keys = Object.keys(object.availableZones), i = 0; i < keys.length; ++i) {
+ if (typeof object.availableZones[keys[i]] !== "object")
+ throw TypeError(".google.cloud.redis.v1.LocationMetadata.availableZones: object expected");
+ message.availableZones[keys[i]] = $root.google.cloud.redis.v1.ZoneMetadata.fromObject(object.availableZones[keys[i]]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LocationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {google.cloud.redis.v1.LocationMetadata} message LocationMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LocationMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.availableZones = {};
+ var keys2;
+ if (message.availableZones && (keys2 = Object.keys(message.availableZones)).length) {
+ object.availableZones = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.availableZones[keys2[j]] = $root.google.cloud.redis.v1.ZoneMetadata.toObject(message.availableZones[keys2[j]], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this LocationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LocationMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LocationMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.LocationMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LocationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.LocationMetadata";
+ };
+
+ return LocationMetadata;
+ })();
+
+ v1.ZoneMetadata = (function() {
+
+ /**
+ * Properties of a ZoneMetadata.
+ * @memberof google.cloud.redis.v1
+ * @interface IZoneMetadata
+ */
+
+ /**
+ * Constructs a new ZoneMetadata.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a ZoneMetadata.
+ * @implements IZoneMetadata
+ * @constructor
+ * @param {google.cloud.redis.v1.IZoneMetadata=} [properties] Properties to set
+ */
+ function ZoneMetadata(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 ZoneMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {google.cloud.redis.v1.IZoneMetadata=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.ZoneMetadata} ZoneMetadata instance
+ */
+ ZoneMetadata.create = function create(properties) {
+ return new ZoneMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified ZoneMetadata message. Does not implicitly {@link google.cloud.redis.v1.ZoneMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {google.cloud.redis.v1.IZoneMetadata} message ZoneMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ZoneMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ZoneMetadata message, length delimited. Does not implicitly {@link google.cloud.redis.v1.ZoneMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {google.cloud.redis.v1.IZoneMetadata} message ZoneMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ZoneMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ZoneMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.ZoneMetadata} ZoneMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ZoneMetadata.decode = function 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.redis.v1.ZoneMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ZoneMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.ZoneMetadata} ZoneMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ZoneMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ZoneMetadata message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ZoneMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ return null;
+ };
+
+ /**
+ * Creates a ZoneMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.ZoneMetadata} ZoneMetadata
+ */
+ ZoneMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.ZoneMetadata)
+ return object;
+ return new $root.google.cloud.redis.v1.ZoneMetadata();
+ };
+
+ /**
+ * Creates a plain object from a ZoneMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {google.cloud.redis.v1.ZoneMetadata} message ZoneMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ZoneMetadata.toObject = function toObject() {
+ return {};
+ };
+
+ /**
+ * Converts this ZoneMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ZoneMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ZoneMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.ZoneMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ZoneMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.ZoneMetadata";
+ };
+
+ return ZoneMetadata;
+ })();
+
+ v1.TlsCertificate = (function() {
+
+ /**
+ * Properties of a TlsCertificate.
+ * @memberof google.cloud.redis.v1
+ * @interface ITlsCertificate
+ * @property {string|null} [serialNumber] TlsCertificate serialNumber
+ * @property {string|null} [cert] TlsCertificate cert
+ * @property {google.protobuf.ITimestamp|null} [createTime] TlsCertificate createTime
+ * @property {google.protobuf.ITimestamp|null} [expireTime] TlsCertificate expireTime
+ * @property {string|null} [sha1Fingerprint] TlsCertificate sha1Fingerprint
+ */
+
+ /**
+ * Constructs a new TlsCertificate.
+ * @memberof google.cloud.redis.v1
+ * @classdesc Represents a TlsCertificate.
+ * @implements ITlsCertificate
+ * @constructor
+ * @param {google.cloud.redis.v1.ITlsCertificate=} [properties] Properties to set
+ */
+ function TlsCertificate(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]];
+ }
+
+ /**
+ * TlsCertificate serialNumber.
+ * @member {string} serialNumber
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @instance
+ */
+ TlsCertificate.prototype.serialNumber = "";
+
+ /**
+ * TlsCertificate cert.
+ * @member {string} cert
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @instance
+ */
+ TlsCertificate.prototype.cert = "";
+
+ /**
+ * TlsCertificate createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @instance
+ */
+ TlsCertificate.prototype.createTime = null;
+
+ /**
+ * TlsCertificate expireTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} expireTime
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @instance
+ */
+ TlsCertificate.prototype.expireTime = null;
+
+ /**
+ * TlsCertificate sha1Fingerprint.
+ * @member {string} sha1Fingerprint
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @instance
+ */
+ TlsCertificate.prototype.sha1Fingerprint = "";
+
+ /**
+ * Creates a new TlsCertificate instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {google.cloud.redis.v1.ITlsCertificate=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1.TlsCertificate} TlsCertificate instance
+ */
+ TlsCertificate.create = function create(properties) {
+ return new TlsCertificate(properties);
+ };
+
+ /**
+ * Encodes the specified TlsCertificate message. Does not implicitly {@link google.cloud.redis.v1.TlsCertificate.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {google.cloud.redis.v1.ITlsCertificate} message TlsCertificate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TlsCertificate.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.serialNumber != null && Object.hasOwnProperty.call(message, "serialNumber"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.serialNumber);
+ if (message.cert != null && Object.hasOwnProperty.call(message, "cert"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.cert);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime"))
+ $root.google.protobuf.Timestamp.encode(message.expireTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.sha1Fingerprint != null && Object.hasOwnProperty.call(message, "sha1Fingerprint"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.sha1Fingerprint);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TlsCertificate message, length delimited. Does not implicitly {@link google.cloud.redis.v1.TlsCertificate.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {google.cloud.redis.v1.ITlsCertificate} message TlsCertificate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TlsCertificate.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TlsCertificate message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1.TlsCertificate} TlsCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TlsCertificate.decode = function 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.redis.v1.TlsCertificate();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.serialNumber = reader.string();
+ break;
+ }
+ case 2: {
+ message.cert = reader.string();
+ break;
+ }
+ case 3: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.sha1Fingerprint = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TlsCertificate message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1.TlsCertificate} TlsCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TlsCertificate.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TlsCertificate message.
+ * @function verify
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TlsCertificate.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.serialNumber != null && message.hasOwnProperty("serialNumber"))
+ if (!$util.isString(message.serialNumber))
+ return "serialNumber: string expected";
+ if (message.cert != null && message.hasOwnProperty("cert"))
+ if (!$util.isString(message.cert))
+ return "cert: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.expireTime != null && message.hasOwnProperty("expireTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.expireTime);
+ if (error)
+ return "expireTime." + error;
+ }
+ if (message.sha1Fingerprint != null && message.hasOwnProperty("sha1Fingerprint"))
+ if (!$util.isString(message.sha1Fingerprint))
+ return "sha1Fingerprint: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TlsCertificate message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1.TlsCertificate} TlsCertificate
+ */
+ TlsCertificate.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1.TlsCertificate)
+ return object;
+ var message = new $root.google.cloud.redis.v1.TlsCertificate();
+ if (object.serialNumber != null)
+ message.serialNumber = String(object.serialNumber);
+ if (object.cert != null)
+ message.cert = String(object.cert);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.TlsCertificate.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.expireTime != null) {
+ if (typeof object.expireTime !== "object")
+ throw TypeError(".google.cloud.redis.v1.TlsCertificate.expireTime: object expected");
+ message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime);
+ }
+ if (object.sha1Fingerprint != null)
+ message.sha1Fingerprint = String(object.sha1Fingerprint);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TlsCertificate message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {google.cloud.redis.v1.TlsCertificate} message TlsCertificate
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TlsCertificate.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.serialNumber = "";
+ object.cert = "";
+ object.createTime = null;
+ object.expireTime = null;
+ object.sha1Fingerprint = "";
+ }
+ if (message.serialNumber != null && message.hasOwnProperty("serialNumber"))
+ object.serialNumber = message.serialNumber;
+ if (message.cert != null && message.hasOwnProperty("cert"))
+ object.cert = message.cert;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.expireTime != null && message.hasOwnProperty("expireTime"))
+ object.expireTime = $root.google.protobuf.Timestamp.toObject(message.expireTime, options);
+ if (message.sha1Fingerprint != null && message.hasOwnProperty("sha1Fingerprint"))
+ object.sha1Fingerprint = message.sha1Fingerprint;
+ return object;
+ };
+
+ /**
+ * Converts this TlsCertificate to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TlsCertificate.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TlsCertificate
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1.TlsCertificate
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TlsCertificate.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1.TlsCertificate";
+ };
+
+ return TlsCertificate;
+ })();
+
+ return v1;
+ })();
+
+ redis.v1beta1 = (function() {
+
+ /**
+ * Namespace v1beta1.
+ * @memberof google.cloud.redis
+ * @namespace
+ */
+ var v1beta1 = {};
+
+ v1beta1.CloudRedis = (function() {
+
+ /**
+ * Constructs a new CloudRedis service.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a CloudRedis
+ * @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 CloudRedis(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (CloudRedis.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CloudRedis;
+
+ /**
+ * Creates new CloudRedis service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @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 {CloudRedis} RPC service. Useful where requests and/or responses are streamed.
+ */
+ CloudRedis.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|listInstances}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef ListInstancesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.redis.v1beta1.ListInstancesResponse} [response] ListInstancesResponse
+ */
+
+ /**
+ * Calls ListInstances.
+ * @function listInstances
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IListInstancesRequest} request ListInstancesRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.ListInstancesCallback} callback Node-style callback called with the error, if any, and ListInstancesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.listInstances = function listInstances(request, callback) {
+ return this.rpcCall(listInstances, $root.google.cloud.redis.v1beta1.ListInstancesRequest, $root.google.cloud.redis.v1beta1.ListInstancesResponse, request, callback);
+ }, "name", { value: "ListInstances" });
+
+ /**
+ * Calls ListInstances.
+ * @function listInstances
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IListInstancesRequest} request ListInstancesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|getInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef GetInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.redis.v1beta1.Instance} [response] Instance
+ */
+
+ /**
+ * Calls GetInstance.
+ * @function getInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IGetInstanceRequest} request GetInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.GetInstanceCallback} callback Node-style callback called with the error, if any, and Instance
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.getInstance = function getInstance(request, callback) {
+ return this.rpcCall(getInstance, $root.google.cloud.redis.v1beta1.GetInstanceRequest, $root.google.cloud.redis.v1beta1.Instance, request, callback);
+ }, "name", { value: "GetInstance" });
+
+ /**
+ * Calls GetInstance.
+ * @function getInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IGetInstanceRequest} request GetInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|getInstanceAuthString}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef GetInstanceAuthStringCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.redis.v1beta1.InstanceAuthString} [response] InstanceAuthString
+ */
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @function getInstanceAuthString
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest} request GetInstanceAuthStringRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.GetInstanceAuthStringCallback} callback Node-style callback called with the error, if any, and InstanceAuthString
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.getInstanceAuthString = function getInstanceAuthString(request, callback) {
+ return this.rpcCall(getInstanceAuthString, $root.google.cloud.redis.v1beta1.GetInstanceAuthStringRequest, $root.google.cloud.redis.v1beta1.InstanceAuthString, request, callback);
+ }, "name", { value: "GetInstanceAuthString" });
+
+ /**
+ * Calls GetInstanceAuthString.
+ * @function getInstanceAuthString
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest} request GetInstanceAuthStringRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|createInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef CreateInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls CreateInstance.
+ * @function createInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.ICreateInstanceRequest} request CreateInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.CreateInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.createInstance = function createInstance(request, callback) {
+ return this.rpcCall(createInstance, $root.google.cloud.redis.v1beta1.CreateInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "CreateInstance" });
+
+ /**
+ * Calls CreateInstance.
+ * @function createInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.ICreateInstanceRequest} request CreateInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|updateInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef UpdateInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpdateInstance.
+ * @function updateInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IUpdateInstanceRequest} request UpdateInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.UpdateInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.updateInstance = function updateInstance(request, callback) {
+ return this.rpcCall(updateInstance, $root.google.cloud.redis.v1beta1.UpdateInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpdateInstance" });
+
+ /**
+ * Calls UpdateInstance.
+ * @function updateInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IUpdateInstanceRequest} request UpdateInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|upgradeInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef UpgradeInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls UpgradeInstance.
+ * @function upgradeInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IUpgradeInstanceRequest} request UpgradeInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.UpgradeInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.upgradeInstance = function upgradeInstance(request, callback) {
+ return this.rpcCall(upgradeInstance, $root.google.cloud.redis.v1beta1.UpgradeInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "UpgradeInstance" });
+
+ /**
+ * Calls UpgradeInstance.
+ * @function upgradeInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IUpgradeInstanceRequest} request UpgradeInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|importInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef ImportInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ImportInstance.
+ * @function importInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IImportInstanceRequest} request ImportInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.ImportInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.importInstance = function importInstance(request, callback) {
+ return this.rpcCall(importInstance, $root.google.cloud.redis.v1beta1.ImportInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ImportInstance" });
+
+ /**
+ * Calls ImportInstance.
+ * @function importInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IImportInstanceRequest} request ImportInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|exportInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef ExportInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ExportInstance.
+ * @function exportInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IExportInstanceRequest} request ExportInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.ExportInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.exportInstance = function exportInstance(request, callback) {
+ return this.rpcCall(exportInstance, $root.google.cloud.redis.v1beta1.ExportInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ExportInstance" });
+
+ /**
+ * Calls ExportInstance.
+ * @function exportInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IExportInstanceRequest} request ExportInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|failoverInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef FailoverInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls FailoverInstance.
+ * @function failoverInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IFailoverInstanceRequest} request FailoverInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.FailoverInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.failoverInstance = function failoverInstance(request, callback) {
+ return this.rpcCall(failoverInstance, $root.google.cloud.redis.v1beta1.FailoverInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "FailoverInstance" });
+
+ /**
+ * Calls FailoverInstance.
+ * @function failoverInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IFailoverInstanceRequest} request FailoverInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|deleteInstance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef DeleteInstanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls DeleteInstance.
+ * @function deleteInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IDeleteInstanceRequest} request DeleteInstanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.DeleteInstanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.deleteInstance = function deleteInstance(request, callback) {
+ return this.rpcCall(deleteInstance, $root.google.cloud.redis.v1beta1.DeleteInstanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "DeleteInstance" });
+
+ /**
+ * Calls DeleteInstance.
+ * @function deleteInstance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IDeleteInstanceRequest} request DeleteInstanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.redis.v1beta1.CloudRedis|rescheduleMaintenance}.
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @typedef RescheduleMaintenanceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @function rescheduleMaintenance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest} request RescheduleMaintenanceRequest message or plain object
+ * @param {google.cloud.redis.v1beta1.CloudRedis.RescheduleMaintenanceCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudRedis.prototype.rescheduleMaintenance = function rescheduleMaintenance(request, callback) {
+ return this.rpcCall(rescheduleMaintenance, $root.google.cloud.redis.v1beta1.RescheduleMaintenanceRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "RescheduleMaintenance" });
+
+ /**
+ * Calls RescheduleMaintenance.
+ * @function rescheduleMaintenance
+ * @memberof google.cloud.redis.v1beta1.CloudRedis
+ * @instance
+ * @param {google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest} request RescheduleMaintenanceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return CloudRedis;
+ })();
+
+ v1beta1.NodeInfo = (function() {
+
+ /**
+ * Properties of a NodeInfo.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface INodeInfo
+ * @property {string|null} [id] NodeInfo id
+ * @property {string|null} [zone] NodeInfo zone
+ */
+
+ /**
+ * Constructs a new NodeInfo.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a NodeInfo.
+ * @implements INodeInfo
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.INodeInfo=} [properties] Properties to set
+ */
+ function NodeInfo(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]];
+ }
+
+ /**
+ * NodeInfo id.
+ * @member {string} id
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @instance
+ */
+ NodeInfo.prototype.id = "";
+
+ /**
+ * NodeInfo zone.
+ * @member {string} zone
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @instance
+ */
+ NodeInfo.prototype.zone = "";
+
+ /**
+ * Creates a new NodeInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1beta1.INodeInfo=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.NodeInfo} NodeInfo instance
+ */
+ NodeInfo.create = function create(properties) {
+ return new NodeInfo(properties);
+ };
+
+ /**
+ * Encodes the specified NodeInfo message. Does not implicitly {@link google.cloud.redis.v1beta1.NodeInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1beta1.INodeInfo} message NodeInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NodeInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.id);
+ if (message.zone != null && Object.hasOwnProperty.call(message, "zone"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.zone);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified NodeInfo message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.NodeInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1beta1.INodeInfo} message NodeInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ NodeInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.NodeInfo} NodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NodeInfo.decode = function 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.redis.v1beta1.NodeInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.id = reader.string();
+ break;
+ }
+ case 2: {
+ message.zone = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a NodeInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.NodeInfo} NodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ NodeInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a NodeInfo message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ NodeInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.id != null && message.hasOwnProperty("id"))
+ if (!$util.isString(message.id))
+ return "id: string expected";
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ if (!$util.isString(message.zone))
+ return "zone: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a NodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.NodeInfo} NodeInfo
+ */
+ NodeInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.NodeInfo)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.NodeInfo();
+ if (object.id != null)
+ message.id = String(object.id);
+ if (object.zone != null)
+ message.zone = String(object.zone);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a NodeInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {google.cloud.redis.v1beta1.NodeInfo} message NodeInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ NodeInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.id = "";
+ object.zone = "";
+ }
+ if (message.id != null && message.hasOwnProperty("id"))
+ object.id = message.id;
+ if (message.zone != null && message.hasOwnProperty("zone"))
+ object.zone = message.zone;
+ return object;
+ };
+
+ /**
+ * Converts this NodeInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ NodeInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for NodeInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.NodeInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ NodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.NodeInfo";
+ };
+
+ return NodeInfo;
+ })();
+
+ v1beta1.Instance = (function() {
+
+ /**
+ * Properties of an Instance.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IInstance
+ * @property {string|null} [name] Instance name
+ * @property {string|null} [displayName] Instance displayName
+ * @property {Object.|null} [labels] Instance labels
+ * @property {string|null} [locationId] Instance locationId
+ * @property {string|null} [alternativeLocationId] Instance alternativeLocationId
+ * @property {string|null} [redisVersion] Instance redisVersion
+ * @property {string|null} [reservedIpRange] Instance reservedIpRange
+ * @property {string|null} [secondaryIpRange] Instance secondaryIpRange
+ * @property {string|null} [host] Instance host
+ * @property {number|null} [port] Instance port
+ * @property {string|null} [currentLocationId] Instance currentLocationId
+ * @property {google.protobuf.ITimestamp|null} [createTime] Instance createTime
+ * @property {google.cloud.redis.v1beta1.Instance.State|null} [state] Instance state
+ * @property {string|null} [statusMessage] Instance statusMessage
+ * @property {Object.|null} [redisConfigs] Instance redisConfigs
+ * @property {google.cloud.redis.v1beta1.Instance.Tier|null} [tier] Instance tier
+ * @property {number|null} [memorySizeGb] Instance memorySizeGb
+ * @property {string|null} [authorizedNetwork] Instance authorizedNetwork
+ * @property {string|null} [persistenceIamIdentity] Instance persistenceIamIdentity
+ * @property {google.cloud.redis.v1beta1.Instance.ConnectMode|null} [connectMode] Instance connectMode
+ * @property {boolean|null} [authEnabled] Instance authEnabled
+ * @property {Array.|null} [serverCaCerts] Instance serverCaCerts
+ * @property {google.cloud.redis.v1beta1.Instance.TransitEncryptionMode|null} [transitEncryptionMode] Instance transitEncryptionMode
+ * @property {google.cloud.redis.v1beta1.IMaintenancePolicy|null} [maintenancePolicy] Instance maintenancePolicy
+ * @property {google.cloud.redis.v1beta1.IMaintenanceSchedule|null} [maintenanceSchedule] Instance maintenanceSchedule
+ * @property {number|null} [replicaCount] Instance replicaCount
+ * @property {Array.|null} [nodes] Instance nodes
+ * @property {string|null} [readEndpoint] Instance readEndpoint
+ * @property {number|null} [readEndpointPort] Instance readEndpointPort
+ * @property {google.cloud.redis.v1beta1.Instance.ReadReplicasMode|null} [readReplicasMode] Instance readReplicasMode
+ * @property {google.cloud.redis.v1beta1.IPersistenceConfig|null} [persistenceConfig] Instance persistenceConfig
+ */
+
+ /**
+ * Constructs a new Instance.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents an Instance.
+ * @implements IInstance
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IInstance=} [properties] Properties to set
+ */
+ function Instance(properties) {
+ this.labels = {};
+ this.redisConfigs = {};
+ this.serverCaCerts = [];
+ this.nodes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Instance name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.name = "";
+
+ /**
+ * Instance displayName.
+ * @member {string} displayName
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.displayName = "";
+
+ /**
+ * Instance labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.labels = $util.emptyObject;
+
+ /**
+ * Instance locationId.
+ * @member {string} locationId
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.locationId = "";
+
+ /**
+ * Instance alternativeLocationId.
+ * @member {string} alternativeLocationId
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.alternativeLocationId = "";
+
+ /**
+ * Instance redisVersion.
+ * @member {string} redisVersion
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.redisVersion = "";
+
+ /**
+ * Instance reservedIpRange.
+ * @member {string} reservedIpRange
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.reservedIpRange = "";
+
+ /**
+ * Instance secondaryIpRange.
+ * @member {string} secondaryIpRange
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.secondaryIpRange = "";
+
+ /**
+ * Instance host.
+ * @member {string} host
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.host = "";
+
+ /**
+ * Instance port.
+ * @member {number} port
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.port = 0;
+
+ /**
+ * Instance currentLocationId.
+ * @member {string} currentLocationId
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.currentLocationId = "";
+
+ /**
+ * Instance createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.createTime = null;
+
+ /**
+ * Instance state.
+ * @member {google.cloud.redis.v1beta1.Instance.State} state
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.state = 0;
+
+ /**
+ * Instance statusMessage.
+ * @member {string} statusMessage
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.statusMessage = "";
+
+ /**
+ * Instance redisConfigs.
+ * @member {Object.} redisConfigs
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.redisConfigs = $util.emptyObject;
+
+ /**
+ * Instance tier.
+ * @member {google.cloud.redis.v1beta1.Instance.Tier} tier
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.tier = 0;
+
+ /**
+ * Instance memorySizeGb.
+ * @member {number} memorySizeGb
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.memorySizeGb = 0;
+
+ /**
+ * Instance authorizedNetwork.
+ * @member {string} authorizedNetwork
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.authorizedNetwork = "";
+
+ /**
+ * Instance persistenceIamIdentity.
+ * @member {string} persistenceIamIdentity
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.persistenceIamIdentity = "";
+
+ /**
+ * Instance connectMode.
+ * @member {google.cloud.redis.v1beta1.Instance.ConnectMode} connectMode
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.connectMode = 0;
+
+ /**
+ * Instance authEnabled.
+ * @member {boolean} authEnabled
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.authEnabled = false;
+
+ /**
+ * Instance serverCaCerts.
+ * @member {Array.} serverCaCerts
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.serverCaCerts = $util.emptyArray;
+
+ /**
+ * Instance transitEncryptionMode.
+ * @member {google.cloud.redis.v1beta1.Instance.TransitEncryptionMode} transitEncryptionMode
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.transitEncryptionMode = 0;
+
+ /**
+ * Instance maintenancePolicy.
+ * @member {google.cloud.redis.v1beta1.IMaintenancePolicy|null|undefined} maintenancePolicy
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.maintenancePolicy = null;
+
+ /**
+ * Instance maintenanceSchedule.
+ * @member {google.cloud.redis.v1beta1.IMaintenanceSchedule|null|undefined} maintenanceSchedule
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.maintenanceSchedule = null;
+
+ /**
+ * Instance replicaCount.
+ * @member {number} replicaCount
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.replicaCount = 0;
+
+ /**
+ * Instance nodes.
+ * @member {Array.} nodes
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.nodes = $util.emptyArray;
+
+ /**
+ * Instance readEndpoint.
+ * @member {string} readEndpoint
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.readEndpoint = "";
+
+ /**
+ * Instance readEndpointPort.
+ * @member {number} readEndpointPort
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.readEndpointPort = 0;
+
+ /**
+ * Instance readReplicasMode.
+ * @member {google.cloud.redis.v1beta1.Instance.ReadReplicasMode} readReplicasMode
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.readReplicasMode = 0;
+
+ /**
+ * Instance persistenceConfig.
+ * @member {google.cloud.redis.v1beta1.IPersistenceConfig|null|undefined} persistenceConfig
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ */
+ Instance.prototype.persistenceConfig = null;
+
+ /**
+ * Creates a new Instance instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {google.cloud.redis.v1beta1.IInstance=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.Instance} Instance instance
+ */
+ Instance.create = function create(properties) {
+ return new Instance(properties);
+ };
+
+ /**
+ * Encodes the specified Instance message. Does not implicitly {@link google.cloud.redis.v1beta1.Instance.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {google.cloud.redis.v1beta1.IInstance} message Instance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Instance.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName);
+ if (message.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.locationId != null && Object.hasOwnProperty.call(message, "locationId"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.locationId);
+ if (message.alternativeLocationId != null && Object.hasOwnProperty.call(message, "alternativeLocationId"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.alternativeLocationId);
+ if (message.redisVersion != null && Object.hasOwnProperty.call(message, "redisVersion"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.redisVersion);
+ if (message.reservedIpRange != null && Object.hasOwnProperty.call(message, "reservedIpRange"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.reservedIpRange);
+ if (message.host != null && Object.hasOwnProperty.call(message, "host"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.host);
+ if (message.port != null && Object.hasOwnProperty.call(message, "port"))
+ writer.uint32(/* id 11, wireType 0 =*/88).int32(message.port);
+ if (message.currentLocationId != null && Object.hasOwnProperty.call(message, "currentLocationId"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.currentLocationId);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 14, wireType 0 =*/112).int32(message.state);
+ if (message.statusMessage != null && Object.hasOwnProperty.call(message, "statusMessage"))
+ writer.uint32(/* id 15, wireType 2 =*/122).string(message.statusMessage);
+ if (message.redisConfigs != null && Object.hasOwnProperty.call(message, "redisConfigs"))
+ for (var keys = Object.keys(message.redisConfigs), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 16, wireType 2 =*/130).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.redisConfigs[keys[i]]).ldelim();
+ if (message.tier != null && Object.hasOwnProperty.call(message, "tier"))
+ writer.uint32(/* id 17, wireType 0 =*/136).int32(message.tier);
+ if (message.memorySizeGb != null && Object.hasOwnProperty.call(message, "memorySizeGb"))
+ writer.uint32(/* id 18, wireType 0 =*/144).int32(message.memorySizeGb);
+ if (message.authorizedNetwork != null && Object.hasOwnProperty.call(message, "authorizedNetwork"))
+ writer.uint32(/* id 20, wireType 2 =*/162).string(message.authorizedNetwork);
+ if (message.persistenceIamIdentity != null && Object.hasOwnProperty.call(message, "persistenceIamIdentity"))
+ writer.uint32(/* id 21, wireType 2 =*/170).string(message.persistenceIamIdentity);
+ if (message.connectMode != null && Object.hasOwnProperty.call(message, "connectMode"))
+ writer.uint32(/* id 22, wireType 0 =*/176).int32(message.connectMode);
+ if (message.authEnabled != null && Object.hasOwnProperty.call(message, "authEnabled"))
+ writer.uint32(/* id 23, wireType 0 =*/184).bool(message.authEnabled);
+ if (message.serverCaCerts != null && message.serverCaCerts.length)
+ for (var i = 0; i < message.serverCaCerts.length; ++i)
+ $root.google.cloud.redis.v1beta1.TlsCertificate.encode(message.serverCaCerts[i], writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim();
+ if (message.transitEncryptionMode != null && Object.hasOwnProperty.call(message, "transitEncryptionMode"))
+ writer.uint32(/* id 26, wireType 0 =*/208).int32(message.transitEncryptionMode);
+ if (message.maintenancePolicy != null && Object.hasOwnProperty.call(message, "maintenancePolicy"))
+ $root.google.cloud.redis.v1beta1.MaintenancePolicy.encode(message.maintenancePolicy, writer.uint32(/* id 27, wireType 2 =*/218).fork()).ldelim();
+ if (message.maintenanceSchedule != null && Object.hasOwnProperty.call(message, "maintenanceSchedule"))
+ $root.google.cloud.redis.v1beta1.MaintenanceSchedule.encode(message.maintenanceSchedule, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim();
+ if (message.secondaryIpRange != null && Object.hasOwnProperty.call(message, "secondaryIpRange"))
+ writer.uint32(/* id 30, wireType 2 =*/242).string(message.secondaryIpRange);
+ if (message.replicaCount != null && Object.hasOwnProperty.call(message, "replicaCount"))
+ writer.uint32(/* id 31, wireType 0 =*/248).int32(message.replicaCount);
+ if (message.nodes != null && message.nodes.length)
+ for (var i = 0; i < message.nodes.length; ++i)
+ $root.google.cloud.redis.v1beta1.NodeInfo.encode(message.nodes[i], writer.uint32(/* id 32, wireType 2 =*/258).fork()).ldelim();
+ if (message.readEndpoint != null && Object.hasOwnProperty.call(message, "readEndpoint"))
+ writer.uint32(/* id 33, wireType 2 =*/266).string(message.readEndpoint);
+ if (message.readEndpointPort != null && Object.hasOwnProperty.call(message, "readEndpointPort"))
+ writer.uint32(/* id 34, wireType 0 =*/272).int32(message.readEndpointPort);
+ if (message.readReplicasMode != null && Object.hasOwnProperty.call(message, "readReplicasMode"))
+ writer.uint32(/* id 35, wireType 0 =*/280).int32(message.readReplicasMode);
+ if (message.persistenceConfig != null && Object.hasOwnProperty.call(message, "persistenceConfig"))
+ $root.google.cloud.redis.v1beta1.PersistenceConfig.encode(message.persistenceConfig, writer.uint32(/* id 37, wireType 2 =*/298).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Instance message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.Instance.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {google.cloud.redis.v1beta1.IInstance} message Instance message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Instance.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.Instance} Instance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Instance.decode = function 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.redis.v1beta1.Instance(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.displayName = reader.string();
+ 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: {
+ message.locationId = reader.string();
+ break;
+ }
+ case 5: {
+ message.alternativeLocationId = reader.string();
+ break;
+ }
+ case 7: {
+ message.redisVersion = reader.string();
+ break;
+ }
+ case 9: {
+ message.reservedIpRange = reader.string();
+ break;
+ }
+ case 30: {
+ message.secondaryIpRange = reader.string();
+ break;
+ }
+ case 10: {
+ message.host = reader.string();
+ break;
+ }
+ case 11: {
+ message.port = reader.int32();
+ break;
+ }
+ case 12: {
+ message.currentLocationId = reader.string();
+ break;
+ }
+ case 13: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 14: {
+ message.state = reader.int32();
+ break;
+ }
+ case 15: {
+ message.statusMessage = reader.string();
+ break;
+ }
+ case 16: {
+ if (message.redisConfigs === $util.emptyObject)
+ message.redisConfigs = {};
+ 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.redisConfigs[key] = value;
+ break;
+ }
+ case 17: {
+ message.tier = reader.int32();
+ break;
+ }
+ case 18: {
+ message.memorySizeGb = reader.int32();
+ break;
+ }
+ case 20: {
+ message.authorizedNetwork = reader.string();
+ break;
+ }
+ case 21: {
+ message.persistenceIamIdentity = reader.string();
+ break;
+ }
+ case 22: {
+ message.connectMode = reader.int32();
+ break;
+ }
+ case 23: {
+ message.authEnabled = reader.bool();
+ break;
+ }
+ case 25: {
+ if (!(message.serverCaCerts && message.serverCaCerts.length))
+ message.serverCaCerts = [];
+ message.serverCaCerts.push($root.google.cloud.redis.v1beta1.TlsCertificate.decode(reader, reader.uint32()));
+ break;
+ }
+ case 26: {
+ message.transitEncryptionMode = reader.int32();
+ break;
+ }
+ case 27: {
+ message.maintenancePolicy = $root.google.cloud.redis.v1beta1.MaintenancePolicy.decode(reader, reader.uint32());
+ break;
+ }
+ case 28: {
+ message.maintenanceSchedule = $root.google.cloud.redis.v1beta1.MaintenanceSchedule.decode(reader, reader.uint32());
+ break;
+ }
+ case 31: {
+ message.replicaCount = reader.int32();
+ break;
+ }
+ case 32: {
+ if (!(message.nodes && message.nodes.length))
+ message.nodes = [];
+ message.nodes.push($root.google.cloud.redis.v1beta1.NodeInfo.decode(reader, reader.uint32()));
+ break;
+ }
+ case 33: {
+ message.readEndpoint = reader.string();
+ break;
+ }
+ case 34: {
+ message.readEndpointPort = reader.int32();
+ break;
+ }
+ case 35: {
+ message.readReplicasMode = reader.int32();
+ break;
+ }
+ case 37: {
+ message.persistenceConfig = $root.google.cloud.redis.v1beta1.PersistenceConfig.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Instance message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.Instance} Instance
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Instance.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Instance message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Instance.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.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ if (message.locationId != null && message.hasOwnProperty("locationId"))
+ if (!$util.isString(message.locationId))
+ return "locationId: string expected";
+ if (message.alternativeLocationId != null && message.hasOwnProperty("alternativeLocationId"))
+ if (!$util.isString(message.alternativeLocationId))
+ return "alternativeLocationId: string expected";
+ if (message.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ if (!$util.isString(message.redisVersion))
+ return "redisVersion: string expected";
+ if (message.reservedIpRange != null && message.hasOwnProperty("reservedIpRange"))
+ if (!$util.isString(message.reservedIpRange))
+ return "reservedIpRange: string expected";
+ if (message.secondaryIpRange != null && message.hasOwnProperty("secondaryIpRange"))
+ if (!$util.isString(message.secondaryIpRange))
+ return "secondaryIpRange: string expected";
+ if (message.host != null && message.hasOwnProperty("host"))
+ if (!$util.isString(message.host))
+ return "host: string expected";
+ if (message.port != null && message.hasOwnProperty("port"))
+ if (!$util.isInteger(message.port))
+ return "port: integer expected";
+ if (message.currentLocationId != null && message.hasOwnProperty("currentLocationId"))
+ if (!$util.isString(message.currentLocationId))
+ return "currentLocationId: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 8:
+ case 10:
+ break;
+ }
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ if (!$util.isString(message.statusMessage))
+ return "statusMessage: string expected";
+ if (message.redisConfigs != null && message.hasOwnProperty("redisConfigs")) {
+ if (!$util.isObject(message.redisConfigs))
+ return "redisConfigs: object expected";
+ var key = Object.keys(message.redisConfigs);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.redisConfigs[key[i]]))
+ return "redisConfigs: string{k:string} expected";
+ }
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ switch (message.tier) {
+ default:
+ return "tier: enum value expected";
+ case 0:
+ case 1:
+ case 3:
+ break;
+ }
+ if (message.memorySizeGb != null && message.hasOwnProperty("memorySizeGb"))
+ if (!$util.isInteger(message.memorySizeGb))
+ return "memorySizeGb: integer expected";
+ if (message.authorizedNetwork != null && message.hasOwnProperty("authorizedNetwork"))
+ if (!$util.isString(message.authorizedNetwork))
+ return "authorizedNetwork: string expected";
+ if (message.persistenceIamIdentity != null && message.hasOwnProperty("persistenceIamIdentity"))
+ if (!$util.isString(message.persistenceIamIdentity))
+ return "persistenceIamIdentity: string expected";
+ if (message.connectMode != null && message.hasOwnProperty("connectMode"))
+ switch (message.connectMode) {
+ default:
+ return "connectMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.authEnabled != null && message.hasOwnProperty("authEnabled"))
+ if (typeof message.authEnabled !== "boolean")
+ return "authEnabled: boolean expected";
+ if (message.serverCaCerts != null && message.hasOwnProperty("serverCaCerts")) {
+ if (!Array.isArray(message.serverCaCerts))
+ return "serverCaCerts: array expected";
+ for (var i = 0; i < message.serverCaCerts.length; ++i) {
+ var error = $root.google.cloud.redis.v1beta1.TlsCertificate.verify(message.serverCaCerts[i]);
+ if (error)
+ return "serverCaCerts." + error;
+ }
+ }
+ if (message.transitEncryptionMode != null && message.hasOwnProperty("transitEncryptionMode"))
+ switch (message.transitEncryptionMode) {
+ default:
+ return "transitEncryptionMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.maintenancePolicy != null && message.hasOwnProperty("maintenancePolicy")) {
+ var error = $root.google.cloud.redis.v1beta1.MaintenancePolicy.verify(message.maintenancePolicy);
+ if (error)
+ return "maintenancePolicy." + error;
+ }
+ if (message.maintenanceSchedule != null && message.hasOwnProperty("maintenanceSchedule")) {
+ var error = $root.google.cloud.redis.v1beta1.MaintenanceSchedule.verify(message.maintenanceSchedule);
+ if (error)
+ return "maintenanceSchedule." + error;
+ }
+ if (message.replicaCount != null && message.hasOwnProperty("replicaCount"))
+ if (!$util.isInteger(message.replicaCount))
+ return "replicaCount: integer expected";
+ if (message.nodes != null && message.hasOwnProperty("nodes")) {
+ if (!Array.isArray(message.nodes))
+ return "nodes: array expected";
+ for (var i = 0; i < message.nodes.length; ++i) {
+ var error = $root.google.cloud.redis.v1beta1.NodeInfo.verify(message.nodes[i]);
+ if (error)
+ return "nodes." + error;
+ }
+ }
+ if (message.readEndpoint != null && message.hasOwnProperty("readEndpoint"))
+ if (!$util.isString(message.readEndpoint))
+ return "readEndpoint: string expected";
+ if (message.readEndpointPort != null && message.hasOwnProperty("readEndpointPort"))
+ if (!$util.isInteger(message.readEndpointPort))
+ return "readEndpointPort: integer expected";
+ if (message.readReplicasMode != null && message.hasOwnProperty("readReplicasMode"))
+ switch (message.readReplicasMode) {
+ default:
+ return "readReplicasMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.persistenceConfig != null && message.hasOwnProperty("persistenceConfig")) {
+ var error = $root.google.cloud.redis.v1beta1.PersistenceConfig.verify(message.persistenceConfig);
+ if (error)
+ return "persistenceConfig." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Instance message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.Instance} Instance
+ */
+ Instance.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.Instance)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.Instance();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.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.locationId != null)
+ message.locationId = String(object.locationId);
+ if (object.alternativeLocationId != null)
+ message.alternativeLocationId = String(object.alternativeLocationId);
+ if (object.redisVersion != null)
+ message.redisVersion = String(object.redisVersion);
+ if (object.reservedIpRange != null)
+ message.reservedIpRange = String(object.reservedIpRange);
+ if (object.secondaryIpRange != null)
+ message.secondaryIpRange = String(object.secondaryIpRange);
+ if (object.host != null)
+ message.host = String(object.host);
+ if (object.port != null)
+ message.port = object.port | 0;
+ if (object.currentLocationId != null)
+ message.currentLocationId = String(object.currentLocationId);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ switch (object.state) {
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "CREATING":
+ case 1:
+ message.state = 1;
+ break;
+ case "READY":
+ case 2:
+ message.state = 2;
+ break;
+ case "UPDATING":
+ case 3:
+ message.state = 3;
+ break;
+ case "DELETING":
+ case 4:
+ message.state = 4;
+ break;
+ case "REPAIRING":
+ case 5:
+ message.state = 5;
+ break;
+ case "MAINTENANCE":
+ case 6:
+ message.state = 6;
+ break;
+ case "IMPORTING":
+ case 8:
+ message.state = 8;
+ break;
+ case "FAILING_OVER":
+ case 10:
+ message.state = 10;
+ break;
+ }
+ if (object.statusMessage != null)
+ message.statusMessage = String(object.statusMessage);
+ if (object.redisConfigs) {
+ if (typeof object.redisConfigs !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.redisConfigs: object expected");
+ message.redisConfigs = {};
+ for (var keys = Object.keys(object.redisConfigs), i = 0; i < keys.length; ++i)
+ message.redisConfigs[keys[i]] = String(object.redisConfigs[keys[i]]);
+ }
+ switch (object.tier) {
+ case "TIER_UNSPECIFIED":
+ case 0:
+ message.tier = 0;
+ break;
+ case "BASIC":
+ case 1:
+ message.tier = 1;
+ break;
+ case "STANDARD_HA":
+ case 3:
+ message.tier = 3;
+ break;
+ }
+ if (object.memorySizeGb != null)
+ message.memorySizeGb = object.memorySizeGb | 0;
+ if (object.authorizedNetwork != null)
+ message.authorizedNetwork = String(object.authorizedNetwork);
+ if (object.persistenceIamIdentity != null)
+ message.persistenceIamIdentity = String(object.persistenceIamIdentity);
+ switch (object.connectMode) {
+ case "CONNECT_MODE_UNSPECIFIED":
+ case 0:
+ message.connectMode = 0;
+ break;
+ case "DIRECT_PEERING":
+ case 1:
+ message.connectMode = 1;
+ break;
+ case "PRIVATE_SERVICE_ACCESS":
+ case 2:
+ message.connectMode = 2;
+ break;
+ }
+ if (object.authEnabled != null)
+ message.authEnabled = Boolean(object.authEnabled);
+ if (object.serverCaCerts) {
+ if (!Array.isArray(object.serverCaCerts))
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.serverCaCerts: array expected");
+ message.serverCaCerts = [];
+ for (var i = 0; i < object.serverCaCerts.length; ++i) {
+ if (typeof object.serverCaCerts[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.serverCaCerts: object expected");
+ message.serverCaCerts[i] = $root.google.cloud.redis.v1beta1.TlsCertificate.fromObject(object.serverCaCerts[i]);
+ }
+ }
+ switch (object.transitEncryptionMode) {
+ case "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED":
+ case 0:
+ message.transitEncryptionMode = 0;
+ break;
+ case "SERVER_AUTHENTICATION":
+ case 1:
+ message.transitEncryptionMode = 1;
+ break;
+ case "DISABLED":
+ case 2:
+ message.transitEncryptionMode = 2;
+ break;
+ }
+ if (object.maintenancePolicy != null) {
+ if (typeof object.maintenancePolicy !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.maintenancePolicy: object expected");
+ message.maintenancePolicy = $root.google.cloud.redis.v1beta1.MaintenancePolicy.fromObject(object.maintenancePolicy);
+ }
+ if (object.maintenanceSchedule != null) {
+ if (typeof object.maintenanceSchedule !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.maintenanceSchedule: object expected");
+ message.maintenanceSchedule = $root.google.cloud.redis.v1beta1.MaintenanceSchedule.fromObject(object.maintenanceSchedule);
+ }
+ if (object.replicaCount != null)
+ message.replicaCount = object.replicaCount | 0;
+ if (object.nodes) {
+ if (!Array.isArray(object.nodes))
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.nodes: array expected");
+ message.nodes = [];
+ for (var i = 0; i < object.nodes.length; ++i) {
+ if (typeof object.nodes[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.nodes: object expected");
+ message.nodes[i] = $root.google.cloud.redis.v1beta1.NodeInfo.fromObject(object.nodes[i]);
+ }
+ }
+ if (object.readEndpoint != null)
+ message.readEndpoint = String(object.readEndpoint);
+ if (object.readEndpointPort != null)
+ message.readEndpointPort = object.readEndpointPort | 0;
+ switch (object.readReplicasMode) {
+ case "READ_REPLICAS_MODE_UNSPECIFIED":
+ case 0:
+ message.readReplicasMode = 0;
+ break;
+ case "READ_REPLICAS_DISABLED":
+ case 1:
+ message.readReplicasMode = 1;
+ break;
+ case "READ_REPLICAS_ENABLED":
+ case 2:
+ message.readReplicasMode = 2;
+ break;
+ }
+ if (object.persistenceConfig != null) {
+ if (typeof object.persistenceConfig !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.Instance.persistenceConfig: object expected");
+ message.persistenceConfig = $root.google.cloud.redis.v1beta1.PersistenceConfig.fromObject(object.persistenceConfig);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Instance message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {google.cloud.redis.v1beta1.Instance} message Instance
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Instance.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.serverCaCerts = [];
+ object.nodes = [];
+ }
+ if (options.objects || options.defaults) {
+ object.labels = {};
+ object.redisConfigs = {};
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.displayName = "";
+ object.locationId = "";
+ object.alternativeLocationId = "";
+ object.redisVersion = "";
+ object.reservedIpRange = "";
+ object.host = "";
+ object.port = 0;
+ object.currentLocationId = "";
+ object.createTime = null;
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.statusMessage = "";
+ object.tier = options.enums === String ? "TIER_UNSPECIFIED" : 0;
+ object.memorySizeGb = 0;
+ object.authorizedNetwork = "";
+ object.persistenceIamIdentity = "";
+ object.connectMode = options.enums === String ? "CONNECT_MODE_UNSPECIFIED" : 0;
+ object.authEnabled = false;
+ object.transitEncryptionMode = options.enums === String ? "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED" : 0;
+ object.maintenancePolicy = null;
+ object.maintenanceSchedule = null;
+ object.secondaryIpRange = "";
+ object.replicaCount = 0;
+ object.readEndpoint = "";
+ object.readEndpointPort = 0;
+ object.readReplicasMode = options.enums === String ? "READ_REPLICAS_MODE_UNSPECIFIED" : 0;
+ object.persistenceConfig = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ 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.locationId != null && message.hasOwnProperty("locationId"))
+ object.locationId = message.locationId;
+ if (message.alternativeLocationId != null && message.hasOwnProperty("alternativeLocationId"))
+ object.alternativeLocationId = message.alternativeLocationId;
+ if (message.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ object.redisVersion = message.redisVersion;
+ if (message.reservedIpRange != null && message.hasOwnProperty("reservedIpRange"))
+ object.reservedIpRange = message.reservedIpRange;
+ if (message.host != null && message.hasOwnProperty("host"))
+ object.host = message.host;
+ if (message.port != null && message.hasOwnProperty("port"))
+ object.port = message.port;
+ if (message.currentLocationId != null && message.hasOwnProperty("currentLocationId"))
+ object.currentLocationId = message.currentLocationId;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.redis.v1beta1.Instance.State[message.state] : message.state;
+ if (message.statusMessage != null && message.hasOwnProperty("statusMessage"))
+ object.statusMessage = message.statusMessage;
+ if (message.redisConfigs && (keys2 = Object.keys(message.redisConfigs)).length) {
+ object.redisConfigs = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.redisConfigs[keys2[j]] = message.redisConfigs[keys2[j]];
+ }
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ object.tier = options.enums === String ? $root.google.cloud.redis.v1beta1.Instance.Tier[message.tier] : message.tier;
+ if (message.memorySizeGb != null && message.hasOwnProperty("memorySizeGb"))
+ object.memorySizeGb = message.memorySizeGb;
+ if (message.authorizedNetwork != null && message.hasOwnProperty("authorizedNetwork"))
+ object.authorizedNetwork = message.authorizedNetwork;
+ if (message.persistenceIamIdentity != null && message.hasOwnProperty("persistenceIamIdentity"))
+ object.persistenceIamIdentity = message.persistenceIamIdentity;
+ if (message.connectMode != null && message.hasOwnProperty("connectMode"))
+ object.connectMode = options.enums === String ? $root.google.cloud.redis.v1beta1.Instance.ConnectMode[message.connectMode] : message.connectMode;
+ if (message.authEnabled != null && message.hasOwnProperty("authEnabled"))
+ object.authEnabled = message.authEnabled;
+ if (message.serverCaCerts && message.serverCaCerts.length) {
+ object.serverCaCerts = [];
+ for (var j = 0; j < message.serverCaCerts.length; ++j)
+ object.serverCaCerts[j] = $root.google.cloud.redis.v1beta1.TlsCertificate.toObject(message.serverCaCerts[j], options);
+ }
+ if (message.transitEncryptionMode != null && message.hasOwnProperty("transitEncryptionMode"))
+ object.transitEncryptionMode = options.enums === String ? $root.google.cloud.redis.v1beta1.Instance.TransitEncryptionMode[message.transitEncryptionMode] : message.transitEncryptionMode;
+ if (message.maintenancePolicy != null && message.hasOwnProperty("maintenancePolicy"))
+ object.maintenancePolicy = $root.google.cloud.redis.v1beta1.MaintenancePolicy.toObject(message.maintenancePolicy, options);
+ if (message.maintenanceSchedule != null && message.hasOwnProperty("maintenanceSchedule"))
+ object.maintenanceSchedule = $root.google.cloud.redis.v1beta1.MaintenanceSchedule.toObject(message.maintenanceSchedule, options);
+ if (message.secondaryIpRange != null && message.hasOwnProperty("secondaryIpRange"))
+ object.secondaryIpRange = message.secondaryIpRange;
+ if (message.replicaCount != null && message.hasOwnProperty("replicaCount"))
+ object.replicaCount = message.replicaCount;
+ if (message.nodes && message.nodes.length) {
+ object.nodes = [];
+ for (var j = 0; j < message.nodes.length; ++j)
+ object.nodes[j] = $root.google.cloud.redis.v1beta1.NodeInfo.toObject(message.nodes[j], options);
+ }
+ if (message.readEndpoint != null && message.hasOwnProperty("readEndpoint"))
+ object.readEndpoint = message.readEndpoint;
+ if (message.readEndpointPort != null && message.hasOwnProperty("readEndpointPort"))
+ object.readEndpointPort = message.readEndpointPort;
+ if (message.readReplicasMode != null && message.hasOwnProperty("readReplicasMode"))
+ object.readReplicasMode = options.enums === String ? $root.google.cloud.redis.v1beta1.Instance.ReadReplicasMode[message.readReplicasMode] : message.readReplicasMode;
+ if (message.persistenceConfig != null && message.hasOwnProperty("persistenceConfig"))
+ object.persistenceConfig = $root.google.cloud.redis.v1beta1.PersistenceConfig.toObject(message.persistenceConfig, options);
+ return object;
+ };
+
+ /**
+ * Converts this Instance to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Instance.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Instance
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.Instance
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Instance.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.Instance";
+ };
+
+ /**
+ * State enum.
+ * @name google.cloud.redis.v1beta1.Instance.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} CREATING=1 CREATING value
+ * @property {number} READY=2 READY value
+ * @property {number} UPDATING=3 UPDATING value
+ * @property {number} DELETING=4 DELETING value
+ * @property {number} REPAIRING=5 REPAIRING value
+ * @property {number} MAINTENANCE=6 MAINTENANCE value
+ * @property {number} IMPORTING=8 IMPORTING value
+ * @property {number} FAILING_OVER=10 FAILING_OVER value
+ */
+ Instance.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CREATING"] = 1;
+ values[valuesById[2] = "READY"] = 2;
+ values[valuesById[3] = "UPDATING"] = 3;
+ values[valuesById[4] = "DELETING"] = 4;
+ values[valuesById[5] = "REPAIRING"] = 5;
+ values[valuesById[6] = "MAINTENANCE"] = 6;
+ values[valuesById[8] = "IMPORTING"] = 8;
+ values[valuesById[10] = "FAILING_OVER"] = 10;
+ return values;
+ })();
+
+ /**
+ * Tier enum.
+ * @name google.cloud.redis.v1beta1.Instance.Tier
+ * @enum {number}
+ * @property {number} TIER_UNSPECIFIED=0 TIER_UNSPECIFIED value
+ * @property {number} BASIC=1 BASIC value
+ * @property {number} STANDARD_HA=3 STANDARD_HA value
+ */
+ Instance.Tier = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TIER_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "BASIC"] = 1;
+ values[valuesById[3] = "STANDARD_HA"] = 3;
+ return values;
+ })();
+
+ /**
+ * ConnectMode enum.
+ * @name google.cloud.redis.v1beta1.Instance.ConnectMode
+ * @enum {number}
+ * @property {number} CONNECT_MODE_UNSPECIFIED=0 CONNECT_MODE_UNSPECIFIED value
+ * @property {number} DIRECT_PEERING=1 DIRECT_PEERING value
+ * @property {number} PRIVATE_SERVICE_ACCESS=2 PRIVATE_SERVICE_ACCESS value
+ */
+ Instance.ConnectMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CONNECT_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DIRECT_PEERING"] = 1;
+ values[valuesById[2] = "PRIVATE_SERVICE_ACCESS"] = 2;
+ return values;
+ })();
+
+ /**
+ * TransitEncryptionMode enum.
+ * @name google.cloud.redis.v1beta1.Instance.TransitEncryptionMode
+ * @enum {number}
+ * @property {number} TRANSIT_ENCRYPTION_MODE_UNSPECIFIED=0 TRANSIT_ENCRYPTION_MODE_UNSPECIFIED value
+ * @property {number} SERVER_AUTHENTICATION=1 SERVER_AUTHENTICATION value
+ * @property {number} DISABLED=2 DISABLED value
+ */
+ Instance.TransitEncryptionMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TRANSIT_ENCRYPTION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SERVER_AUTHENTICATION"] = 1;
+ values[valuesById[2] = "DISABLED"] = 2;
+ return values;
+ })();
+
+ /**
+ * ReadReplicasMode enum.
+ * @name google.cloud.redis.v1beta1.Instance.ReadReplicasMode
+ * @enum {number}
+ * @property {number} READ_REPLICAS_MODE_UNSPECIFIED=0 READ_REPLICAS_MODE_UNSPECIFIED value
+ * @property {number} READ_REPLICAS_DISABLED=1 READ_REPLICAS_DISABLED value
+ * @property {number} READ_REPLICAS_ENABLED=2 READ_REPLICAS_ENABLED value
+ */
+ Instance.ReadReplicasMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "READ_REPLICAS_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "READ_REPLICAS_DISABLED"] = 1;
+ values[valuesById[2] = "READ_REPLICAS_ENABLED"] = 2;
+ return values;
+ })();
+
+ return Instance;
+ })();
+
+ v1beta1.PersistenceConfig = (function() {
+
+ /**
+ * Properties of a PersistenceConfig.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IPersistenceConfig
+ * @property {google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode|null} [persistenceMode] PersistenceConfig persistenceMode
+ * @property {google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod|null} [rdbSnapshotPeriod] PersistenceConfig rdbSnapshotPeriod
+ * @property {google.protobuf.ITimestamp|null} [rdbNextSnapshotTime] PersistenceConfig rdbNextSnapshotTime
+ * @property {google.protobuf.ITimestamp|null} [rdbSnapshotStartTime] PersistenceConfig rdbSnapshotStartTime
+ */
+
+ /**
+ * Constructs a new PersistenceConfig.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a PersistenceConfig.
+ * @implements IPersistenceConfig
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IPersistenceConfig=} [properties] Properties to set
+ */
+ function PersistenceConfig(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]];
+ }
+
+ /**
+ * PersistenceConfig persistenceMode.
+ * @member {google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode} persistenceMode
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @instance
+ */
+ PersistenceConfig.prototype.persistenceMode = 0;
+
+ /**
+ * PersistenceConfig rdbSnapshotPeriod.
+ * @member {google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod} rdbSnapshotPeriod
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @instance
+ */
+ PersistenceConfig.prototype.rdbSnapshotPeriod = 0;
+
+ /**
+ * PersistenceConfig rdbNextSnapshotTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} rdbNextSnapshotTime
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @instance
+ */
+ PersistenceConfig.prototype.rdbNextSnapshotTime = null;
+
+ /**
+ * PersistenceConfig rdbSnapshotStartTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} rdbSnapshotStartTime
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @instance
+ */
+ PersistenceConfig.prototype.rdbSnapshotStartTime = null;
+
+ /**
+ * Creates a new PersistenceConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {google.cloud.redis.v1beta1.IPersistenceConfig=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.PersistenceConfig} PersistenceConfig instance
+ */
+ PersistenceConfig.create = function create(properties) {
+ return new PersistenceConfig(properties);
+ };
+
+ /**
+ * Encodes the specified PersistenceConfig message. Does not implicitly {@link google.cloud.redis.v1beta1.PersistenceConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {google.cloud.redis.v1beta1.IPersistenceConfig} message PersistenceConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersistenceConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.persistenceMode != null && Object.hasOwnProperty.call(message, "persistenceMode"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.persistenceMode);
+ if (message.rdbSnapshotPeriod != null && Object.hasOwnProperty.call(message, "rdbSnapshotPeriod"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.rdbSnapshotPeriod);
+ if (message.rdbNextSnapshotTime != null && Object.hasOwnProperty.call(message, "rdbNextSnapshotTime"))
+ $root.google.protobuf.Timestamp.encode(message.rdbNextSnapshotTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.rdbSnapshotStartTime != null && Object.hasOwnProperty.call(message, "rdbSnapshotStartTime"))
+ $root.google.protobuf.Timestamp.encode(message.rdbSnapshotStartTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PersistenceConfig message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.PersistenceConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {google.cloud.redis.v1beta1.IPersistenceConfig} message PersistenceConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PersistenceConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PersistenceConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.PersistenceConfig} PersistenceConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersistenceConfig.decode = function 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.redis.v1beta1.PersistenceConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.persistenceMode = reader.int32();
+ break;
+ }
+ case 2: {
+ message.rdbSnapshotPeriod = reader.int32();
+ break;
+ }
+ case 4: {
+ message.rdbNextSnapshotTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.rdbSnapshotStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PersistenceConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.PersistenceConfig} PersistenceConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PersistenceConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PersistenceConfig message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PersistenceConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.persistenceMode != null && message.hasOwnProperty("persistenceMode"))
+ switch (message.persistenceMode) {
+ default:
+ return "persistenceMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.rdbSnapshotPeriod != null && message.hasOwnProperty("rdbSnapshotPeriod"))
+ switch (message.rdbSnapshotPeriod) {
+ default:
+ return "rdbSnapshotPeriod: enum value expected";
+ case 0:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.rdbNextSnapshotTime != null && message.hasOwnProperty("rdbNextSnapshotTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.rdbNextSnapshotTime);
+ if (error)
+ return "rdbNextSnapshotTime." + error;
+ }
+ if (message.rdbSnapshotStartTime != null && message.hasOwnProperty("rdbSnapshotStartTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.rdbSnapshotStartTime);
+ if (error)
+ return "rdbSnapshotStartTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PersistenceConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.PersistenceConfig} PersistenceConfig
+ */
+ PersistenceConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.PersistenceConfig)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.PersistenceConfig();
+ switch (object.persistenceMode) {
+ case "PERSISTENCE_MODE_UNSPECIFIED":
+ case 0:
+ message.persistenceMode = 0;
+ break;
+ case "DISABLED":
+ case 1:
+ message.persistenceMode = 1;
+ break;
+ case "RDB":
+ case 2:
+ message.persistenceMode = 2;
+ break;
+ }
+ switch (object.rdbSnapshotPeriod) {
+ case "SNAPSHOT_PERIOD_UNSPECIFIED":
+ case 0:
+ message.rdbSnapshotPeriod = 0;
+ break;
+ case "ONE_HOUR":
+ case 3:
+ message.rdbSnapshotPeriod = 3;
+ break;
+ case "SIX_HOURS":
+ case 4:
+ message.rdbSnapshotPeriod = 4;
+ break;
+ case "TWELVE_HOURS":
+ case 5:
+ message.rdbSnapshotPeriod = 5;
+ break;
+ case "TWENTY_FOUR_HOURS":
+ case 6:
+ message.rdbSnapshotPeriod = 6;
+ break;
+ }
+ if (object.rdbNextSnapshotTime != null) {
+ if (typeof object.rdbNextSnapshotTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.PersistenceConfig.rdbNextSnapshotTime: object expected");
+ message.rdbNextSnapshotTime = $root.google.protobuf.Timestamp.fromObject(object.rdbNextSnapshotTime);
+ }
+ if (object.rdbSnapshotStartTime != null) {
+ if (typeof object.rdbSnapshotStartTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.PersistenceConfig.rdbSnapshotStartTime: object expected");
+ message.rdbSnapshotStartTime = $root.google.protobuf.Timestamp.fromObject(object.rdbSnapshotStartTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PersistenceConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {google.cloud.redis.v1beta1.PersistenceConfig} message PersistenceConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PersistenceConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.persistenceMode = options.enums === String ? "PERSISTENCE_MODE_UNSPECIFIED" : 0;
+ object.rdbSnapshotPeriod = options.enums === String ? "SNAPSHOT_PERIOD_UNSPECIFIED" : 0;
+ object.rdbNextSnapshotTime = null;
+ object.rdbSnapshotStartTime = null;
+ }
+ if (message.persistenceMode != null && message.hasOwnProperty("persistenceMode"))
+ object.persistenceMode = options.enums === String ? $root.google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode[message.persistenceMode] : message.persistenceMode;
+ if (message.rdbSnapshotPeriod != null && message.hasOwnProperty("rdbSnapshotPeriod"))
+ object.rdbSnapshotPeriod = options.enums === String ? $root.google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod[message.rdbSnapshotPeriod] : message.rdbSnapshotPeriod;
+ if (message.rdbNextSnapshotTime != null && message.hasOwnProperty("rdbNextSnapshotTime"))
+ object.rdbNextSnapshotTime = $root.google.protobuf.Timestamp.toObject(message.rdbNextSnapshotTime, options);
+ if (message.rdbSnapshotStartTime != null && message.hasOwnProperty("rdbSnapshotStartTime"))
+ object.rdbSnapshotStartTime = $root.google.protobuf.Timestamp.toObject(message.rdbSnapshotStartTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this PersistenceConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PersistenceConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PersistenceConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.PersistenceConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PersistenceConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.PersistenceConfig";
+ };
+
+ /**
+ * PersistenceMode enum.
+ * @name google.cloud.redis.v1beta1.PersistenceConfig.PersistenceMode
+ * @enum {number}
+ * @property {number} PERSISTENCE_MODE_UNSPECIFIED=0 PERSISTENCE_MODE_UNSPECIFIED value
+ * @property {number} DISABLED=1 DISABLED value
+ * @property {number} RDB=2 RDB value
+ */
+ PersistenceConfig.PersistenceMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PERSISTENCE_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DISABLED"] = 1;
+ values[valuesById[2] = "RDB"] = 2;
+ return values;
+ })();
+
+ /**
+ * SnapshotPeriod enum.
+ * @name google.cloud.redis.v1beta1.PersistenceConfig.SnapshotPeriod
+ * @enum {number}
+ * @property {number} SNAPSHOT_PERIOD_UNSPECIFIED=0 SNAPSHOT_PERIOD_UNSPECIFIED value
+ * @property {number} ONE_HOUR=3 ONE_HOUR value
+ * @property {number} SIX_HOURS=4 SIX_HOURS value
+ * @property {number} TWELVE_HOURS=5 TWELVE_HOURS value
+ * @property {number} TWENTY_FOUR_HOURS=6 TWENTY_FOUR_HOURS value
+ */
+ PersistenceConfig.SnapshotPeriod = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SNAPSHOT_PERIOD_UNSPECIFIED"] = 0;
+ values[valuesById[3] = "ONE_HOUR"] = 3;
+ values[valuesById[4] = "SIX_HOURS"] = 4;
+ values[valuesById[5] = "TWELVE_HOURS"] = 5;
+ values[valuesById[6] = "TWENTY_FOUR_HOURS"] = 6;
+ return values;
+ })();
+
+ return PersistenceConfig;
+ })();
+
+ v1beta1.RescheduleMaintenanceRequest = (function() {
+
+ /**
+ * Properties of a RescheduleMaintenanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IRescheduleMaintenanceRequest
+ * @property {string|null} [name] RescheduleMaintenanceRequest name
+ * @property {google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType|null} [rescheduleType] RescheduleMaintenanceRequest rescheduleType
+ * @property {google.protobuf.ITimestamp|null} [scheduleTime] RescheduleMaintenanceRequest scheduleTime
+ */
+
+ /**
+ * Constructs a new RescheduleMaintenanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a RescheduleMaintenanceRequest.
+ * @implements IRescheduleMaintenanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest=} [properties] Properties to set
+ */
+ function RescheduleMaintenanceRequest(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]];
+ }
+
+ /**
+ * RescheduleMaintenanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @instance
+ */
+ RescheduleMaintenanceRequest.prototype.name = "";
+
+ /**
+ * RescheduleMaintenanceRequest rescheduleType.
+ * @member {google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType} rescheduleType
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @instance
+ */
+ RescheduleMaintenanceRequest.prototype.rescheduleType = 0;
+
+ /**
+ * RescheduleMaintenanceRequest scheduleTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} scheduleTime
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @instance
+ */
+ RescheduleMaintenanceRequest.prototype.scheduleTime = null;
+
+ /**
+ * Creates a new RescheduleMaintenanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest instance
+ */
+ RescheduleMaintenanceRequest.create = function create(properties) {
+ return new RescheduleMaintenanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest} message RescheduleMaintenanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RescheduleMaintenanceRequest.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.rescheduleType != null && Object.hasOwnProperty.call(message, "rescheduleType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.rescheduleType);
+ if (message.scheduleTime != null && Object.hasOwnProperty.call(message, "scheduleTime"))
+ $root.google.protobuf.Timestamp.encode(message.scheduleTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RescheduleMaintenanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IRescheduleMaintenanceRequest} message RescheduleMaintenanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RescheduleMaintenanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RescheduleMaintenanceRequest.decode = function 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.redis.v1beta1.RescheduleMaintenanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.rescheduleType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.scheduleTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RescheduleMaintenanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RescheduleMaintenanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RescheduleMaintenanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RescheduleMaintenanceRequest.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.rescheduleType != null && message.hasOwnProperty("rescheduleType"))
+ switch (message.rescheduleType) {
+ default:
+ return "rescheduleType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.scheduleTime != null && message.hasOwnProperty("scheduleTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.scheduleTime);
+ if (error)
+ return "scheduleTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RescheduleMaintenanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.RescheduleMaintenanceRequest} RescheduleMaintenanceRequest
+ */
+ RescheduleMaintenanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.RescheduleMaintenanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.RescheduleMaintenanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ switch (object.rescheduleType) {
+ case "RESCHEDULE_TYPE_UNSPECIFIED":
+ case 0:
+ message.rescheduleType = 0;
+ break;
+ case "IMMEDIATE":
+ case 1:
+ message.rescheduleType = 1;
+ break;
+ case "NEXT_AVAILABLE_WINDOW":
+ case 2:
+ message.rescheduleType = 2;
+ break;
+ case "SPECIFIC_TIME":
+ case 3:
+ message.rescheduleType = 3;
+ break;
+ }
+ if (object.scheduleTime != null) {
+ if (typeof object.scheduleTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.scheduleTime: object expected");
+ message.scheduleTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RescheduleMaintenanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.RescheduleMaintenanceRequest} message RescheduleMaintenanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RescheduleMaintenanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.rescheduleType = options.enums === String ? "RESCHEDULE_TYPE_UNSPECIFIED" : 0;
+ object.scheduleTime = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.rescheduleType != null && message.hasOwnProperty("rescheduleType"))
+ object.rescheduleType = options.enums === String ? $root.google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType[message.rescheduleType] : message.rescheduleType;
+ if (message.scheduleTime != null && message.hasOwnProperty("scheduleTime"))
+ object.scheduleTime = $root.google.protobuf.Timestamp.toObject(message.scheduleTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this RescheduleMaintenanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RescheduleMaintenanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RescheduleMaintenanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.RescheduleMaintenanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RescheduleMaintenanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.RescheduleMaintenanceRequest";
+ };
+
+ /**
+ * RescheduleType enum.
+ * @name google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType
+ * @enum {number}
+ * @property {number} RESCHEDULE_TYPE_UNSPECIFIED=0 RESCHEDULE_TYPE_UNSPECIFIED value
+ * @property {number} IMMEDIATE=1 IMMEDIATE value
+ * @property {number} NEXT_AVAILABLE_WINDOW=2 NEXT_AVAILABLE_WINDOW value
+ * @property {number} SPECIFIC_TIME=3 SPECIFIC_TIME value
+ */
+ RescheduleMaintenanceRequest.RescheduleType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "RESCHEDULE_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "IMMEDIATE"] = 1;
+ values[valuesById[2] = "NEXT_AVAILABLE_WINDOW"] = 2;
+ values[valuesById[3] = "SPECIFIC_TIME"] = 3;
+ return values;
+ })();
+
+ return RescheduleMaintenanceRequest;
+ })();
+
+ v1beta1.MaintenancePolicy = (function() {
+
+ /**
+ * Properties of a MaintenancePolicy.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IMaintenancePolicy
+ * @property {google.protobuf.ITimestamp|null} [createTime] MaintenancePolicy createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] MaintenancePolicy updateTime
+ * @property {string|null} [description] MaintenancePolicy description
+ * @property {Array.|null} [weeklyMaintenanceWindow] MaintenancePolicy weeklyMaintenanceWindow
+ */
+
+ /**
+ * Constructs a new MaintenancePolicy.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a MaintenancePolicy.
+ * @implements IMaintenancePolicy
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IMaintenancePolicy=} [properties] Properties to set
+ */
+ function MaintenancePolicy(properties) {
+ this.weeklyMaintenanceWindow = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MaintenancePolicy createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.createTime = null;
+
+ /**
+ * MaintenancePolicy updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.updateTime = null;
+
+ /**
+ * MaintenancePolicy description.
+ * @member {string} description
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.description = "";
+
+ /**
+ * MaintenancePolicy weeklyMaintenanceWindow.
+ * @member {Array.} weeklyMaintenanceWindow
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @instance
+ */
+ MaintenancePolicy.prototype.weeklyMaintenanceWindow = $util.emptyArray;
+
+ /**
+ * Creates a new MaintenancePolicy instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1beta1.IMaintenancePolicy=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.MaintenancePolicy} MaintenancePolicy instance
+ */
+ MaintenancePolicy.create = function create(properties) {
+ return new MaintenancePolicy(properties);
+ };
+
+ /**
+ * Encodes the specified MaintenancePolicy message. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenancePolicy.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1beta1.IMaintenancePolicy} message MaintenancePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenancePolicy.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.description);
+ if (message.weeklyMaintenanceWindow != null && message.weeklyMaintenanceWindow.length)
+ for (var i = 0; i < message.weeklyMaintenanceWindow.length; ++i)
+ $root.google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.encode(message.weeklyMaintenanceWindow[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MaintenancePolicy message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenancePolicy.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1beta1.IMaintenancePolicy} message MaintenancePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenancePolicy.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.MaintenancePolicy} MaintenancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenancePolicy.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.redis.v1beta1.MaintenancePolicy();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.description = reader.string();
+ break;
+ }
+ case 4: {
+ if (!(message.weeklyMaintenanceWindow && message.weeklyMaintenanceWindow.length))
+ message.weeklyMaintenanceWindow = [];
+ message.weeklyMaintenanceWindow.push($root.google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MaintenancePolicy message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.MaintenancePolicy} MaintenancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenancePolicy.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MaintenancePolicy message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MaintenancePolicy.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.weeklyMaintenanceWindow != null && message.hasOwnProperty("weeklyMaintenanceWindow")) {
+ if (!Array.isArray(message.weeklyMaintenanceWindow))
+ return "weeklyMaintenanceWindow: array expected";
+ for (var i = 0; i < message.weeklyMaintenanceWindow.length; ++i) {
+ var error = $root.google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.verify(message.weeklyMaintenanceWindow[i]);
+ if (error)
+ return "weeklyMaintenanceWindow." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MaintenancePolicy message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.MaintenancePolicy} MaintenancePolicy
+ */
+ MaintenancePolicy.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.MaintenancePolicy)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.MaintenancePolicy();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.MaintenancePolicy.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.MaintenancePolicy.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.weeklyMaintenanceWindow) {
+ if (!Array.isArray(object.weeklyMaintenanceWindow))
+ throw TypeError(".google.cloud.redis.v1beta1.MaintenancePolicy.weeklyMaintenanceWindow: array expected");
+ message.weeklyMaintenanceWindow = [];
+ for (var i = 0; i < object.weeklyMaintenanceWindow.length; ++i) {
+ if (typeof object.weeklyMaintenanceWindow[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.MaintenancePolicy.weeklyMaintenanceWindow: object expected");
+ message.weeklyMaintenanceWindow[i] = $root.google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.fromObject(object.weeklyMaintenanceWindow[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MaintenancePolicy message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {google.cloud.redis.v1beta1.MaintenancePolicy} message MaintenancePolicy
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MaintenancePolicy.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.weeklyMaintenanceWindow = [];
+ if (options.defaults) {
+ object.createTime = null;
+ object.updateTime = null;
+ object.description = "";
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.weeklyMaintenanceWindow && message.weeklyMaintenanceWindow.length) {
+ object.weeklyMaintenanceWindow = [];
+ for (var j = 0; j < message.weeklyMaintenanceWindow.length; ++j)
+ object.weeklyMaintenanceWindow[j] = $root.google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.toObject(message.weeklyMaintenanceWindow[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MaintenancePolicy to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MaintenancePolicy.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MaintenancePolicy
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.MaintenancePolicy
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MaintenancePolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.MaintenancePolicy";
+ };
+
+ return MaintenancePolicy;
+ })();
+
+ v1beta1.WeeklyMaintenanceWindow = (function() {
+
+ /**
+ * Properties of a WeeklyMaintenanceWindow.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IWeeklyMaintenanceWindow
+ * @property {google.type.DayOfWeek|null} [day] WeeklyMaintenanceWindow day
+ * @property {google.type.ITimeOfDay|null} [startTime] WeeklyMaintenanceWindow startTime
+ * @property {google.protobuf.IDuration|null} [duration] WeeklyMaintenanceWindow duration
+ */
+
+ /**
+ * Constructs a new WeeklyMaintenanceWindow.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a WeeklyMaintenanceWindow.
+ * @implements IWeeklyMaintenanceWindow
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow=} [properties] Properties to set
+ */
+ function WeeklyMaintenanceWindow(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]];
+ }
+
+ /**
+ * WeeklyMaintenanceWindow day.
+ * @member {google.type.DayOfWeek} day
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @instance
+ */
+ WeeklyMaintenanceWindow.prototype.day = 0;
+
+ /**
+ * WeeklyMaintenanceWindow startTime.
+ * @member {google.type.ITimeOfDay|null|undefined} startTime
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @instance
+ */
+ WeeklyMaintenanceWindow.prototype.startTime = null;
+
+ /**
+ * WeeklyMaintenanceWindow duration.
+ * @member {google.protobuf.IDuration|null|undefined} duration
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @instance
+ */
+ WeeklyMaintenanceWindow.prototype.duration = null;
+
+ /**
+ * Creates a new WeeklyMaintenanceWindow instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow instance
+ */
+ WeeklyMaintenanceWindow.create = function create(properties) {
+ return new WeeklyMaintenanceWindow(properties);
+ };
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message. Does not implicitly {@link google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow} message WeeklyMaintenanceWindow message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WeeklyMaintenanceWindow.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.day != null && Object.hasOwnProperty.call(message, "day"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.day);
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.type.TimeOfDay.encode(message.startTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
+ $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified WeeklyMaintenanceWindow message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1beta1.IWeeklyMaintenanceWindow} message WeeklyMaintenanceWindow message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ WeeklyMaintenanceWindow.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WeeklyMaintenanceWindow.decode = function 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.redis.v1beta1.WeeklyMaintenanceWindow();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.day = reader.int32();
+ break;
+ }
+ case 2: {
+ message.startTime = $root.google.type.TimeOfDay.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a WeeklyMaintenanceWindow message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ WeeklyMaintenanceWindow.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a WeeklyMaintenanceWindow message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ WeeklyMaintenanceWindow.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.day != null && message.hasOwnProperty("day"))
+ switch (message.day) {
+ default:
+ return "day: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.type.TimeOfDay.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.duration != null && message.hasOwnProperty("duration")) {
+ var error = $root.google.protobuf.Duration.verify(message.duration);
+ if (error)
+ return "duration." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a WeeklyMaintenanceWindow message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.WeeklyMaintenanceWindow} WeeklyMaintenanceWindow
+ */
+ WeeklyMaintenanceWindow.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.WeeklyMaintenanceWindow)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.WeeklyMaintenanceWindow();
+ switch (object.day) {
+ case "DAY_OF_WEEK_UNSPECIFIED":
+ case 0:
+ message.day = 0;
+ break;
+ case "MONDAY":
+ case 1:
+ message.day = 1;
+ break;
+ case "TUESDAY":
+ case 2:
+ message.day = 2;
+ break;
+ case "WEDNESDAY":
+ case 3:
+ message.day = 3;
+ break;
+ case "THURSDAY":
+ case 4:
+ message.day = 4;
+ break;
+ case "FRIDAY":
+ case 5:
+ message.day = 5;
+ break;
+ case "SATURDAY":
+ case 6:
+ message.day = 6;
+ break;
+ case "SUNDAY":
+ case 7:
+ message.day = 7;
+ break;
+ }
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.startTime: object expected");
+ message.startTime = $root.google.type.TimeOfDay.fromObject(object.startTime);
+ }
+ if (object.duration != null) {
+ if (typeof object.duration !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.WeeklyMaintenanceWindow.duration: object expected");
+ message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a WeeklyMaintenanceWindow message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {google.cloud.redis.v1beta1.WeeklyMaintenanceWindow} message WeeklyMaintenanceWindow
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ WeeklyMaintenanceWindow.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.day = options.enums === String ? "DAY_OF_WEEK_UNSPECIFIED" : 0;
+ object.startTime = null;
+ object.duration = null;
+ }
+ if (message.day != null && message.hasOwnProperty("day"))
+ object.day = options.enums === String ? $root.google.type.DayOfWeek[message.day] : message.day;
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.type.TimeOfDay.toObject(message.startTime, options);
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ object.duration = $root.google.protobuf.Duration.toObject(message.duration, options);
+ return object;
+ };
+
+ /**
+ * Converts this WeeklyMaintenanceWindow to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ WeeklyMaintenanceWindow.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for WeeklyMaintenanceWindow
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.WeeklyMaintenanceWindow
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ WeeklyMaintenanceWindow.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.WeeklyMaintenanceWindow";
+ };
+
+ return WeeklyMaintenanceWindow;
+ })();
+
+ v1beta1.MaintenanceSchedule = (function() {
+
+ /**
+ * Properties of a MaintenanceSchedule.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IMaintenanceSchedule
+ * @property {google.protobuf.ITimestamp|null} [startTime] MaintenanceSchedule startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] MaintenanceSchedule endTime
+ * @property {boolean|null} [canReschedule] MaintenanceSchedule canReschedule
+ * @property {google.protobuf.ITimestamp|null} [scheduleDeadlineTime] MaintenanceSchedule scheduleDeadlineTime
+ */
+
+ /**
+ * Constructs a new MaintenanceSchedule.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a MaintenanceSchedule.
+ * @implements IMaintenanceSchedule
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IMaintenanceSchedule=} [properties] Properties to set
+ */
+ function MaintenanceSchedule(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]];
+ }
+
+ /**
+ * MaintenanceSchedule startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.startTime = null;
+
+ /**
+ * MaintenanceSchedule endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.endTime = null;
+
+ /**
+ * MaintenanceSchedule canReschedule.
+ * @member {boolean} canReschedule
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.canReschedule = false;
+
+ /**
+ * MaintenanceSchedule scheduleDeadlineTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} scheduleDeadlineTime
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @instance
+ */
+ MaintenanceSchedule.prototype.scheduleDeadlineTime = null;
+
+ /**
+ * Creates a new MaintenanceSchedule instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1beta1.IMaintenanceSchedule=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.MaintenanceSchedule} MaintenanceSchedule instance
+ */
+ MaintenanceSchedule.create = function create(properties) {
+ return new MaintenanceSchedule(properties);
+ };
+
+ /**
+ * Encodes the specified MaintenanceSchedule message. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenanceSchedule.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1beta1.IMaintenanceSchedule} message MaintenanceSchedule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenanceSchedule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.canReschedule != null && Object.hasOwnProperty.call(message, "canReschedule"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.canReschedule);
+ if (message.scheduleDeadlineTime != null && Object.hasOwnProperty.call(message, "scheduleDeadlineTime"))
+ $root.google.protobuf.Timestamp.encode(message.scheduleDeadlineTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MaintenanceSchedule message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.MaintenanceSchedule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1beta1.IMaintenanceSchedule} message MaintenanceSchedule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MaintenanceSchedule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.MaintenanceSchedule} MaintenanceSchedule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenanceSchedule.decode = function 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.redis.v1beta1.MaintenanceSchedule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.canReschedule = reader.bool();
+ break;
+ }
+ case 5: {
+ message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MaintenanceSchedule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.MaintenanceSchedule} MaintenanceSchedule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MaintenanceSchedule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MaintenanceSchedule message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MaintenanceSchedule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.canReschedule != null && message.hasOwnProperty("canReschedule"))
+ if (typeof message.canReschedule !== "boolean")
+ return "canReschedule: boolean expected";
+ if (message.scheduleDeadlineTime != null && message.hasOwnProperty("scheduleDeadlineTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.scheduleDeadlineTime);
+ if (error)
+ return "scheduleDeadlineTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MaintenanceSchedule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.MaintenanceSchedule} MaintenanceSchedule
+ */
+ MaintenanceSchedule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.MaintenanceSchedule)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.MaintenanceSchedule();
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.MaintenanceSchedule.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.redis.v1beta1.MaintenanceSchedule.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.canReschedule != null)
+ message.canReschedule = Boolean(object.canReschedule);
+ if (object.scheduleDeadlineTime != null) {
+ if (typeof object.scheduleDeadlineTime !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.MaintenanceSchedule.scheduleDeadlineTime: object expected");
+ message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleDeadlineTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MaintenanceSchedule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {google.cloud.redis.v1beta1.MaintenanceSchedule} message MaintenanceSchedule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MaintenanceSchedule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.startTime = null;
+ object.endTime = null;
+ object.canReschedule = false;
+ object.scheduleDeadlineTime = null;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.canReschedule != null && message.hasOwnProperty("canReschedule"))
+ object.canReschedule = message.canReschedule;
+ if (message.scheduleDeadlineTime != null && message.hasOwnProperty("scheduleDeadlineTime"))
+ object.scheduleDeadlineTime = $root.google.protobuf.Timestamp.toObject(message.scheduleDeadlineTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this MaintenanceSchedule to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MaintenanceSchedule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MaintenanceSchedule
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.MaintenanceSchedule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MaintenanceSchedule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.MaintenanceSchedule";
+ };
+
+ return MaintenanceSchedule;
+ })();
+
+ v1beta1.ListInstancesRequest = (function() {
+
+ /**
+ * Properties of a ListInstancesRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IListInstancesRequest
+ * @property {string|null} [parent] ListInstancesRequest parent
+ * @property {number|null} [pageSize] ListInstancesRequest pageSize
+ * @property {string|null} [pageToken] ListInstancesRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListInstancesRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a ListInstancesRequest.
+ * @implements IListInstancesRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IListInstancesRequest=} [properties] Properties to set
+ */
+ function ListInstancesRequest(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]];
+ }
+
+ /**
+ * ListInstancesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @instance
+ */
+ ListInstancesRequest.prototype.parent = "";
+
+ /**
+ * ListInstancesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @instance
+ */
+ ListInstancesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListInstancesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @instance
+ */
+ ListInstancesRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListInstancesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IListInstancesRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.ListInstancesRequest} ListInstancesRequest instance
+ */
+ ListInstancesRequest.create = function create(properties) {
+ return new ListInstancesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListInstancesRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IListInstancesRequest} message ListInstancesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListInstancesRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IListInstancesRequest} message ListInstancesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.ListInstancesRequest} ListInstancesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesRequest.decode = function 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.redis.v1beta1.ListInstancesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListInstancesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.ListInstancesRequest} ListInstancesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListInstancesRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListInstancesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListInstancesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.ListInstancesRequest} ListInstancesRequest
+ */
+ ListInstancesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.ListInstancesRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.ListInstancesRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListInstancesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.ListInstancesRequest} message ListInstancesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListInstancesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListInstancesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListInstancesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListInstancesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.ListInstancesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListInstancesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.ListInstancesRequest";
+ };
+
+ return ListInstancesRequest;
+ })();
+
+ v1beta1.ListInstancesResponse = (function() {
+
+ /**
+ * Properties of a ListInstancesResponse.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IListInstancesResponse
+ * @property {Array.|null} [instances] ListInstancesResponse instances
+ * @property {string|null} [nextPageToken] ListInstancesResponse nextPageToken
+ * @property {Array.|null} [unreachable] ListInstancesResponse unreachable
+ */
+
+ /**
+ * Constructs a new ListInstancesResponse.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a ListInstancesResponse.
+ * @implements IListInstancesResponse
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IListInstancesResponse=} [properties] Properties to set
+ */
+ function ListInstancesResponse(properties) {
+ this.instances = [];
+ this.unreachable = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListInstancesResponse instances.
+ * @member {Array.} instances
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @instance
+ */
+ ListInstancesResponse.prototype.instances = $util.emptyArray;
+
+ /**
+ * ListInstancesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @instance
+ */
+ ListInstancesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListInstancesResponse unreachable.
+ * @member {Array.} unreachable
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @instance
+ */
+ ListInstancesResponse.prototype.unreachable = $util.emptyArray;
+
+ /**
+ * Creates a new ListInstancesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1beta1.IListInstancesResponse=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.ListInstancesResponse} ListInstancesResponse instance
+ */
+ ListInstancesResponse.create = function create(properties) {
+ return new ListInstancesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListInstancesResponse message. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1beta1.IListInstancesResponse} message ListInstancesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.instances != null && message.instances.length)
+ for (var i = 0; i < message.instances.length; ++i)
+ $root.google.cloud.redis.v1beta1.Instance.encode(message.instances[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.unreachable != null && message.unreachable.length)
+ for (var i = 0; i < message.unreachable.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.unreachable[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListInstancesResponse message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.ListInstancesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1beta1.IListInstancesResponse} message ListInstancesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListInstancesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.ListInstancesResponse} ListInstancesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesResponse.decode = function 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.redis.v1beta1.ListInstancesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.instances && message.instances.length))
+ message.instances = [];
+ message.instances.push($root.google.cloud.redis.v1beta1.Instance.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.unreachable && message.unreachable.length))
+ message.unreachable = [];
+ message.unreachable.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListInstancesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.ListInstancesResponse} ListInstancesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListInstancesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListInstancesResponse message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListInstancesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.instances != null && message.hasOwnProperty("instances")) {
+ if (!Array.isArray(message.instances))
+ return "instances: array expected";
+ for (var i = 0; i < message.instances.length; ++i) {
+ var error = $root.google.cloud.redis.v1beta1.Instance.verify(message.instances[i]);
+ if (error)
+ return "instances." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.unreachable != null && message.hasOwnProperty("unreachable")) {
+ if (!Array.isArray(message.unreachable))
+ return "unreachable: array expected";
+ for (var i = 0; i < message.unreachable.length; ++i)
+ if (!$util.isString(message.unreachable[i]))
+ return "unreachable: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListInstancesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.ListInstancesResponse} ListInstancesResponse
+ */
+ ListInstancesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.ListInstancesResponse)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.ListInstancesResponse();
+ if (object.instances) {
+ if (!Array.isArray(object.instances))
+ throw TypeError(".google.cloud.redis.v1beta1.ListInstancesResponse.instances: array expected");
+ message.instances = [];
+ for (var i = 0; i < object.instances.length; ++i) {
+ if (typeof object.instances[i] !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.ListInstancesResponse.instances: object expected");
+ message.instances[i] = $root.google.cloud.redis.v1beta1.Instance.fromObject(object.instances[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.unreachable) {
+ if (!Array.isArray(object.unreachable))
+ throw TypeError(".google.cloud.redis.v1beta1.ListInstancesResponse.unreachable: array expected");
+ message.unreachable = [];
+ for (var i = 0; i < object.unreachable.length; ++i)
+ message.unreachable[i] = String(object.unreachable[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListInstancesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {google.cloud.redis.v1beta1.ListInstancesResponse} message ListInstancesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListInstancesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.instances = [];
+ object.unreachable = [];
+ }
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.instances && message.instances.length) {
+ object.instances = [];
+ for (var j = 0; j < message.instances.length; ++j)
+ object.instances[j] = $root.google.cloud.redis.v1beta1.Instance.toObject(message.instances[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.unreachable && message.unreachable.length) {
+ object.unreachable = [];
+ for (var j = 0; j < message.unreachable.length; ++j)
+ object.unreachable[j] = message.unreachable[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListInstancesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListInstancesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListInstancesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.ListInstancesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListInstancesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.ListInstancesResponse";
+ };
+
+ return ListInstancesResponse;
+ })();
+
+ v1beta1.GetInstanceRequest = (function() {
+
+ /**
+ * Properties of a GetInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IGetInstanceRequest
+ * @property {string|null} [name] GetInstanceRequest name
+ */
+
+ /**
+ * Constructs a new GetInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a GetInstanceRequest.
+ * @implements IGetInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IGetInstanceRequest=} [properties] Properties to set
+ */
+ function GetInstanceRequest(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]];
+ }
+
+ /**
+ * GetInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @instance
+ */
+ GetInstanceRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IGetInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.GetInstanceRequest} GetInstanceRequest instance
+ */
+ GetInstanceRequest.create = function create(properties) {
+ return new GetInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IGetInstanceRequest} message GetInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IGetInstanceRequest} message GetInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.GetInstanceRequest} GetInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceRequest.decode = function 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.redis.v1beta1.GetInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.GetInstanceRequest} GetInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetInstanceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.GetInstanceRequest} GetInstanceRequest
+ */
+ GetInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.GetInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.GetInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.GetInstanceRequest} message GetInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.GetInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.GetInstanceRequest";
+ };
+
+ return GetInstanceRequest;
+ })();
+
+ v1beta1.GetInstanceAuthStringRequest = (function() {
+
+ /**
+ * Properties of a GetInstanceAuthStringRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IGetInstanceAuthStringRequest
+ * @property {string|null} [name] GetInstanceAuthStringRequest name
+ */
+
+ /**
+ * Constructs a new GetInstanceAuthStringRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a GetInstanceAuthStringRequest.
+ * @implements IGetInstanceAuthStringRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest=} [properties] Properties to set
+ */
+ function GetInstanceAuthStringRequest(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]];
+ }
+
+ /**
+ * GetInstanceAuthStringRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @instance
+ */
+ GetInstanceAuthStringRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetInstanceAuthStringRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest instance
+ */
+ GetInstanceAuthStringRequest.create = function create(properties) {
+ return new GetInstanceAuthStringRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest} message GetInstanceAuthStringRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceAuthStringRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetInstanceAuthStringRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.GetInstanceAuthStringRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IGetInstanceAuthStringRequest} message GetInstanceAuthStringRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetInstanceAuthStringRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceAuthStringRequest.decode = function 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.redis.v1beta1.GetInstanceAuthStringRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetInstanceAuthStringRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetInstanceAuthStringRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetInstanceAuthStringRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetInstanceAuthStringRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetInstanceAuthStringRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.GetInstanceAuthStringRequest} GetInstanceAuthStringRequest
+ */
+ GetInstanceAuthStringRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.GetInstanceAuthStringRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.GetInstanceAuthStringRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetInstanceAuthStringRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.GetInstanceAuthStringRequest} message GetInstanceAuthStringRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetInstanceAuthStringRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetInstanceAuthStringRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetInstanceAuthStringRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetInstanceAuthStringRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.GetInstanceAuthStringRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetInstanceAuthStringRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.GetInstanceAuthStringRequest";
+ };
+
+ return GetInstanceAuthStringRequest;
+ })();
+
+ v1beta1.InstanceAuthString = (function() {
+
+ /**
+ * Properties of an InstanceAuthString.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IInstanceAuthString
+ * @property {string|null} [authString] InstanceAuthString authString
+ */
+
+ /**
+ * Constructs a new InstanceAuthString.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents an InstanceAuthString.
+ * @implements IInstanceAuthString
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IInstanceAuthString=} [properties] Properties to set
+ */
+ function InstanceAuthString(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]];
+ }
+
+ /**
+ * InstanceAuthString authString.
+ * @member {string} authString
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @instance
+ */
+ InstanceAuthString.prototype.authString = "";
+
+ /**
+ * Creates a new InstanceAuthString instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1beta1.IInstanceAuthString=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.InstanceAuthString} InstanceAuthString instance
+ */
+ InstanceAuthString.create = function create(properties) {
+ return new InstanceAuthString(properties);
+ };
+
+ /**
+ * Encodes the specified InstanceAuthString message. Does not implicitly {@link google.cloud.redis.v1beta1.InstanceAuthString.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1beta1.IInstanceAuthString} message InstanceAuthString message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InstanceAuthString.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.authString != null && Object.hasOwnProperty.call(message, "authString"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.authString);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InstanceAuthString message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.InstanceAuthString.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1beta1.IInstanceAuthString} message InstanceAuthString message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InstanceAuthString.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.InstanceAuthString} InstanceAuthString
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InstanceAuthString.decode = function 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.redis.v1beta1.InstanceAuthString();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.authString = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InstanceAuthString message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.InstanceAuthString} InstanceAuthString
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InstanceAuthString.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InstanceAuthString message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InstanceAuthString.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.authString != null && message.hasOwnProperty("authString"))
+ if (!$util.isString(message.authString))
+ return "authString: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an InstanceAuthString message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.InstanceAuthString} InstanceAuthString
+ */
+ InstanceAuthString.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.InstanceAuthString)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.InstanceAuthString();
+ if (object.authString != null)
+ message.authString = String(object.authString);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InstanceAuthString message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {google.cloud.redis.v1beta1.InstanceAuthString} message InstanceAuthString
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InstanceAuthString.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.authString = "";
+ if (message.authString != null && message.hasOwnProperty("authString"))
+ object.authString = message.authString;
+ return object;
+ };
+
+ /**
+ * Converts this InstanceAuthString to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InstanceAuthString.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for InstanceAuthString
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.InstanceAuthString
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ InstanceAuthString.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.InstanceAuthString";
+ };
+
+ return InstanceAuthString;
+ })();
+
+ v1beta1.CreateInstanceRequest = (function() {
+
+ /**
+ * Properties of a CreateInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface ICreateInstanceRequest
+ * @property {string|null} [parent] CreateInstanceRequest parent
+ * @property {string|null} [instanceId] CreateInstanceRequest instanceId
+ * @property {google.cloud.redis.v1beta1.IInstance|null} [instance] CreateInstanceRequest instance
+ */
+
+ /**
+ * Constructs a new CreateInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a CreateInstanceRequest.
+ * @implements ICreateInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.ICreateInstanceRequest=} [properties] Properties to set
+ */
+ function CreateInstanceRequest(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]];
+ }
+
+ /**
+ * CreateInstanceRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @instance
+ */
+ CreateInstanceRequest.prototype.parent = "";
+
+ /**
+ * CreateInstanceRequest instanceId.
+ * @member {string} instanceId
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @instance
+ */
+ CreateInstanceRequest.prototype.instanceId = "";
+
+ /**
+ * CreateInstanceRequest instance.
+ * @member {google.cloud.redis.v1beta1.IInstance|null|undefined} instance
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @instance
+ */
+ CreateInstanceRequest.prototype.instance = null;
+
+ /**
+ * Creates a new CreateInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.ICreateInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.CreateInstanceRequest} CreateInstanceRequest instance
+ */
+ CreateInstanceRequest.create = function create(properties) {
+ return new CreateInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.CreateInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.ICreateInstanceRequest} message CreateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.instanceId != null && Object.hasOwnProperty.call(message, "instanceId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.instanceId);
+ if (message.instance != null && Object.hasOwnProperty.call(message, "instance"))
+ $root.google.cloud.redis.v1beta1.Instance.encode(message.instance, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.CreateInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.ICreateInstanceRequest} message CreateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.CreateInstanceRequest} CreateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateInstanceRequest.decode = function 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.redis.v1beta1.CreateInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.instanceId = reader.string();
+ break;
+ }
+ case 3: {
+ message.instance = $root.google.cloud.redis.v1beta1.Instance.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.CreateInstanceRequest} CreateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateInstanceRequest.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.instanceId != null && message.hasOwnProperty("instanceId"))
+ if (!$util.isString(message.instanceId))
+ return "instanceId: string expected";
+ if (message.instance != null && message.hasOwnProperty("instance")) {
+ var error = $root.google.cloud.redis.v1beta1.Instance.verify(message.instance);
+ if (error)
+ return "instance." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.CreateInstanceRequest} CreateInstanceRequest
+ */
+ CreateInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.CreateInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.CreateInstanceRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.instanceId != null)
+ message.instanceId = String(object.instanceId);
+ if (object.instance != null) {
+ if (typeof object.instance !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.CreateInstanceRequest.instance: object expected");
+ message.instance = $root.google.cloud.redis.v1beta1.Instance.fromObject(object.instance);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.CreateInstanceRequest} message CreateInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.instanceId = "";
+ object.instance = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.instanceId != null && message.hasOwnProperty("instanceId"))
+ object.instanceId = message.instanceId;
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ object.instance = $root.google.cloud.redis.v1beta1.Instance.toObject(message.instance, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.CreateInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.CreateInstanceRequest";
+ };
+
+ return CreateInstanceRequest;
+ })();
+
+ v1beta1.UpdateInstanceRequest = (function() {
+
+ /**
+ * Properties of an UpdateInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IUpdateInstanceRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateInstanceRequest updateMask
+ * @property {google.cloud.redis.v1beta1.IInstance|null} [instance] UpdateInstanceRequest instance
+ */
+
+ /**
+ * Constructs a new UpdateInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents an UpdateInstanceRequest.
+ * @implements IUpdateInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IUpdateInstanceRequest=} [properties] Properties to set
+ */
+ function UpdateInstanceRequest(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]];
+ }
+
+ /**
+ * UpdateInstanceRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @instance
+ */
+ UpdateInstanceRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateInstanceRequest instance.
+ * @member {google.cloud.redis.v1beta1.IInstance|null|undefined} instance
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @instance
+ */
+ UpdateInstanceRequest.prototype.instance = null;
+
+ /**
+ * Creates a new UpdateInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IUpdateInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.UpdateInstanceRequest} UpdateInstanceRequest instance
+ */
+ UpdateInstanceRequest.create = function create(properties) {
+ return new UpdateInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.UpdateInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IUpdateInstanceRequest} message UpdateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.instance != null && Object.hasOwnProperty.call(message, "instance"))
+ $root.google.cloud.redis.v1beta1.Instance.encode(message.instance, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.UpdateInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IUpdateInstanceRequest} message UpdateInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.UpdateInstanceRequest} UpdateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateInstanceRequest.decode = function 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.redis.v1beta1.UpdateInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.instance = $root.google.cloud.redis.v1beta1.Instance.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.UpdateInstanceRequest} UpdateInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateInstanceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ if (message.instance != null && message.hasOwnProperty("instance")) {
+ var error = $root.google.cloud.redis.v1beta1.Instance.verify(message.instance);
+ if (error)
+ return "instance." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.UpdateInstanceRequest} UpdateInstanceRequest
+ */
+ UpdateInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.UpdateInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.UpdateInstanceRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.UpdateInstanceRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.instance != null) {
+ if (typeof object.instance !== "object")
+ throw TypeError(".google.cloud.redis.v1beta1.UpdateInstanceRequest.instance: object expected");
+ message.instance = $root.google.cloud.redis.v1beta1.Instance.fromObject(object.instance);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.UpdateInstanceRequest} message UpdateInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.instance = null;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.instance != null && message.hasOwnProperty("instance"))
+ object.instance = $root.google.cloud.redis.v1beta1.Instance.toObject(message.instance, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.UpdateInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.UpdateInstanceRequest";
+ };
+
+ return UpdateInstanceRequest;
+ })();
+
+ v1beta1.UpgradeInstanceRequest = (function() {
+
+ /**
+ * Properties of an UpgradeInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IUpgradeInstanceRequest
+ * @property {string|null} [name] UpgradeInstanceRequest name
+ * @property {string|null} [redisVersion] UpgradeInstanceRequest redisVersion
+ */
+
+ /**
+ * Constructs a new UpgradeInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents an UpgradeInstanceRequest.
+ * @implements IUpgradeInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IUpgradeInstanceRequest=} [properties] Properties to set
+ */
+ function UpgradeInstanceRequest(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]];
+ }
+
+ /**
+ * UpgradeInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @instance
+ */
+ UpgradeInstanceRequest.prototype.name = "";
+
+ /**
+ * UpgradeInstanceRequest redisVersion.
+ * @member {string} redisVersion
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @instance
+ */
+ UpgradeInstanceRequest.prototype.redisVersion = "";
+
+ /**
+ * Creates a new UpgradeInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IUpgradeInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.UpgradeInstanceRequest} UpgradeInstanceRequest instance
+ */
+ UpgradeInstanceRequest.create = function create(properties) {
+ return new UpgradeInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.UpgradeInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IUpgradeInstanceRequest} message UpgradeInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpgradeInstanceRequest.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.redisVersion != null && Object.hasOwnProperty.call(message, "redisVersion"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.redisVersion);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpgradeInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.UpgradeInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IUpgradeInstanceRequest} message UpgradeInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpgradeInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.UpgradeInstanceRequest} UpgradeInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpgradeInstanceRequest.decode = function 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.redis.v1beta1.UpgradeInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.redisVersion = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpgradeInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.UpgradeInstanceRequest} UpgradeInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpgradeInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpgradeInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpgradeInstanceRequest.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.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ if (!$util.isString(message.redisVersion))
+ return "redisVersion: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UpgradeInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.UpgradeInstanceRequest} UpgradeInstanceRequest
+ */
+ UpgradeInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.UpgradeInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.UpgradeInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.redisVersion != null)
+ message.redisVersion = String(object.redisVersion);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpgradeInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.UpgradeInstanceRequest} message UpgradeInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpgradeInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.redisVersion = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.redisVersion != null && message.hasOwnProperty("redisVersion"))
+ object.redisVersion = message.redisVersion;
+ return object;
+ };
+
+ /**
+ * Converts this UpgradeInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpgradeInstanceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpgradeInstanceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.redis.v1beta1.UpgradeInstanceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpgradeInstanceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.redis.v1beta1.UpgradeInstanceRequest";
+ };
+
+ return UpgradeInstanceRequest;
+ })();
+
+ v1beta1.DeleteInstanceRequest = (function() {
+
+ /**
+ * Properties of a DeleteInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @interface IDeleteInstanceRequest
+ * @property {string|null} [name] DeleteInstanceRequest name
+ */
+
+ /**
+ * Constructs a new DeleteInstanceRequest.
+ * @memberof google.cloud.redis.v1beta1
+ * @classdesc Represents a DeleteInstanceRequest.
+ * @implements IDeleteInstanceRequest
+ * @constructor
+ * @param {google.cloud.redis.v1beta1.IDeleteInstanceRequest=} [properties] Properties to set
+ */
+ function DeleteInstanceRequest(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]];
+ }
+
+ /**
+ * DeleteInstanceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @instance
+ */
+ DeleteInstanceRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteInstanceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IDeleteInstanceRequest=} [properties] Properties to set
+ * @returns {google.cloud.redis.v1beta1.DeleteInstanceRequest} DeleteInstanceRequest instance
+ */
+ DeleteInstanceRequest.create = function create(properties) {
+ return new DeleteInstanceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message. Does not implicitly {@link google.cloud.redis.v1beta1.DeleteInstanceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IDeleteInstanceRequest} message DeleteInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteInstanceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.redis.v1beta1.DeleteInstanceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.IDeleteInstanceRequest} message DeleteInstanceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteInstanceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.redis.v1beta1.DeleteInstanceRequest} DeleteInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteInstanceRequest.decode = function 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.redis.v1beta1.DeleteInstanceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteInstanceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.redis.v1beta1.DeleteInstanceRequest} DeleteInstanceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteInstanceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteInstanceRequest message.
+ * @function verify
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteInstanceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteInstanceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.redis.v1beta1.DeleteInstanceRequest} DeleteInstanceRequest
+ */
+ DeleteInstanceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.redis.v1beta1.DeleteInstanceRequest)
+ return object;
+ var message = new $root.google.cloud.redis.v1beta1.DeleteInstanceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteInstanceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @static
+ * @param {google.cloud.redis.v1beta1.DeleteInstanceRequest} message DeleteInstanceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteInstanceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteInstanceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.redis.v1beta1.DeleteInstanceRequest
+ * @instance
+ * @returns {Object.