diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index c3feaa284d2..c38b0a70276 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -22,6 +22,7 @@
"packages/google-cloud-gkemulticloud": "0.1.4",
"packages/google-cloud-language": "5.1.2",
"packages/google-cloud-memcache": "2.1.4",
+ "packages/google-cloud-monitoring": "3.0.3",
"packages/google-cloud-oslogin": "4.0.4",
"packages/google-cloud-phishingprotection": "3.0.6",
"packages/google-cloud-policytroubleshooter": "2.0.6",
diff --git a/packages/google-cloud-monitoring/.OwlBot.yaml b/packages/google-cloud-monitoring/.OwlBot.yaml
new file mode 100644
index 00000000000..61c518e89e9
--- /dev/null
+++ b/packages/google-cloud-monitoring/.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/monitoring/(v.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-monitoring/$1
+
+begin-after-commit-hash: ed3195d0a29ae8c2608dc5a2aa2590554a3f9d14
+
diff --git a/packages/google-cloud-monitoring/.eslintignore b/packages/google-cloud-monitoring/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-monitoring/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-monitoring/.eslintrc.json b/packages/google-cloud-monitoring/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-monitoring/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-monitoring/.gitattributes b/packages/google-cloud-monitoring/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-monitoring/.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-monitoring/.gitignore b/packages/google-cloud-monitoring/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-monitoring/.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-monitoring/.jsdoc.js b/packages/google-cloud-monitoring/.jsdoc.js
new file mode 100644
index 00000000000..4c8fbdf61b0
--- /dev/null
+++ b/packages/google-cloud-monitoring/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** 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 2021 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/monitoring',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-monitoring/.mocharc.js b/packages/google-cloud-monitoring/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-monitoring/.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-monitoring/.nycrc b/packages/google-cloud-monitoring/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-monitoring/.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-monitoring/.prettierignore b/packages/google-cloud-monitoring/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-monitoring/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-monitoring/.prettierrc.js b/packages/google-cloud-monitoring/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-monitoring/.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-monitoring/.readme-partials.yml b/packages/google-cloud-monitoring/.readme-partials.yml
new file mode 100644
index 00000000000..7d23bee5856
--- /dev/null
+++ b/packages/google-cloud-monitoring/.readme-partials.yml
@@ -0,0 +1,4 @@
+introduction: |-
+ [Stackdriver Monitoring](https://cloud.google.com/monitoring/docs) collects metrics, events, and metadata from
+ Google Cloud Platform, Amazon Web Services (AWS), hosted uptime probes, application instrumentation,
+ and a variety of common application components including Cassandra, Nginx, Apache Web Server, Elasticsearch and many others.
diff --git a/packages/google-cloud-monitoring/.repo-metadata.json b/packages/google-cloud-monitoring/.repo-metadata.json
new file mode 100644
index 00000000000..537daec5c13
--- /dev/null
+++ b/packages/google-cloud-monitoring/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/monitoring/latest",
+ "product_documentation": "https://cloud.google.com/monitoring/docs",
+ "name": "monitoring",
+ "requires_billing": true,
+ "release_level": "stable",
+ "language": "nodejs",
+ "api_id": "monitoring.googleapis.com",
+ "distribution_name": "@google-cloud/monitoring",
+ "repo": "googleapis/google-cloud-node",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/559785",
+ "name_pretty": "Stackdriver Monitoring",
+ "default_version": "v3",
+ "api_shortname": "monitoring",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-monitoring/CHANGELOG.md b/packages/google-cloud-monitoring/CHANGELOG.md
new file mode 100644
index 00000000000..72a95cc0381
--- /dev/null
+++ b/packages/google-cloud-monitoring/CHANGELOG.md
@@ -0,0 +1,498 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/@google-cloud/monitoring?activeTab=versions
+
+## [3.0.3](https://github.com/googleapis/nodejs-monitoring/compare/v3.0.2...v3.0.3) (2022-11-11)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#647](https://github.com/googleapis/nodejs-monitoring/issues/647)) ([bb6a564](https://github.com/googleapis/nodejs-monitoring/commit/bb6a56486913d06994b3e8c3f1ecd6f9ab38f3db))
+* update proto definitions ([28c9ff7](https://github.com/googleapis/nodejs-monitoring/commit/28c9ff76f052f1f1232ea98ba1be0cca7f5f9826))
+* Update proto definitions([#651](https://github.com/googleapis/nodejs-monitoring/issues/651)) ([28c9ff7](https://github.com/googleapis/nodejs-monitoring/commit/28c9ff76f052f1f1232ea98ba1be0cca7f5f9826))
+
+## [3.0.2](https://github.com/googleapis/nodejs-monitoring/compare/v3.0.1...v3.0.2) (2022-09-09)
+
+
+### Bug Fixes
+
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-monitoring/issues/1553)) ([#627](https://github.com/googleapis/nodejs-monitoring/issues/627)) ([647e8ab](https://github.com/googleapis/nodejs-monitoring/commit/647e8abda29928143953929c3ef0113ea88e9e9c))
+* use google-gax v3.3.0 ([647e8ab](https://github.com/googleapis/nodejs-monitoring/commit/647e8abda29928143953929c3ef0113ea88e9e9c))
+
+## [3.0.1](https://github.com/googleapis/nodejs-monitoring/compare/v3.0.0...v3.0.1) (2022-08-23)
+
+
+### Bug Fixes
+
+* change import long to require ([#624](https://github.com/googleapis/nodejs-monitoring/issues/624)) ([5cd302e](https://github.com/googleapis/nodejs-monitoring/commit/5cd302e9bb803ce2b2da844faaccacadac73f833))
+* remove pip install statements ([#1546](https://github.com/googleapis/nodejs-monitoring/issues/1546)) ([#626](https://github.com/googleapis/nodejs-monitoring/issues/626)) ([7f1f9c6](https://github.com/googleapis/nodejs-monitoring/commit/7f1f9c6f226c9abc48d9da4d6a452312ce3085d2))
+
+## [3.0.0](https://github.com/googleapis/nodejs-monitoring/compare/v2.3.5...v3.0.0) (2022-05-20)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#617)
+
+### Build System
+
+* update library to use Node 12 ([#617](https://github.com/googleapis/nodejs-monitoring/issues/617)) ([965e533](https://github.com/googleapis/nodejs-monitoring/commit/965e5333b6a0561e9147ab940ff1a582207e91ff))
+
+### [2.3.5](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.3.4...v2.3.5) (2021-09-08)
+
+
+### Bug Fixes
+
+* **build:** update branch to main ([#574](https://www.github.com/googleapis/nodejs-monitoring/issues/574)) ([955622f](https://www.github.com/googleapis/nodejs-monitoring/commit/955622f40583247a78301340fc172c9d42fa1354))
+
+### [2.3.4](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.3.3...v2.3.4) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#570](https://www.github.com/googleapis/nodejs-monitoring/issues/570)) ([368febb](https://www.github.com/googleapis/nodejs-monitoring/commit/368febba05606ccb71cdee0efc75255acac7d75d))
+
+### [2.3.3](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.3.2...v2.3.3) (2021-07-16)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.17.1 ([#558](https://www.github.com/googleapis/nodejs-monitoring/issues/558)) ([e15ade6](https://www.github.com/googleapis/nodejs-monitoring/commit/e15ade6476338ada88e31fe07f480d73739073ad))
+
+### [2.3.3](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.3.2...v2.3.3) (2021-07-16)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.17.1 ([#558](https://www.github.com/googleapis/nodejs-monitoring/issues/558)) ([e15ade6](https://www.github.com/googleapis/nodejs-monitoring/commit/e15ade6476338ada88e31fe07f480d73739073ad))
+
+### [2.3.2](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.3.1...v2.3.2) (2021-06-29)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#552](https://www.github.com/googleapis/nodejs-monitoring/issues/552)) ([43c9ddd](https://www.github.com/googleapis/nodejs-monitoring/commit/43c9dddbd75668da5e7c0b2608346e8f04402e7e))
+
+### [2.3.1](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.3.0...v2.3.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#534](https://www.github.com/googleapis/nodejs-monitoring/issues/534)) ([ce7e9e1](https://www.github.com/googleapis/nodejs-monitoring/commit/ce7e9e1b7527fc1a4b55960596237e4cd2c43e3b))
+
+## [2.3.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.2.0...v2.3.0) (2021-03-24)
+
+
+### Features
+
+* Added support for Monitoring Query Language: https://cloud.google.com/monitoring/mql feat: Added support for units in the MetricService feat: Added total_size to the response of ListAlertPolicies. fix: Un-deprecated cluster_istio for service monitoring. feat: Added IstioCanonicalService for service monitoring. feat: Added creation and mutation records to notification channels. feat: Added support for querying metrics for folders and organizations. fix: Extended the default deadline for UpdateGroup to 180s. feat: Added support for secondary aggregation when querying metrics. ([#523](https://www.github.com/googleapis/nodejs-monitoring/issues/523)) ([cab3fdb](https://www.github.com/googleapis/nodejs-monitoring/commit/cab3fdb02c41149ae40e3a28987bb7ffeed050ac))
+
+## [2.2.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.1.5...v2.2.0) (2021-01-09)
+
+
+### Features
+
+* adds style enumeration ([#513](https://www.github.com/googleapis/nodejs-monitoring/issues/513)) ([2ca2169](https://www.github.com/googleapis/nodejs-monitoring/commit/2ca2169553c90a588cc8c7374d4790da3bf122f2))
+
+### [2.1.5](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.1.4...v2.1.5) (2021-01-07)
+
+
+### Bug Fixes
+
+* update alert policies one at a time because (concurrent updates are not supported) ([#507](https://www.github.com/googleapis/nodejs-monitoring/issues/507)) ([2bf75a2](https://www.github.com/googleapis/nodejs-monitoring/commit/2bf75a2294f82d3b75e0ee3d44c91b0b8e5ec358))
+
+### [2.1.4](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.1.3...v2.1.4) (2020-11-25)
+
+
+### Bug Fixes
+
+* **browser:** check for fetch on window ([#501](https://www.github.com/googleapis/nodejs-monitoring/issues/501)) ([a923606](https://www.github.com/googleapis/nodejs-monitoring/commit/a9236060fdd4516e5f3fa31a5bf76895ad8bf6c1))
+
+### [2.1.3](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.1.2...v2.1.3) (2020-11-07)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#497](https://www.github.com/googleapis/nodejs-monitoring/issues/497)) ([447cfce](https://www.github.com/googleapis/nodejs-monitoring/commit/447cfce75ed11d66e254d72d105252e8b0ed0a3c))
+
+### [2.1.2](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.1.1...v2.1.2) (2020-09-12)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v16 ([#480](https://www.github.com/googleapis/nodejs-monitoring/issues/480)) ([188c55a](https://www.github.com/googleapis/nodejs-monitoring/commit/188c55a4126fbf2180fa116985bf3cbdd3c46ce8))
+
+### [2.1.1](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.1.0...v2.1.1) (2020-07-24)
+
+
+### Bug Fixes
+
+* move gitattributes files to node templates ([#464](https://www.github.com/googleapis/nodejs-monitoring/issues/464)) ([db2d19d](https://www.github.com/googleapis/nodejs-monitoring/commit/db2d19d9170eb10d8f2c779589e623222991d393))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v2.0.0...v2.1.0) (2020-06-18)
+
+
+### Features
+
+* move ts target to es2018 from es2016 ([#440](https://www.github.com/googleapis/nodejs-monitoring/issues/440)) ([f57200d](https://www.github.com/googleapis/nodejs-monitoring/commit/f57200d611a52fe1ba4c3646978f3034ee6df412))
+
+
+### Bug Fixes
+
+* proper fallback option handling ([81f52b7](https://www.github.com/googleapis/nodejs-monitoring/commit/81f52b7a697ac4f953644a81ad13aaff4b19570f))
+* update node issue template ([#447](https://www.github.com/googleapis/nodejs-monitoring/issues/447)) ([5f08bf8](https://www.github.com/googleapis/nodejs-monitoring/commit/5f08bf88f8caa969800582d6eb408759ba240278))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.7.0...v2.0.0) (2020-05-08)
+
+
+### ⚠ BREAKING CHANGES
+
+* Drop support for TimeSeriesQueryLanguageCondition as an alert condition type
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+* monitoring convert to typescript (#360)
+
+### Features
+
+* deferred client initialization ([#378](https://www.github.com/googleapis/nodejs-monitoring/issues/378)) ([61eca6a](https://www.github.com/googleapis/nodejs-monitoring/commit/61eca6a6f4447fe5a8d30ee6c40034fb1f7bbb60))
+* drop node8 support, support for async iterators ([#396](https://www.github.com/googleapis/nodejs-monitoring/issues/396)) ([d65e8fb](https://www.github.com/googleapis/nodejs-monitoring/commit/d65e8fb8e8901d7023dba3c226a09ec3782fc0c5))
+* export protos in src/index.ts ([#369](https://www.github.com/googleapis/nodejs-monitoring/issues/369)) ([b0af4b1](https://www.github.com/googleapis/nodejs-monitoring/commit/b0af4b1b48254f91ec9aa9cead1ff0a6714a6393))
+* monitoring convert to typescript ([#360](https://www.github.com/googleapis/nodejs-monitoring/issues/360)) ([5bbd963](https://www.github.com/googleapis/nodejs-monitoring/commit/5bbd96307cc47066b00048e494bfa566ea58650d))
+* refresh monitoring client libraries ([#401](https://www.github.com/googleapis/nodejs-monitoring/issues/401)) ([efd6e6f](https://www.github.com/googleapis/nodejs-monitoring/commit/efd6e6f4e1596ba4e5a3ba63f12c868735d4c571))
+* Update public client library for Cloud Monitoring to introduce new Uptime check feature. Uptime HTTP(S) checks can now be GET or POST ([#425](https://www.github.com/googleapis/nodejs-monitoring/issues/425)) ([103afde](https://www.github.com/googleapis/nodejs-monitoring/commit/103afdedfc6a874f71f866c9e07ef8cbfa70fb8b))
+
+
+### Bug Fixes
+
+* regen protos and tests, formatting ([#429](https://www.github.com/googleapis/nodejs-monitoring/issues/429)) ([9e6afc8](https://www.github.com/googleapis/nodejs-monitoring/commit/9e6afc87cc0fcc323539f3bf8dc8e15d66c144b7))
+* remove eslint, update gax, fix generated protos, run the generator ([#415](https://www.github.com/googleapis/nodejs-monitoring/issues/415)) ([ed8d95e](https://www.github.com/googleapis/nodejs-monitoring/commit/ed8d95efec1820a41d893273443172e3fbd2781c))
+* synth.py clean up for multiple version ([#431](https://www.github.com/googleapis/nodejs-monitoring/issues/431)) ([4e0e5bb](https://www.github.com/googleapis/nodejs-monitoring/commit/4e0e5bb3c6bc2cb3f3a368c3199f605f24c21dda))
+* updated proto files with new proto annotations ([cf8cc77](https://www.github.com/googleapis/nodejs-monitoring/commit/cf8cc770ec5fa17874fd67df1469ffa3b2724628))
+
+
+### Code Refactoring
+
+* Drop support for TimeSeriesQueryLanguageCondition as an alert condition type ([866c028](https://www.github.com/googleapis/nodejs-monitoring/commit/866c0282ca2da53b0f9b42a2a1977446f7e368ae))
+
+## [1.7.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.6.1...v1.7.0) (2019-12-31)
+
+
+### Features
+
+* adds ContentMatcherOption ([#336](https://www.github.com/googleapis/nodejs-monitoring/issues/336)) ([003b8f7](https://www.github.com/googleapis/nodejs-monitoring/commit/003b8f7bc30c79b11aa393f0272e2554761707d4))
+
+### [1.6.1](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.6.0...v1.6.1) (2019-12-05)
+
+
+### Bug Fixes
+
+* **deps:** TypeScript 3.7.0 causes breaking change in typings ([#339](https://www.github.com/googleapis/nodejs-monitoring/issues/339)) ([3616df7](https://www.github.com/googleapis/nodejs-monitoring/commit/3616df79a5b23a0eae1bb899e7a6a4c45d7cee7e))
+* **deps:** update dependency yargs to v15 ([#333](https://www.github.com/googleapis/nodejs-monitoring/issues/333)) ([dd3ba97](https://www.github.com/googleapis/nodejs-monitoring/commit/dd3ba97f7506577c264f40353d403ac62ce9951b))
+* **docs:** bump release level to GA ([#335](https://www.github.com/googleapis/nodejs-monitoring/issues/335)) ([839a25b](https://www.github.com/googleapis/nodejs-monitoring/commit/839a25b443ec0c65ed18822f5ca305ab0737fa71))
+
+## [1.6.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.5.0...v1.6.0) (2019-11-15)
+
+
+### Features
+
+* add service api support ([#325](https://www.github.com/googleapis/nodejs-monitoring/issues/325)) ([dbc3680](https://www.github.com/googleapis/nodejs-monitoring/commit/dbc36809baeef4fe860da898face3d04103cca63))
+* Introduced detailed status message for CreateTimeSeries: CreateTimeSeriesSummary replaces CreateTimeSeriesError, which is now deprecated and unused ([46e0661](https://www.github.com/googleapis/nodejs-monitoring/commit/46e0661286f8b59c4124338477c5104cd1f5a099))
+
+
+### Bug Fixes
+
+* **docs:** snippets are now replaced in jsdoc comments ([#324](https://www.github.com/googleapis/nodejs-monitoring/issues/324)) ([6d81605](https://www.github.com/googleapis/nodejs-monitoring/commit/6d8160596340a0c3ee9f4540e505d3e329a532eb))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.4.0...v1.5.0) (2019-10-22)
+
+
+### Features
+
+* add is_internal option ([#312](https://www.github.com/googleapis/nodejs-monitoring/issues/312)) ([a2dbb0b](https://www.github.com/googleapis/nodejs-monitoring/commit/a2dbb0b8df925317f01a193038ad520f0c8c43e7))
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#313](https://www.github.com/googleapis/nodejs-monitoring/issues/313)) ([faf0efa](https://www.github.com/googleapis/nodejs-monitoring/commit/faf0efa5caa535d0cf16d10143a48a0c545e2074))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.3.0...v1.4.0) (2019-10-12)
+
+
+### Features
+
+* .d.ts for protos ([#298](https://www.github.com/googleapis/nodejs-monitoring/issues/298)) ([dc6e8a1](https://www.github.com/googleapis/nodejs-monitoring/commit/dc6e8a1b82b41638ad873ec35007415f602c8b0b))
+
+
+### Bug Fixes
+
+* update sample for enabling or disabling a policy ([#305](https://www.github.com/googleapis/nodejs-monitoring/issues/305)) ([fd84c71](https://www.github.com/googleapis/nodejs-monitoring/commit/fd84c71ab4511c11963c8480cda70117f78f8651))
+* use compatible version of google-gax ([c210d32](https://www.github.com/googleapis/nodejs-monitoring/commit/c210d320a392fb33e6a6779ae4d727a6970326da))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.2.3...v1.3.0) (2019-09-16)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v14 ([68a0867](https://www.github.com/googleapis/nodejs-monitoring/commit/68a0867))
+* include the correct version of node in a header ([#286](https://www.github.com/googleapis/nodejs-monitoring/issues/286)) ([0c758f9](https://www.github.com/googleapis/nodejs-monitoring/commit/0c758f9))
+
+
+### Features
+
+* load protos from JSON, grpc-fallback support ([435c5d0](https://www.github.com/googleapis/nodejs-monitoring/commit/435c5d0))
+* **GroupServiceClient:** support recursive option when deleting group ([#294](https://www.github.com/googleapis/nodejs-monitoring/issues/294)) ([f7749af](https://www.github.com/googleapis/nodejs-monitoring/commit/f7749af))
+
+### [1.2.3](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.2.2...v1.2.3) (2019-08-03)
+
+
+### Bug Fixes
+
+* allow calls with no request, add JSON proto ([3a8a89b](https://www.github.com/googleapis/nodejs-monitoring/commit/3a8a89b))
+
+### [1.2.2](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.2.1...v1.2.2) (2019-06-26)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#273](https://www.github.com/googleapis/nodejs-monitoring/issues/273)) ([d4056d6](https://www.github.com/googleapis/nodejs-monitoring/commit/d4056d6))
+
+### [1.2.1](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.2.0...v1.2.1) (2019-06-14)
+
+
+### Bug Fixes
+
+* **docs:** move to new client docs URL ([#269](https://www.github.com/googleapis/nodejs-monitoring/issues/269)) ([cba6442](https://www.github.com/googleapis/nodejs-monitoring/commit/cba6442))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.1.0...v1.2.0) (2019-06-06)
+
+
+### Features
+
+* add .repo-metadata for README generation ([#263](https://www.github.com/googleapis/nodejs-monitoring/issues/263)) ([d966bd6](https://www.github.com/googleapis/nodejs-monitoring/commit/d966bd6))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v1.0.0...v1.1.0) (2019-06-05)
+
+
+### Features
+
+* support apiEndpoint override in client constructor ([#265](https://www.github.com/googleapis/nodejs-monitoring/issues/265)) ([8a413bc](https://www.github.com/googleapis/nodejs-monitoring/commit/8a413bc))
+
+## [1.0.0](https://www.github.com/googleapis/nodejs-monitoring/compare/v0.7.1...v1.0.0) (2019-05-20)
+
+
+### ⚠ BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#241)
+
+### Bug Fixes
+
+* include 'x-goog-request-params' header in requests ([#233](https://www.github.com/googleapis/nodejs-monitoring/issues/233)) ([54733ef](https://www.github.com/googleapis/nodejs-monitoring/commit/54733ef))
+* **deps:** update dependency google-gax to ^0.26.0 ([#240](https://www.github.com/googleapis/nodejs-monitoring/issues/240)) ([da50ee8](https://www.github.com/googleapis/nodejs-monitoring/commit/da50ee8))
+* **deps:** update dependency google-gax to v1 ([#249](https://www.github.com/googleapis/nodejs-monitoring/issues/249)) ([896141a](https://www.github.com/googleapis/nodejs-monitoring/commit/896141a))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#241](https://www.github.com/googleapis/nodejs-monitoring/issues/241)) ([6e7587d](https://www.github.com/googleapis/nodejs-monitoring/commit/6e7587d))
+
+## v0.7.1
+
+03-13-2019 15:05 PDT
+
+### Bug Fixes
+- fix: throw on invalid credentials ([#216](https://github.com/googleapis/nodejs-monitoring/pull/216))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.25.0 ([#204](https://github.com/googleapis/nodejs-monitoring/pull/204))
+
+### Documentation
+- docs: update links in contrib guide ([#215](https://github.com/googleapis/nodejs-monitoring/pull/215))
+- docs: update contributing path in README ([#210](https://github.com/googleapis/nodejs-monitoring/pull/210))
+- docs: move CONTRIBUTING.md to root ([#209](https://github.com/googleapis/nodejs-monitoring/pull/209))
+- docs: add lint/fix example to contributing guide ([#206](https://github.com/googleapis/nodejs-monitoring/pull/206))
+
+### Internal / Testing Changes
+- refactor: update json import paths ([#224](https://github.com/googleapis/nodejs-monitoring/pull/224))
+- chore(deps): update dependency p-retry to v4 ([#223](https://github.com/googleapis/nodejs-monitoring/pull/223))
+- build: Add docuploader credentials to node publish jobs ([#221](https://github.com/googleapis/nodejs-monitoring/pull/221))
+- build: use node10 to run samples-test, system-test etc ([#220](https://github.com/googleapis/nodejs-monitoring/pull/220))
+- build: update release configuration
+- chore: update proto docs and code style
+- chore(deps): update dependency mocha to v6 ([#217](https://github.com/googleapis/nodejs-monitoring/pull/217))
+- refactor: update the generated code style ([#208](https://github.com/googleapis/nodejs-monitoring/pull/208))
+- build: use linkinator for docs test ([#214](https://github.com/googleapis/nodejs-monitoring/pull/214))
+- fix(deps): update dependency yargs to v13 ([#213](https://github.com/googleapis/nodejs-monitoring/pull/213))
+- build: create docs test npm scripts ([#212](https://github.com/googleapis/nodejs-monitoring/pull/212))
+- build: test using @grpc/grpc-js in CI ([#211](https://github.com/googleapis/nodejs-monitoring/pull/211))
+- chore(deps): update dependency eslint-config-prettier to v4 ([#203](https://github.com/googleapis/nodejs-monitoring/pull/203))
+- build: ignore googleapis.com in doc link check ([#201](https://github.com/googleapis/nodejs-monitoring/pull/201))
+- chore: update year in the license headers. ([#200](https://github.com/googleapis/nodejs-monitoring/pull/200))
+
+## v0.7.0
+
+01-15-2019 09:35 PST
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.23.0 ([#196](https://github.com/googleapis/nodejs-monitoring/pull/196))
+- refactor: remove unused deps
+
+### Documentation
+- doc: remove unused gRPC types
+- docs: add samples for channel notification ([#185](https://github.com/googleapis/nodejs-monitoring/pull/185))
+- docs: update readme badges ([#171](https://github.com/googleapis/nodejs-monitoring/pull/171))
+- docs(samples): convert samples to async/await, and use mocha for tests ([#146](https://github.com/googleapis/nodejs-monitoring/pull/146))
+- docs: update proto comments ([#159](https://github.com/googleapis/nodejs-monitoring/pull/159))
+- docs: fix link in changelog ([#132](https://github.com/googleapis/nodejs-monitoring/pull/132))
+
+### Internal / Testing Changes
+- build: check broken links in generated docs ([#194](https://github.com/googleapis/nodejs-monitoring/pull/194))
+- refactor: modernize and fix the sample tests ([#193](https://github.com/googleapis/nodejs-monitoring/pull/193))
+- chore: fix name of region tag ([#188](https://github.com/googleapis/nodejs-monitoring/pull/188))
+- chore: fix region tags ([#187](https://github.com/googleapis/nodejs-monitoring/pull/187))
+- chore(build): inject yoshi automation key ([#186](https://github.com/googleapis/nodejs-monitoring/pull/186))
+- chore: update nyc and eslint configs ([#184](https://github.com/googleapis/nodejs-monitoring/pull/184))
+- chore: fix publish.sh permission +x ([#182](https://github.com/googleapis/nodejs-monitoring/pull/182))
+- fix(build): fix Kokoro release script ([#181](https://github.com/googleapis/nodejs-monitoring/pull/181))
+- build: add Kokoro configs for autorelease ([#180](https://github.com/googleapis/nodejs-monitoring/pull/180))
+- chore: always nyc report before calling codecov ([#177](https://github.com/googleapis/nodejs-monitoring/pull/177))
+- chore: nyc ignore build/test by default ([#175](https://github.com/googleapis/nodejs-monitoring/pull/175))
+- chore: update license file ([#173](https://github.com/googleapis/nodejs-monitoring/pull/173))
+- fix(build): fix system key decryption ([#169](https://github.com/googleapis/nodejs-monitoring/pull/169))
+- chore: add a synth.metadata
+- test: fix failing tests due to leaks ([#163](https://github.com/googleapis/nodejs-monitoring/pull/163))
+- chore: update eslintignore config ([#160](https://github.com/googleapis/nodejs-monitoring/pull/160))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#158](https://github.com/googleapis/nodejs-monitoring/pull/158))
+- chore: drop contributors from multiple places ([#156](https://github.com/googleapis/nodejs-monitoring/pull/156))
+- chore: use latest npm on Windows ([#154](https://github.com/googleapis/nodejs-monitoring/pull/154))
+- chore: update CircleCI config ([#151](https://github.com/googleapis/nodejs-monitoring/pull/151))
+- chore: include build in eslintignore ([#148](https://github.com/googleapis/nodejs-monitoring/pull/148))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#143](https://github.com/googleapis/nodejs-monitoring/pull/143))
+- feat: run the generator
+- chore: update new issue templates
+- chore(build): fix the synth file and generation
+- chore: remove old issue template ([#140](https://github.com/googleapis/nodejs-monitoring/pull/140))
+- build: run tests on node11 ([#139](https://github.com/googleapis/nodejs-monitoring/pull/139))
+- chores(build): do not collect sponge.xml from windows builds ([#138](https://github.com/googleapis/nodejs-monitoring/pull/138))
+- chores(build): run codecov on continuous builds ([#137](https://github.com/googleapis/nodejs-monitoring/pull/137))
+- build: fix codecov uploading on Kokoro ([#134](https://github.com/googleapis/nodejs-monitoring/pull/134))
+- chore(deps): update dependency sinon to v7 ([#133](https://github.com/googleapis/nodejs-monitoring/pull/133))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#131](https://github.com/googleapis/nodejs-monitoring/pull/131))
+- test: remove appveyor config ([#127](https://github.com/googleapis/nodejs-monitoring/pull/127))
+- Fix failing sample tests ([#126](https://github.com/googleapis/nodejs-monitoring/pull/126))
+- Enable prefer-const in the eslint config ([#124](https://github.com/googleapis/nodejs-monitoring/pull/124))
+- Fix the linter ([#123](https://github.com/googleapis/nodejs-monitoring/pull/123))
+- Enable no-var in eslint ([#122](https://github.com/googleapis/nodejs-monitoring/pull/122))
+- run synth.py to fix system-test ([#117](https://github.com/googleapis/nodejs-monitoring/pull/117))
+- Retry npm install in CI ([#115](https://github.com/googleapis/nodejs-monitoring/pull/115))
+- Update CircleCI and Kokoro config ([#113](https://github.com/googleapis/nodejs-monitoring/pull/113))
+- chore(deps): update dependency nyc to v13 ([#111](https://github.com/googleapis/nodejs-monitoring/pull/111))
+- Update the CI config ([#109](https://github.com/googleapis/nodejs-monitoring/pull/109))
+- chore: make the CircleCI config consistent
+- fix(deps): update dependency @google-cloud/monitoring to ^0.6.0 ([#104](https://github.com/googleapis/nodejs-monitoring/pull/104))
+- chore(build): make the CircleCI config consistent
+- build: node templates ([#101](https://github.com/googleapis/nodejs-monitoring/pull/101))
+
+## v0.6.0
+
+01-14-2019 14:34 PST
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.23.0 ([#196](https://github.com/googleapis/nodejs-monitoring/pull/196))
+- refactor: remove unused deps
+
+### Documentation
+- docs: remove unused gRPC types
+- docs(samples): add samples for channel notification ([#185](https://github.com/googleapis/nodejs-monitoring/pull/185))
+- docs: update readme badges ([#171](https://github.com/googleapis/nodejs-monitoring/pull/171))
+- docs(samples): convert samples to async/await, and use mocha for tests ([#146](https://github.com/googleapis/nodejs-monitoring/pull/146))
+- docs: update proto comments ([#159](https://github.com/googleapis/nodejs-monitoring/pull/159))
+- docs: fix link in changelog ([#132](https://github.com/googleapis/nodejs-monitoring/pull/132))
+
+### Internal / Testing Changes
+- refactor: modernize and fix the sample tests ([#193](https://github.com/googleapis/nodejs-monitoring/pull/193))
+- chore: fix name of region tag ([#188](https://github.com/googleapis/nodejs-monitoring/pull/188))
+- chore: fix region tags ([#187](https://github.com/googleapis/nodejs-monitoring/pull/187))
+- chore(build): inject yoshi automation key ([#186](https://github.com/googleapis/nodejs-monitoring/pull/186))
+- chore: update nyc and eslint configs ([#184](https://github.com/googleapis/nodejs-monitoring/pull/184))
+- chore: fix publish.sh permission +x ([#182](https://github.com/googleapis/nodejs-monitoring/pull/182))
+- fix(build): fix Kokoro release script ([#181](https://github.com/googleapis/nodejs-monitoring/pull/181))
+- build: add Kokoro configs for autorelease ([#180](https://github.com/googleapis/nodejs-monitoring/pull/180))
+- chore: always nyc report before calling codecov ([#177](https://github.com/googleapis/nodejs-monitoring/pull/177))
+- chore: nyc ignore build/test by default ([#175](https://github.com/googleapis/nodejs-monitoring/pull/175))
+- chore: update license file ([#173](https://github.com/googleapis/nodejs-monitoring/pull/173))
+- fix(build): fix system key decryption ([#169](https://github.com/googleapis/nodejs-monitoring/pull/169))
+- chore: add a synth.metadata
+- test: fix failing tests due to leaks ([#163](https://github.com/googleapis/nodejs-monitoring/pull/163))
+- chore: update eslintignore config ([#160](https://github.com/googleapis/nodejs-monitoring/pull/160))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#158](https://github.com/googleapis/nodejs-monitoring/pull/158))
+- chore: drop contributors from multiple places ([#156](https://github.com/googleapis/nodejs-monitoring/pull/156))
+- chore: use latest npm on Windows ([#154](https://github.com/googleapis/nodejs-monitoring/pull/154))
+- chore: update CircleCI config ([#151](https://github.com/googleapis/nodejs-monitoring/pull/151))
+- chore: include build in eslintignore ([#148](https://github.com/googleapis/nodejs-monitoring/pull/148))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#143](https://github.com/googleapis/nodejs-monitoring/pull/143))
+- chore: update new issue templates
+- chore(build): fix the synth file and generation
+- chore: remove old issue template ([#140](https://github.com/googleapis/nodejs-monitoring/pull/140))
+- build: run tests on node11 ([#139](https://github.com/googleapis/nodejs-monitoring/pull/139))
+- chores(build): do not collect sponge.xml from windows builds ([#138](https://github.com/googleapis/nodejs-monitoring/pull/138))
+- chores(build): run codecov on continuous builds ([#137](https://github.com/googleapis/nodejs-monitoring/pull/137))
+- build: fix codecov uploading on Kokoro ([#134](https://github.com/googleapis/nodejs-monitoring/pull/134))
+- chore(deps): update dependency sinon to v7 ([#133](https://github.com/googleapis/nodejs-monitoring/pull/133))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#131](https://github.com/googleapis/nodejs-monitoring/pull/131))
+- test: remove appveyor config ([#127](https://github.com/googleapis/nodejs-monitoring/pull/127))
+- Fix failing sample tests ([#126](https://github.com/googleapis/nodejs-monitoring/pull/126))
+- Enable prefer-const in the eslint config ([#124](https://github.com/googleapis/nodejs-monitoring/pull/124))
+- Fix the linter ([#123](https://github.com/googleapis/nodejs-monitoring/pull/123))
+- Enable no-var in eslint ([#122](https://github.com/googleapis/nodejs-monitoring/pull/122))
+- run synth.py to fix system-test ([#117](https://github.com/googleapis/nodejs-monitoring/pull/117))
+- Retry npm install in CI ([#115](https://github.com/googleapis/nodejs-monitoring/pull/115))
+- Update CircleCI and Kokoro config ([#113](https://github.com/googleapis/nodejs-monitoring/pull/113))
+- chore(deps): update dependency nyc to v13 ([#111](https://github.com/googleapis/nodejs-monitoring/pull/111))
+- Update the CI config ([#109](https://github.com/googleapis/nodejs-monitoring/pull/109))
+- chore: make the CircleCI config consistent
+- fix(deps): update dependency @google-cloud/monitoring to ^0.6.0 ([#104](https://github.com/googleapis/nodejs-monitoring/pull/104))
+- chore(build): make the CircleCI config consistent
+- build: node templates ([#101](https://github.com/googleapis/nodejs-monitoring/pull/101))
+
+## v0.6.0
+
+### Implementation Changes
+BREAKING CHANGE
+- fix: drop support for node.js 4.x and 9.x (#72)
+
+### New Features
+Bring in some documentation changes inside protos (see #96)
+
+### Dependencies
+- chore(deps): update dependency eslint-config-prettier to v3 (#97)
+- fix(deps): update dependency google-gax to ^0.18.0 (#88)
+- chore(deps): update dependency eslint-plugin-node to v7 (#80)
+- chore(deps): update dependency sinon to v6 (#64)
+- fix(deps): update dependency yargs to v12 (#65)
+- chore: check in synth script and update gax dependency (#62)
+- chore(package): update eslint to version 5.0.0 (#57)
+- chore(package): update nyc to version 12.0.2 (#53)
+
+### Documentation
+- doc: Fix namespace causing 404s (#99)
+
+### Internal / Testing Changes
+- chore: ignore package-lock.json (#93)
+- test: add sample for updating an uptime check (#95)
+- chore: update renovate config (#90)
+- chore: move mocha options to mocha.opts (#85)
+- chore: require node 8 for samples (#86)
+- test: use strictEqual in tests (#81)
+- chore: really delete node4 and node9 (#73)
+- Configure Renovate (#56)
+- refactor: drop repo-tool as an exec wrapper (#61)
+- fix: update linking for samples (#58)
+- chore: the ultimate fix for repo-tools EPERM (#50)
+- test: fix uptime sample test (#48)
+- chore: timeout for system test (#49)
+- test: add resource type filter to alerts test (#46)
+- Fixes #43. (#44)
+- Fix region tags. (#42)
+- Add Alerting samples. (#41)
+- chore: test on node10 (#40)
diff --git a/packages/google-cloud-monitoring/CODE_OF_CONDUCT.md b/packages/google-cloud-monitoring/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-monitoring/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-monitoring/CONTRIBUTING.md b/packages/google-cloud-monitoring/CONTRIBUTING.md
new file mode 100644
index 00000000000..34e9b55ae8c
--- /dev/null
+++ b/packages/google-cloud-monitoring/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 Stackdriver Monitoring 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=monitoring.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-monitoring/LICENSE b/packages/google-cloud-monitoring/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-monitoring/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-monitoring/README.md b/packages/google-cloud-monitoring/README.md
new file mode 100644
index 00000000000..dc275a392cd
--- /dev/null
+++ b/packages/google-cloud-monitoring/README.md
@@ -0,0 +1,193 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Stackdriver Monitoring: 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/monitoring.svg)](https://www.npmjs.org/package/@google-cloud/monitoring)
+
+
+
+
+Stackdriver Monitoring 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/tree/main/packages/google-cloud-monitoring/CHANGELOG.md).
+
+* [Stackdriver Monitoring Node.js Client API Reference][client-docs]
+* [Stackdriver Monitoring Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-monitoring](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-monitoring)
+
+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 Stackdriver Monitoring 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/monitoring
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+const monitoring = require('@google-cloud/monitoring');
+
+async function quickstart() {
+ // Creates a client
+ const client = new monitoring.MetricServiceClient();
+
+ // TODO(developer): Uncomment and set the following variables
+ // const projectId = "PROJECT_ID"
+
+ // Prepares an individual data point
+ const dataPoint = {
+ interval: {
+ endTime: {
+ seconds: Date.now() / 1000,
+ },
+ },
+ value: {
+ // The amount of sales
+ doubleValue: 123.45,
+ },
+ };
+
+ // Prepares the time series request
+ const request = {
+ name: client.projectPath(projectId),
+ timeSeries: [
+ {
+ // Ties the data point to a custom metric
+ metric: {
+ type: 'custom.googleapis.com/stores/daily_sales',
+ labels: {
+ store_id: 'Pittsburgh',
+ },
+ },
+ resource: {
+ type: 'global',
+ labels: {
+ project_id: projectId,
+ },
+ },
+ points: [dataPoint],
+ },
+ ],
+ };
+
+ // Writes time series data
+ const [result] = await client.createTimeSeries(request);
+ console.log('Done writing time series data.', result);
+}
+quickstart();
+
+```
+
+
+
+## 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 |
+| --------------------------- | --------------------------------- | ------ |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-monitoring/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-monitoring/samples/quickstart.js,samples/README.md) |
+| Quickstart.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-monitoring/samples/test/quickstart.test.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-monitoring/samples/test/quickstart.test.js,samples/README.md) |
+
+
+
+The [Stackdriver Monitoring 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/monitoring@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/monitoring/latest
+[product-docs]: https://cloud.google.com/monitoring/docs
+[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=monitoring.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-monitoring/linkinator.config.json b/packages/google-cloud-monitoring/linkinator.config.json
new file mode 100644
index 00000000000..29a223b6db6
--- /dev/null
+++ b/packages/google-cloud-monitoring/linkinator.config.json
@@ -0,0 +1,10 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io"
+ ],
+ "silent": true,
+ "concurrency": 10
+}
diff --git a/packages/google-cloud-monitoring/owlbot.py b/packages/google-cloud-monitoring/owlbot.py
new file mode 100644
index 00000000000..3289c79cd0e
--- /dev/null
+++ b/packages/google-cloud-monitoring/owlbot.py
@@ -0,0 +1,42 @@
+# Copyright 2018 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 script is used to synthesize generated parts of this library."""
+
+import synthtool as s
+import synthtool.languages.node_mono_repo as node
+import os
+
+
+node.owlbot_main(relative_dir="packages/google-cloud-monitoring",staging_excludes=["README.md", "package.json"])
+
+# --------------------------------------------------------------------------
+# Modify test configs
+# --------------------------------------------------------------------------
+
+# add shared environment variables to test configs
+s.move(
+ ".kokoro/common_env_vars.cfg",
+ ".kokoro/common.cfg",
+ merge=lambda src, dst, _, : f"{dst}\n{src}",
+)
+for path, subdirs, files in os.walk(f".kokoro/continuous"):
+ for name in files:
+ if name == "common.cfg":
+ file_path = os.path.join(path, name)
+ s.move(
+ ".kokoro/common_env_vars.cfg",
+ file_path,
+ merge=lambda src, dst, _, : f"{dst}\n{src}",
+ )
diff --git a/packages/google-cloud-monitoring/package.json b/packages/google-cloud-monitoring/package.json
new file mode 100644
index 00000000000..85ea4f0c590
--- /dev/null
+++ b/packages/google-cloud-monitoring/package.json
@@ -0,0 +1,73 @@
+{
+ "name": "@google-cloud/monitoring",
+ "description": "Stackdriver Monitoring API client for Node.js",
+ "version": "3.0.3",
+ "license": "Apache-2.0",
+ "author": "Google Inc",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-monitoring",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google monitoring",
+ "monitoring",
+ "Stackdriver Monitoring API"
+ ],
+ "scripts": {
+ "docs": "jsdoc -c .jsdoc.js",
+ "lint": "gts check",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "fix": "gts fix",
+ "docs-test": "linkinator docs",
+ "predocs-test": "npm run docs",
+ "prelint": "cd samples; npm link ../; npm install",
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "prepare": "npm run compile",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.1.0",
+ "codecov": "^3.6.5",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.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"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-monitoring"
+}
diff --git a/packages/google-cloud-monitoring/protos/google/cloud/common_resources.proto b/packages/google-cloud-monitoring/protos/google/cloud/common_resources.proto
new file mode 100644
index 00000000000..56c9f800d5e
--- /dev/null
+++ b/packages/google-cloud-monitoring/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-monitoring/protos/google/monitoring/v3/alert.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/alert.proto
new file mode 100644
index 00000000000..8d1cbf2edce
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/alert.proto
@@ -0,0 +1,394 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/common.proto";
+import "google/monitoring/v3/mutation_record.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/wrappers.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "AlertProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// A description of the conditions under which some aspect of your system is
+// considered to be "unhealthy" and the ways to notify people or services about
+// this state. For an overview of alert policies, see
+// [Introduction to Alerting](https://cloud.google.com/monitoring/alerts/).
+message AlertPolicy {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/AlertPolicy"
+ pattern: "projects/{project}/alertPolicies/{alert_policy}"
+ pattern: "organizations/{organization}/alertPolicies/{alert_policy}"
+ pattern: "folders/{folder}/alertPolicies/{alert_policy}"
+ pattern: "*"
+ };
+
+ // A content string and a MIME type that describes the content string's
+ // format.
+ message Documentation {
+ // The text of the documentation, interpreted according to `mime_type`.
+ // The content may not exceed 8,192 Unicode characters and may not exceed
+ // more than 10,240 bytes when encoded in UTF-8 format, whichever is
+ // smaller.
+ string content = 1;
+
+ // The format of the `content` field. Presently, only the value
+ // `"text/markdown"` is supported. See
+ // [Markdown](https://en.wikipedia.org/wiki/Markdown) for more information.
+ string mime_type = 2;
+ }
+
+ // A condition is a true/false test that determines when an alerting policy
+ // should open an incident. If a condition evaluates to true, it signifies
+ // that something is wrong.
+ message Condition {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/AlertPolicyCondition"
+ pattern: "projects/{project}/alertPolicies/{alert_policy}/conditions/{condition}"
+ pattern: "organizations/{organization}/alertPolicies/{alert_policy}/conditions/{condition}"
+ pattern: "folders/{folder}/alertPolicies/{alert_policy}/conditions/{condition}"
+ pattern: "*"
+ };
+
+ // Specifies how many time series must fail a predicate to trigger a
+ // condition. If not specified, then a `{count: 1}` trigger is used.
+ message Trigger {
+ // A type of trigger.
+ oneof type {
+ // The absolute number of time series that must fail
+ // the predicate for the condition to be triggered.
+ int32 count = 1;
+
+ // The percentage of time series that must fail the
+ // predicate for the condition to be triggered.
+ double percent = 2;
+ }
+ }
+
+ // A condition type that compares a collection of time series
+ // against a threshold.
+ message MetricThreshold {
+ // Required. A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
+ // identifies which time series should be compared with the threshold.
+ //
+ // The filter is similar to the one that is specified in the
+ // [`ListTimeSeries`
+ // request](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list)
+ // (that call is useful to verify the time series that will be retrieved /
+ // processed). The filter must specify the metric type and the resource
+ // type. Optionally, it can specify resource labels and metric labels.
+ // This field must not exceed 2048 Unicode characters in length.
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies the alignment of data points in individual time series as
+ // well as how to combine the retrieved time series together (such as
+ // when aggregating multiple streams on each resource to a single
+ // stream for each resource or when aggregating streams across all
+ // members of a group of resrouces). Multiple aggregations
+ // are applied in the order specified.
+ //
+ // This field is similar to the one in the [`ListTimeSeries`
+ // request](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
+ // It is advisable to use the `ListTimeSeries` method when debugging this
+ // field.
+ repeated Aggregation aggregations = 8;
+
+ // A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
+ // identifies a time series that should be used as the denominator of a
+ // ratio that will be compared with the threshold. If a
+ // `denominator_filter` is specified, the time series specified by the
+ // `filter` field will be used as the numerator.
+ //
+ // The filter must specify the metric type and optionally may contain
+ // restrictions on resource type, resource labels, and metric labels.
+ // This field may not exceed 2048 Unicode characters in length.
+ string denominator_filter = 9;
+
+ // Specifies the alignment of data points in individual time series
+ // selected by `denominatorFilter` as
+ // well as how to combine the retrieved time series together (such as
+ // when aggregating multiple streams on each resource to a single
+ // stream for each resource or when aggregating streams across all
+ // members of a group of resources).
+ //
+ // When computing ratios, the `aggregations` and
+ // `denominator_aggregations` fields must use the same alignment period
+ // and produce time series that have the same periodicity and labels.
+ repeated Aggregation denominator_aggregations = 10;
+
+ // The comparison to apply between the time series (indicated by `filter`
+ // and `aggregation`) and the threshold (indicated by `threshold_value`).
+ // The comparison is applied on each time series, with the time series
+ // on the left-hand side and the threshold on the right-hand side.
+ //
+ // Only `COMPARISON_LT` and `COMPARISON_GT` are supported currently.
+ ComparisonType comparison = 4;
+
+ // A value against which to compare the time series.
+ double threshold_value = 5;
+
+ // The amount of time that a time series must violate the
+ // threshold to be considered failing. Currently, only values
+ // that are a multiple of a minute--e.g., 0, 60, 120, or 300
+ // seconds--are supported. If an invalid value is given, an
+ // error will be returned. When choosing a duration, it is useful to
+ // keep in mind the frequency of the underlying time series data
+ // (which may also be affected by any alignments specified in the
+ // `aggregations` field); a good duration is long enough so that a single
+ // outlier does not generate spurious alerts, but short enough that
+ // unhealthy states are detected and alerted on quickly.
+ google.protobuf.Duration duration = 6;
+
+ // The number/percent of time series for which the comparison must hold
+ // in order for the condition to trigger. If unspecified, then the
+ // condition will trigger if the comparison is true for any of the
+ // time series that have been identified by `filter` and `aggregations`,
+ // or by the ratio, if `denominator_filter` and `denominator_aggregations`
+ // are specified.
+ Trigger trigger = 7;
+ }
+
+ // A condition type that checks that monitored resources
+ // are reporting data. The configuration defines a metric and
+ // a set of monitored resources. The predicate is considered in violation
+ // when a time series for the specified metric of a monitored
+ // resource does not include any data in the specified `duration`.
+ message MetricAbsence {
+ // Required. A [filter](https://cloud.google.com/monitoring/api/v3/filters) that
+ // identifies which time series should be compared with the threshold.
+ //
+ // The filter is similar to the one that is specified in the
+ // [`ListTimeSeries`
+ // request](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list)
+ // (that call is useful to verify the time series that will be retrieved /
+ // processed). The filter must specify the metric type and the resource
+ // type. Optionally, it can specify resource labels and metric labels.
+ // This field must not exceed 2048 Unicode characters in length.
+ string filter = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies the alignment of data points in individual time series as
+ // well as how to combine the retrieved time series together (such as
+ // when aggregating multiple streams on each resource to a single
+ // stream for each resource or when aggregating streams across all
+ // members of a group of resrouces). Multiple aggregations
+ // are applied in the order specified.
+ //
+ // This field is similar to the one in the [`ListTimeSeries`
+ // request](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.timeSeries/list).
+ // It is advisable to use the `ListTimeSeries` method when debugging this
+ // field.
+ repeated Aggregation aggregations = 5;
+
+ // The amount of time that a time series must fail to report new
+ // data to be considered failing. The minimum value of this field
+ // is 120 seconds. Larger values that are a multiple of a
+ // minute--for example, 240 or 300 seconds--are supported.
+ // If an invalid value is given, an
+ // error will be returned. The `Duration.nanos` field is
+ // ignored.
+ google.protobuf.Duration duration = 2;
+
+ // The number/percent of time series for which the comparison must hold
+ // in order for the condition to trigger. If unspecified, then the
+ // condition will trigger if the comparison is true for any of the
+ // time series that have been identified by `filter` and `aggregations`.
+ Trigger trigger = 3;
+ }
+
+ // A condition type that allows alert policies to be defined using
+ // [Monitoring Query Language](https://cloud.google.com/monitoring/mql).
+ message MonitoringQueryLanguageCondition {
+ // [Monitoring Query Language](https://cloud.google.com/monitoring/mql)
+ // query that outputs a boolean stream.
+ string query = 1;
+
+ // The amount of time that a time series must violate the
+ // threshold to be considered failing. Currently, only values
+ // that are a multiple of a minute--e.g., 0, 60, 120, or 300
+ // seconds--are supported. If an invalid value is given, an
+ // error will be returned. When choosing a duration, it is useful to
+ // keep in mind the frequency of the underlying time series data
+ // (which may also be affected by any alignments specified in the
+ // `aggregations` field); a good duration is long enough so that a single
+ // outlier does not generate spurious alerts, but short enough that
+ // unhealthy states are detected and alerted on quickly.
+ google.protobuf.Duration duration = 2;
+
+ // The number/percent of time series for which the comparison must hold
+ // in order for the condition to trigger. If unspecified, then the
+ // condition will trigger if the comparison is true for any of the
+ // time series that have been identified by `filter` and `aggregations`,
+ // or by the ratio, if `denominator_filter` and `denominator_aggregations`
+ // are specified.
+ Trigger trigger = 3;
+ }
+
+ // Required if the condition exists. The unique resource name for this
+ // condition. Its format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]
+ //
+ // `[CONDITION_ID]` is assigned by Stackdriver Monitoring when the
+ // condition is created as part of a new or updated alerting policy.
+ //
+ // When calling the
+ // [alertPolicies.create][google.monitoring.v3.AlertPolicyService.CreateAlertPolicy]
+ // method, do not include the `name` field in the conditions of the
+ // requested alerting policy. Stackdriver Monitoring creates the
+ // condition identifiers and includes them in the new policy.
+ //
+ // When calling the
+ // [alertPolicies.update][google.monitoring.v3.AlertPolicyService.UpdateAlertPolicy]
+ // method to update a policy, including a condition `name` causes the
+ // existing condition to be updated. Conditions without names are added to
+ // the updated policy. Existing conditions are deleted if they are not
+ // updated.
+ //
+ // Best practice is to preserve `[CONDITION_ID]` if you make only small
+ // changes, such as those to condition thresholds, durations, or trigger
+ // values. Otherwise, treat the change as a new condition and let the
+ // existing condition be deleted.
+ string name = 12;
+
+ // A short name or phrase used to identify the condition in dashboards,
+ // notifications, and incidents. To avoid confusion, don't use the same
+ // display name for multiple conditions in the same policy.
+ string display_name = 6;
+
+ // Only one of the following condition types will be specified.
+ oneof condition {
+ // A condition that compares a time series against a threshold.
+ MetricThreshold condition_threshold = 1;
+
+ // A condition that checks that a time series continues to
+ // receive new data points.
+ MetricAbsence condition_absent = 2;
+
+ // A condition that uses the Monitoring Query Language to define
+ // alerts.
+ MonitoringQueryLanguageCondition condition_monitoring_query_language = 19;
+ }
+ }
+
+ // Operators for combining conditions.
+ enum ConditionCombinerType {
+ // An unspecified combiner.
+ COMBINE_UNSPECIFIED = 0;
+
+ // Combine conditions using the logical `AND` operator. An
+ // incident is created only if all the conditions are met
+ // simultaneously. This combiner is satisfied if all conditions are
+ // met, even if they are met on completely different resources.
+ AND = 1;
+
+ // Combine conditions using the logical `OR` operator. An incident
+ // is created if any of the listed conditions is met.
+ OR = 2;
+
+ // Combine conditions using logical `AND` operator, but unlike the regular
+ // `AND` option, an incident is created only if all conditions are met
+ // simultaneously on at least one resource.
+ AND_WITH_MATCHING_RESOURCE = 3;
+ }
+
+ // Required if the policy exists. The resource name for this policy. The
+ // format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]
+ //
+ // `[ALERT_POLICY_ID]` is assigned by Stackdriver Monitoring when the policy
+ // is created. When calling the
+ // [alertPolicies.create][google.monitoring.v3.AlertPolicyService.CreateAlertPolicy]
+ // method, do not include the `name` field in the alerting policy passed as
+ // part of the request.
+ string name = 1;
+
+ // A short name or phrase used to identify the policy in dashboards,
+ // notifications, and incidents. To avoid confusion, don't use the same
+ // display name for multiple policies in the same project. The name is
+ // limited to 512 Unicode characters.
+ string display_name = 2;
+
+ // Documentation that is included with notifications and incidents related to
+ // this policy. Best practice is for the documentation to include information
+ // to help responders understand, mitigate, escalate, and correct the
+ // underlying problems detected by the alerting policy. Notification channels
+ // that have limited capacity might not show this documentation.
+ Documentation documentation = 13;
+
+ // User-supplied key/value data to be used for organizing and
+ // identifying the `AlertPolicy` objects.
+ //
+ // The field can contain up to 64 entries. Each key and value is limited to
+ // 63 Unicode characters or 128 bytes, whichever is smaller. Labels and
+ // values can contain only lowercase letters, numerals, underscores, and
+ // dashes. Keys must begin with a letter.
+ map user_labels = 16;
+
+ // A list of conditions for the policy. The conditions are combined by AND or
+ // OR according to the `combiner` field. If the combined conditions evaluate
+ // to true, then an incident is created. A policy can have from one to six
+ // conditions.
+ // If `condition_time_series_query_language` is present, it must be the only
+ // `condition`.
+ repeated Condition conditions = 12;
+
+ // How to combine the results of multiple conditions to determine if an
+ // incident should be opened.
+ // If `condition_time_series_query_language` is present, this must be
+ // `COMBINE_UNSPECIFIED`.
+ ConditionCombinerType combiner = 6;
+
+ // Whether or not the policy is enabled. On write, the default interpretation
+ // if unset is that the policy is enabled. On read, clients should not make
+ // any assumption about the state if it has not been populated. The
+ // field should always be populated on List and Get operations, unless
+ // a field projection has been specified that strips it out.
+ google.protobuf.BoolValue enabled = 17;
+
+ // Read-only description of how the alert policy is invalid. OK if the alert
+ // policy is valid. If not OK, the alert policy will not generate incidents.
+ google.rpc.Status validity = 18;
+
+ // Identifies the notification channels to which notifications should be sent
+ // when incidents are opened or closed or when new violations occur on
+ // an already opened incident. Each element of this array corresponds to
+ // the `name` field in each of the
+ // [`NotificationChannel`][google.monitoring.v3.NotificationChannel]
+ // objects that are returned from the [`ListNotificationChannels`]
+ // [google.monitoring.v3.NotificationChannelService.ListNotificationChannels]
+ // method. The format of the entries in this field is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
+ repeated string notification_channels = 14;
+
+ // A read-only record of the creation of the alerting policy. If provided
+ // in a call to create or update, this field will be ignored.
+ MutationRecord creation_record = 10;
+
+ // A read-only record of the most recent change to the alerting policy. If
+ // provided in a call to create or update, this field will be ignored.
+ MutationRecord mutation_record = 11;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/alert_service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/alert_service.proto
new file mode 100644
index 00000000000..4017b16e070
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/alert_service.proto
@@ -0,0 +1,238 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/alert.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "AlertServiceProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The AlertPolicyService API is used to manage (list, create, delete,
+// edit) alert policies in Stackdriver Monitoring. An alerting policy is
+// a description of the conditions under which some aspect of your
+// system is considered to be "unhealthy" and the ways to notify
+// people or services about this state. In addition to using this API, alert
+// policies can also be managed through
+// [Stackdriver Monitoring](https://cloud.google.com/monitoring/docs/),
+// which can be reached by clicking the "Monitoring" tab in
+// [Cloud Console](https://console.cloud.google.com/).
+service AlertPolicyService {
+ option (google.api.default_host) = "monitoring.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/monitoring,"
+ "https://www.googleapis.com/auth/monitoring.read";
+
+ // Lists the existing alerting policies for the workspace.
+ rpc ListAlertPolicies(ListAlertPoliciesRequest) returns (ListAlertPoliciesResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*}/alertPolicies"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a single alerting policy.
+ rpc GetAlertPolicy(GetAlertPolicyRequest) returns (AlertPolicy) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/alertPolicies/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new alerting policy.
+ rpc CreateAlertPolicy(CreateAlertPolicyRequest) returns (AlertPolicy) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*}/alertPolicies"
+ body: "alert_policy"
+ };
+ option (google.api.method_signature) = "name,alert_policy";
+ }
+
+ // Deletes an alerting policy.
+ rpc DeleteAlertPolicy(DeleteAlertPolicyRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v3/{name=projects/*/alertPolicies/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates an alerting policy. You can either replace the entire policy with
+ // a new one or replace only certain fields in the current alerting policy by
+ // specifying the fields to be updated via `updateMask`. Returns the
+ // updated alerting policy.
+ rpc UpdateAlertPolicy(UpdateAlertPolicyRequest) returns (AlertPolicy) {
+ option (google.api.http) = {
+ patch: "/v3/{alert_policy.name=projects/*/alertPolicies/*}"
+ body: "alert_policy"
+ };
+ option (google.api.method_signature) = "update_mask,alert_policy";
+ }
+}
+
+// The protocol for the `CreateAlertPolicy` request.
+message CreateAlertPolicyRequest {
+ // Required. The project in which to create the alerting policy. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ //
+ // Note that this field names the parent container in which the alerting
+ // policy will be written, not the name of the created policy. |name| must be
+ // a host project of a workspace, otherwise INVALID_ARGUMENT error will
+ // return. The alerting policy that is returned will have a name that contains
+ // a normalized representation of this name as a prefix but adds a suffix of
+ // the form `/alertPolicies/[ALERT_POLICY_ID]`, identifying the policy in the
+ // container.
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/AlertPolicy"
+ }
+ ];
+
+ // Required. The requested alerting policy. You should omit the `name` field in this
+ // policy. The name will be returned in the new policy, including
+ // a new `[ALERT_POLICY_ID]` value.
+ AlertPolicy alert_policy = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The protocol for the `GetAlertPolicy` request.
+message GetAlertPolicyRequest {
+ // Required. The alerting policy to retrieve. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/AlertPolicy"
+ }
+ ];
+}
+
+// The protocol for the `ListAlertPolicies` request.
+message ListAlertPoliciesRequest {
+ // Required. The project whose alert policies are to be listed. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ //
+ // Note that this field names the parent container in which the alerting
+ // policies to be listed are stored. To retrieve a single alerting policy
+ // by name, use the
+ // [GetAlertPolicy][google.monitoring.v3.AlertPolicyService.GetAlertPolicy]
+ // operation, instead.
+ string name = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/AlertPolicy"
+ }
+ ];
+
+ // If provided, this field specifies the criteria that must be met by
+ // alert policies to be included in the response.
+ //
+ // For more details, see [sorting and
+ // filtering](https://cloud.google.com/monitoring/api/v3/sorting-and-filtering).
+ string filter = 5;
+
+ // A comma-separated list of fields by which to sort the result. Supports
+ // the same set of field references as the `filter` field. Entries can be
+ // prefixed with a minus sign to sort by the field in descending order.
+ //
+ // For more details, see [sorting and
+ // filtering](https://cloud.google.com/monitoring/api/v3/sorting-and-filtering).
+ string order_by = 6;
+
+ // The maximum number of results to return in a single response.
+ int32 page_size = 2;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return more results from the previous method call.
+ string page_token = 3;
+}
+
+// The protocol for the `ListAlertPolicies` response.
+message ListAlertPoliciesResponse {
+ // The returned alert policies.
+ repeated AlertPolicy alert_policies = 3;
+
+ // If there might be more results than were returned, then this field is set
+ // to a non-empty value. To see the additional results,
+ // use that value as `page_token` in the next call to this method.
+ string next_page_token = 2;
+
+ // The total number of alert policies in all pages. This number is only an
+ // estimate, and may change in subsequent pages. https://aip.dev/158
+ int32 total_size = 4;
+}
+
+// The protocol for the `UpdateAlertPolicy` request.
+message UpdateAlertPolicyRequest {
+ // Optional. A list of alerting policy field names. If this field is not
+ // empty, each listed field in the existing alerting policy is set to the
+ // value of the corresponding field in the supplied policy (`alert_policy`),
+ // or to the field's default value if the field is not in the supplied
+ // alerting policy. Fields not listed retain their previous value.
+ //
+ // Examples of valid field masks include `display_name`, `documentation`,
+ // `documentation.content`, `documentation.mime_type`, `user_labels`,
+ // `user_label.nameofkey`, `enabled`, `conditions`, `combiner`, etc.
+ //
+ // If this field is empty, then the supplied alerting policy replaces the
+ // existing policy. It is the same as deleting the existing policy and
+ // adding the supplied policy, except for the following:
+ //
+ // + The new policy will have the same `[ALERT_POLICY_ID]` as the former
+ // policy. This gives you continuity with the former policy in your
+ // notifications and incidents.
+ // + Conditions in the new policy will keep their former `[CONDITION_ID]` if
+ // the supplied condition includes the `name` field with that
+ // `[CONDITION_ID]`. If the supplied condition omits the `name` field,
+ // then a new `[CONDITION_ID]` is created.
+ google.protobuf.FieldMask update_mask = 2;
+
+ // Required. The updated alerting policy or the updated values for the
+ // fields listed in `update_mask`.
+ // If `update_mask` is not empty, any fields in this policy that are
+ // not in `update_mask` are ignored.
+ AlertPolicy alert_policy = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The protocol for the `DeleteAlertPolicy` request.
+message DeleteAlertPolicyRequest {
+ // Required. The alerting policy to delete. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]
+ //
+ // For more information, see [AlertPolicy][google.monitoring.v3.AlertPolicy].
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/AlertPolicy"
+ }
+ ];
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/common.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/common.proto
new file mode 100644
index 00000000000..77a28ea3af4
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/common.proto
@@ -0,0 +1,488 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/distribution.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// A single strongly-typed value.
+message TypedValue {
+ // The typed value field.
+ oneof value {
+ // A Boolean value: `true` or `false`.
+ bool bool_value = 1;
+
+ // A 64-bit integer. Its range is approximately ±9.2x1018.
+ int64 int64_value = 2;
+
+ // A 64-bit double-precision floating-point number. Its magnitude
+ // is approximately ±10±300 and it has 16
+ // significant digits of precision.
+ double double_value = 3;
+
+ // A variable-length string value.
+ string string_value = 4;
+
+ // A distribution value.
+ google.api.Distribution distribution_value = 5;
+ }
+}
+
+// A closed time interval. It extends from the start time to the end time, and includes both: `[startTime, endTime]`. Valid time intervals depend on the [`MetricKind`](/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors#MetricKind) of the metric value. The end time must not be earlier than the start time. When writing data points, the start time must not be more than 25 hours in the past and the end time must not be more than five minutes in the future.
+//
+// * For `GAUGE` metrics, the `startTime` value is technically optional; if
+// no value is specified, the start time defaults to the value of the
+// end time, and the interval represents a single point in time. If both
+// start and end times are specified, they must be identical. Such an
+// interval is valid only for `GAUGE` metrics, which are point-in-time
+// measurements. The end time of a new interval must be at least a
+// millisecond after the end time of the previous interval.
+//
+// * For `DELTA` metrics, the start time and end time must specify a
+// non-zero interval, with subsequent points specifying contiguous and
+// non-overlapping intervals. For `DELTA` metrics, the start time of
+// the next interval must be at least a millisecond after the end time
+// of the previous interval.
+//
+// * For `CUMULATIVE` metrics, the start time and end time must specify a
+// a non-zero interval, with subsequent points specifying the same
+// start time and increasing end times, until an event resets the
+// cumulative value to zero and sets a new start time for the following
+// points. The new start time must be at least a millisecond after the
+// end time of the previous interval.
+//
+// * The start time of a new interval must be at least a millisecond after the
+// end time of the previous interval because intervals are closed. If the
+// start time of a new interval is the same as the end time of the previous
+// interval, then data written at the new start time could overwrite data
+// written at the previous end time.
+message TimeInterval {
+ // Required. The end of the time interval.
+ google.protobuf.Timestamp end_time = 2;
+
+ // Optional. The beginning of the time interval. The default value
+ // for the start time is the end time. The start time must not be
+ // later than the end time.
+ google.protobuf.Timestamp start_time = 1;
+}
+
+// Describes how to combine multiple time series to provide a different view of
+// the data. Aggregation of time series is done in two steps. First, each time
+// series in the set is _aligned_ to the same time interval boundaries, then the
+// set of time series is optionally _reduced_ in number.
+//
+// Alignment consists of applying the `per_series_aligner` operation
+// to each time series after its data has been divided into regular
+// `alignment_period` time intervals. This process takes _all_ of the data
+// points in an alignment period, applies a mathematical transformation such as
+// averaging, minimum, maximum, delta, etc., and converts them into a single
+// data point per period.
+//
+// Reduction is when the aligned and transformed time series can optionally be
+// combined, reducing the number of time series through similar mathematical
+// transformations. Reduction involves applying a `cross_series_reducer` to
+// all the time series, optionally sorting the time series into subsets with
+// `group_by_fields`, and applying the reducer to each subset.
+//
+// The raw time series data can contain a huge amount of information from
+// multiple sources. Alignment and reduction transforms this mass of data into
+// a more manageable and representative collection of data, for example "the
+// 95% latency across the average of all tasks in a cluster". This
+// representative data can be more easily graphed and comprehended, and the
+// individual time series data is still available for later drilldown. For more
+// details, see [Filtering and
+// aggregation](https://cloud.google.com/monitoring/api/v3/aggregation).
+message Aggregation {
+ // The `Aligner` specifies the operation that will be applied to the data
+ // points in each alignment period in a time series. Except for
+ // `ALIGN_NONE`, which specifies that no operation be applied, each alignment
+ // operation replaces the set of data values in each alignment period with
+ // a single value: the result of applying the operation to the data values.
+ // An aligned time series has a single data value at the end of each
+ // `alignment_period`.
+ //
+ // An alignment operation can change the data type of the values, too. For
+ // example, if you apply a counting operation to boolean values, the data
+ // `value_type` in the original time series is `BOOLEAN`, but the `value_type`
+ // in the aligned result is `INT64`.
+ enum Aligner {
+ // No alignment. Raw data is returned. Not valid if cross-series reduction
+ // is requested. The `value_type` of the result is the same as the
+ // `value_type` of the input.
+ ALIGN_NONE = 0;
+
+ // Align and convert to
+ // [DELTA][google.api.MetricDescriptor.MetricKind.DELTA].
+ // The output is `delta = y1 - y0`.
+ //
+ // This alignment is valid for
+ // [CUMULATIVE][google.api.MetricDescriptor.MetricKind.CUMULATIVE] and
+ // `DELTA` metrics. If the selected alignment period results in periods
+ // with no data, then the aligned value for such a period is created by
+ // interpolation. The `value_type` of the aligned result is the same as
+ // the `value_type` of the input.
+ ALIGN_DELTA = 1;
+
+ // Align and convert to a rate. The result is computed as
+ // `rate = (y1 - y0)/(t1 - t0)`, or "delta over time".
+ // Think of this aligner as providing the slope of the line that passes
+ // through the value at the start and at the end of the `alignment_period`.
+ //
+ // This aligner is valid for `CUMULATIVE`
+ // and `DELTA` metrics with numeric values. If the selected alignment
+ // period results in periods with no data, then the aligned value for
+ // such a period is created by interpolation. The output is a `GAUGE`
+ // metric with `value_type` `DOUBLE`.
+ //
+ // If, by "rate", you mean "percentage change", see the
+ // `ALIGN_PERCENT_CHANGE` aligner instead.
+ ALIGN_RATE = 2;
+
+ // Align by interpolating between adjacent points around the alignment
+ // period boundary. This aligner is valid for `GAUGE` metrics with
+ // numeric values. The `value_type` of the aligned result is the same as the
+ // `value_type` of the input.
+ ALIGN_INTERPOLATE = 3;
+
+ // Align by moving the most recent data point before the end of the
+ // alignment period to the boundary at the end of the alignment
+ // period. This aligner is valid for `GAUGE` metrics. The `value_type` of
+ // the aligned result is the same as the `value_type` of the input.
+ ALIGN_NEXT_OLDER = 4;
+
+ // Align the time series by returning the minimum value in each alignment
+ // period. This aligner is valid for `GAUGE` and `DELTA` metrics with
+ // numeric values. The `value_type` of the aligned result is the same as
+ // the `value_type` of the input.
+ ALIGN_MIN = 10;
+
+ // Align the time series by returning the maximum value in each alignment
+ // period. This aligner is valid for `GAUGE` and `DELTA` metrics with
+ // numeric values. The `value_type` of the aligned result is the same as
+ // the `value_type` of the input.
+ ALIGN_MAX = 11;
+
+ // Align the time series by returning the mean value in each alignment
+ // period. This aligner is valid for `GAUGE` and `DELTA` metrics with
+ // numeric values. The `value_type` of the aligned result is `DOUBLE`.
+ ALIGN_MEAN = 12;
+
+ // Align the time series by returning the number of values in each alignment
+ // period. This aligner is valid for `GAUGE` and `DELTA` metrics with
+ // numeric or Boolean values. The `value_type` of the aligned result is
+ // `INT64`.
+ ALIGN_COUNT = 13;
+
+ // Align the time series by returning the sum of the values in each
+ // alignment period. This aligner is valid for `GAUGE` and `DELTA`
+ // metrics with numeric and distribution values. The `value_type` of the
+ // aligned result is the same as the `value_type` of the input.
+ ALIGN_SUM = 14;
+
+ // Align the time series by returning the standard deviation of the values
+ // in each alignment period. This aligner is valid for `GAUGE` and
+ // `DELTA` metrics with numeric values. The `value_type` of the output is
+ // `DOUBLE`.
+ ALIGN_STDDEV = 15;
+
+ // Align the time series by returning the number of `True` values in
+ // each alignment period. This aligner is valid for `GAUGE` metrics with
+ // Boolean values. The `value_type` of the output is `INT64`.
+ ALIGN_COUNT_TRUE = 16;
+
+ // Align the time series by returning the number of `False` values in
+ // each alignment period. This aligner is valid for `GAUGE` metrics with
+ // Boolean values. The `value_type` of the output is `INT64`.
+ ALIGN_COUNT_FALSE = 24;
+
+ // Align the time series by returning the ratio of the number of `True`
+ // values to the total number of values in each alignment period. This
+ // aligner is valid for `GAUGE` metrics with Boolean values. The output
+ // value is in the range [0.0, 1.0] and has `value_type` `DOUBLE`.
+ ALIGN_FRACTION_TRUE = 17;
+
+ // Align the time series by using [percentile
+ // aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
+ // data point in each alignment period is the 99th percentile of all data
+ // points in the period. This aligner is valid for `GAUGE` and `DELTA`
+ // metrics with distribution values. The output is a `GAUGE` metric with
+ // `value_type` `DOUBLE`.
+ ALIGN_PERCENTILE_99 = 18;
+
+ // Align the time series by using [percentile
+ // aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
+ // data point in each alignment period is the 95th percentile of all data
+ // points in the period. This aligner is valid for `GAUGE` and `DELTA`
+ // metrics with distribution values. The output is a `GAUGE` metric with
+ // `value_type` `DOUBLE`.
+ ALIGN_PERCENTILE_95 = 19;
+
+ // Align the time series by using [percentile
+ // aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
+ // data point in each alignment period is the 50th percentile of all data
+ // points in the period. This aligner is valid for `GAUGE` and `DELTA`
+ // metrics with distribution values. The output is a `GAUGE` metric with
+ // `value_type` `DOUBLE`.
+ ALIGN_PERCENTILE_50 = 20;
+
+ // Align the time series by using [percentile
+ // aggregation](https://en.wikipedia.org/wiki/Percentile). The resulting
+ // data point in each alignment period is the 5th percentile of all data
+ // points in the period. This aligner is valid for `GAUGE` and `DELTA`
+ // metrics with distribution values. The output is a `GAUGE` metric with
+ // `value_type` `DOUBLE`.
+ ALIGN_PERCENTILE_05 = 21;
+
+ // Align and convert to a percentage change. This aligner is valid for
+ // `GAUGE` and `DELTA` metrics with numeric values. This alignment returns
+ // `((current - previous)/previous) * 100`, where the value of `previous` is
+ // determined based on the `alignment_period`.
+ //
+ // If the values of `current` and `previous` are both 0, then the returned
+ // value is 0. If only `previous` is 0, the returned value is infinity.
+ //
+ // A 10-minute moving mean is computed at each point of the alignment period
+ // prior to the above calculation to smooth the metric and prevent false
+ // positives from very short-lived spikes. The moving mean is only
+ // applicable for data whose values are `>= 0`. Any values `< 0` are
+ // treated as a missing datapoint, and are ignored. While `DELTA`
+ // metrics are accepted by this alignment, special care should be taken that
+ // the values for the metric will always be positive. The output is a
+ // `GAUGE` metric with `value_type` `DOUBLE`.
+ ALIGN_PERCENT_CHANGE = 23;
+ }
+
+ // A Reducer operation describes how to aggregate data points from multiple
+ // time series into a single time series, where the value of each data point
+ // in the resulting series is a function of all the already aligned values in
+ // the input time series.
+ enum Reducer {
+ // No cross-time series reduction. The output of the `Aligner` is
+ // returned.
+ REDUCE_NONE = 0;
+
+ // Reduce by computing the mean value across time series for each
+ // alignment period. This reducer is valid for
+ // [DELTA][google.api.MetricDescriptor.MetricKind.DELTA] and
+ // [GAUGE][google.api.MetricDescriptor.MetricKind.GAUGE] metrics with
+ // numeric or distribution values. The `value_type` of the output is
+ // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
+ REDUCE_MEAN = 1;
+
+ // Reduce by computing the minimum value across time series for each
+ // alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
+ // with numeric values. The `value_type` of the output is the same as the
+ // `value_type` of the input.
+ REDUCE_MIN = 2;
+
+ // Reduce by computing the maximum value across time series for each
+ // alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
+ // with numeric values. The `value_type` of the output is the same as the
+ // `value_type` of the input.
+ REDUCE_MAX = 3;
+
+ // Reduce by computing the sum across time series for each
+ // alignment period. This reducer is valid for `DELTA` and `GAUGE` metrics
+ // with numeric and distribution values. The `value_type` of the output is
+ // the same as the `value_type` of the input.
+ REDUCE_SUM = 4;
+
+ // Reduce by computing the standard deviation across time series
+ // for each alignment period. This reducer is valid for `DELTA` and
+ // `GAUGE` metrics with numeric or distribution values. The `value_type`
+ // of the output is `DOUBLE`.
+ REDUCE_STDDEV = 5;
+
+ // Reduce by computing the number of data points across time series
+ // for each alignment period. This reducer is valid for `DELTA` and
+ // `GAUGE` metrics of numeric, Boolean, distribution, and string
+ // `value_type`. The `value_type` of the output is `INT64`.
+ REDUCE_COUNT = 6;
+
+ // Reduce by computing the number of `True`-valued data points across time
+ // series for each alignment period. This reducer is valid for `DELTA` and
+ // `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
+ // is `INT64`.
+ REDUCE_COUNT_TRUE = 7;
+
+ // Reduce by computing the number of `False`-valued data points across time
+ // series for each alignment period. This reducer is valid for `DELTA` and
+ // `GAUGE` metrics of Boolean `value_type`. The `value_type` of the output
+ // is `INT64`.
+ REDUCE_COUNT_FALSE = 15;
+
+ // Reduce by computing the ratio of the number of `True`-valued data points
+ // to the total number of data points for each alignment period. This
+ // reducer is valid for `DELTA` and `GAUGE` metrics of Boolean `value_type`.
+ // The output value is in the range [0.0, 1.0] and has `value_type`
+ // `DOUBLE`.
+ REDUCE_FRACTION_TRUE = 8;
+
+ // Reduce by computing the [99th
+ // percentile](https://en.wikipedia.org/wiki/Percentile) of data points
+ // across time series for each alignment period. This reducer is valid for
+ // `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
+ // of the output is `DOUBLE`.
+ REDUCE_PERCENTILE_99 = 9;
+
+ // Reduce by computing the [95th
+ // percentile](https://en.wikipedia.org/wiki/Percentile) of data points
+ // across time series for each alignment period. This reducer is valid for
+ // `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
+ // of the output is `DOUBLE`.
+ REDUCE_PERCENTILE_95 = 10;
+
+ // Reduce by computing the [50th
+ // percentile](https://en.wikipedia.org/wiki/Percentile) of data points
+ // across time series for each alignment period. This reducer is valid for
+ // `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
+ // of the output is `DOUBLE`.
+ REDUCE_PERCENTILE_50 = 11;
+
+ // Reduce by computing the [5th
+ // percentile](https://en.wikipedia.org/wiki/Percentile) of data points
+ // across time series for each alignment period. This reducer is valid for
+ // `GAUGE` and `DELTA` metrics of numeric and distribution type. The value
+ // of the output is `DOUBLE`.
+ REDUCE_PERCENTILE_05 = 12;
+ }
+
+ // The `alignment_period` specifies a time interval, in seconds, that is used
+ // to divide the data in all the
+ // [time series][google.monitoring.v3.TimeSeries] into consistent blocks of
+ // time. This will be done before the per-series aligner can be applied to
+ // the data.
+ //
+ // The value must be at least 60 seconds. If a per-series
+ // aligner other than `ALIGN_NONE` is specified, this field is required or an
+ // error is returned. If no per-series aligner is specified, or the aligner
+ // `ALIGN_NONE` is specified, then this field is ignored.
+ //
+ // The maximum value of the `alignment_period` is 104 weeks (2 years) for
+ // charts, and 90,000 seconds (25 hours) for alerting policies.
+ google.protobuf.Duration alignment_period = 1;
+
+ // An `Aligner` describes how to bring the data points in a single
+ // time series into temporal alignment. Except for `ALIGN_NONE`, all
+ // alignments cause all the data points in an `alignment_period` to be
+ // mathematically grouped together, resulting in a single data point for
+ // each `alignment_period` with end timestamp at the end of the period.
+ //
+ // Not all alignment operations may be applied to all time series. The valid
+ // choices depend on the `metric_kind` and `value_type` of the original time
+ // series. Alignment can change the `metric_kind` or the `value_type` of
+ // the time series.
+ //
+ // Time series data must be aligned in order to perform cross-time
+ // series reduction. If `cross_series_reducer` is specified, then
+ // `per_series_aligner` must be specified and not equal to `ALIGN_NONE`
+ // and `alignment_period` must be specified; otherwise, an error is
+ // returned.
+ Aligner per_series_aligner = 2;
+
+ // The reduction operation to be used to combine time series into a single
+ // time series, where the value of each data point in the resulting series is
+ // a function of all the already aligned values in the input time series.
+ //
+ // Not all reducer operations can be applied to all time series. The valid
+ // choices depend on the `metric_kind` and the `value_type` of the original
+ // time series. Reduction can yield a time series with a different
+ // `metric_kind` or `value_type` than the input time series.
+ //
+ // Time series data must first be aligned (see `per_series_aligner`) in order
+ // to perform cross-time series reduction. If `cross_series_reducer` is
+ // specified, then `per_series_aligner` must be specified, and must not be
+ // `ALIGN_NONE`. An `alignment_period` must also be specified; otherwise, an
+ // error is returned.
+ Reducer cross_series_reducer = 4;
+
+ // The set of fields to preserve when `cross_series_reducer` is
+ // specified. The `group_by_fields` determine how the time series are
+ // partitioned into subsets prior to applying the aggregation
+ // operation. Each subset contains time series that have the same
+ // value for each of the grouping fields. Each individual time
+ // series is a member of exactly one subset. The
+ // `cross_series_reducer` is applied to each subset of time series.
+ // It is not possible to reduce across different resource types, so
+ // this field implicitly contains `resource.type`. Fields not
+ // specified in `group_by_fields` are aggregated away. If
+ // `group_by_fields` is not specified and all the time series have
+ // the same resource type, then the time series are aggregated into
+ // a single output time series. If `cross_series_reducer` is not
+ // defined, this field is ignored.
+ repeated string group_by_fields = 5;
+}
+
+// Specifies an ordering relationship on two arguments, called `left` and
+// `right`.
+enum ComparisonType {
+ // No ordering relationship is specified.
+ COMPARISON_UNSPECIFIED = 0;
+
+ // True if the left argument is greater than the right argument.
+ COMPARISON_GT = 1;
+
+ // True if the left argument is greater than or equal to the right argument.
+ COMPARISON_GE = 2;
+
+ // True if the left argument is less than the right argument.
+ COMPARISON_LT = 3;
+
+ // True if the left argument is less than or equal to the right argument.
+ COMPARISON_LE = 4;
+
+ // True if the left argument is equal to the right argument.
+ COMPARISON_EQ = 5;
+
+ // True if the left argument is not equal to the right argument.
+ COMPARISON_NE = 6;
+}
+
+// The tier of service for a Workspace. Please see the
+// [service tiers
+// documentation](https://cloud.google.com/monitoring/workspaces/tiers) for more
+// details.
+enum ServiceTier {
+ option deprecated = true;
+
+ // An invalid sentinel value, used to indicate that a tier has not
+ // been provided explicitly.
+ SERVICE_TIER_UNSPECIFIED = 0;
+
+ // The Stackdriver Basic tier, a free tier of service that provides basic
+ // features, a moderate allotment of logs, and access to built-in metrics.
+ // A number of features are not available in this tier. For more details,
+ // see [the service tiers
+ // documentation](https://cloud.google.com/monitoring/workspaces/tiers).
+ SERVICE_TIER_BASIC = 1;
+
+ // The Stackdriver Premium tier, a higher, more expensive tier of service
+ // that provides access to all Stackdriver features, lets you use Stackdriver
+ // with AWS accounts, and has a larger allotments for logs and metrics. For
+ // more details, see [the service tiers
+ // documentation](https://cloud.google.com/monitoring/workspaces/tiers).
+ SERVICE_TIER_PREMIUM = 2;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/dropped_labels.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/dropped_labels.proto
new file mode 100644
index 00000000000..16e213c4abf
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/dropped_labels.proto
@@ -0,0 +1,46 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "DroppedLabelsProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// A set of (label, value) pairs that were removed from a Distribution
+// time series during aggregation and then added as an attachment to a
+// Distribution.Exemplar.
+//
+// The full label set for the exemplars is constructed by using the dropped
+// pairs in combination with the label values that remain on the aggregated
+// Distribution time series. The constructed full label set can be used to
+// identify the specific entity, such as the instance or job, which might be
+// contributing to a long-tail. However, with dropped labels, the storage
+// requirements are reduced because only the aggregated distribution values for
+// a large group of time series are stored.
+//
+// Note that there are no guarantees on ordering of the labels from
+// exemplar-to-exemplar and from distribution-to-distribution in the same
+// stream, and there may be duplicates. It is up to clients to resolve any
+// ambiguities.
+message DroppedLabels {
+ // Map from label to its value, for all labels dropped in any aggregation.
+ map label = 1;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/group.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/group.proto
new file mode 100644
index 00000000000..a414cc8520b
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/group.proto
@@ -0,0 +1,90 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/resource.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "GroupProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The description of a dynamic collection of monitored resources. Each group
+// has a filter that is matched against monitored resources and their associated
+// metadata. If a group's filter matches an available monitored resource, then
+// that resource is a member of that group. Groups can contain any number of
+// monitored resources, and each monitored resource can be a member of any
+// number of groups.
+//
+// Groups can be nested in parent-child hierarchies. The `parentName` field
+// identifies an optional parent for each group. If a group has a parent, then
+// the only monitored resources available to be matched by the group's filter
+// are the resources contained in the parent group. In other words, a group
+// contains the monitored resources that match its filter and the filters of all
+// the group's ancestors. A group without a parent can contain any monitored
+// resource.
+//
+// For example, consider an infrastructure running a set of instances with two
+// user-defined tags: `"environment"` and `"role"`. A parent group has a filter,
+// `environment="production"`. A child of that parent group has a filter,
+// `role="transcoder"`. The parent group contains all instances in the
+// production environment, regardless of their roles. The child group contains
+// instances that have the transcoder role *and* are in the production
+// environment.
+//
+// The monitored resources contained in a group can change at any moment,
+// depending on what resources exist and what filters are associated with the
+// group and its ancestors.
+message Group {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/Group"
+ pattern: "projects/{project}/groups/{group}"
+ pattern: "organizations/{organization}/groups/{group}"
+ pattern: "folders/{folder}/groups/{group}"
+ pattern: "*"
+ };
+
+ // Output only. The name of this group. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ //
+ // When creating a group, this field is ignored and a new name is created
+ // consisting of the project specified in the call to `CreateGroup`
+ // and a unique `[GROUP_ID]` that is generated automatically.
+ string name = 1;
+
+ // A user-assigned name for this group, used only for display purposes.
+ string display_name = 2;
+
+ // The name of the group's parent, if it has one. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ //
+ // For groups with no parent, `parent_name` is the empty string, `""`.
+ string parent_name = 3;
+
+ // The filter used to determine which monitored resources belong to this
+ // group.
+ string filter = 5;
+
+ // If true, the members of this group are considered to be a cluster.
+ // The system can perform additional analysis on groups that are clusters.
+ bool is_cluster = 6;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/group_service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/group_service.proto
new file mode 100644
index 00000000000..6385c8bbf80
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/group_service.proto
@@ -0,0 +1,288 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/monitored_resource.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/common.proto";
+import "google/monitoring/v3/group.proto";
+import "google/protobuf/empty.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "GroupServiceProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The Group API lets you inspect and manage your
+// [groups](#google.monitoring.v3.Group).
+//
+// A group is a named filter that is used to identify
+// a collection of monitored resources. Groups are typically used to
+// mirror the physical and/or logical topology of the environment.
+// Because group membership is computed dynamically, monitored
+// resources that are started in the future are automatically placed
+// in matching groups. By using a group to name monitored resources in,
+// for example, an alert policy, the target of that alert policy is
+// updated automatically as monitored resources are added and removed
+// from the infrastructure.
+service GroupService {
+ option (google.api.default_host) = "monitoring.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/monitoring,"
+ "https://www.googleapis.com/auth/monitoring.read";
+
+ // Lists the existing groups.
+ rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*}/groups"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a single group.
+ rpc GetGroup(GetGroupRequest) returns (Group) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/groups/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new group.
+ rpc CreateGroup(CreateGroupRequest) returns (Group) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*}/groups"
+ body: "group"
+ };
+ option (google.api.method_signature) = "name,group";
+ }
+
+ // Updates an existing group.
+ // You can change any group attributes except `name`.
+ rpc UpdateGroup(UpdateGroupRequest) returns (Group) {
+ option (google.api.http) = {
+ put: "/v3/{group.name=projects/*/groups/*}"
+ body: "group"
+ };
+ option (google.api.method_signature) = "group";
+ }
+
+ // Deletes an existing group.
+ rpc DeleteGroup(DeleteGroupRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v3/{name=projects/*/groups/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists the monitored resources that are members of a group.
+ rpc ListGroupMembers(ListGroupMembersRequest) returns (ListGroupMembersResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/groups/*}/members"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// The `ListGroup` request.
+message ListGroupsRequest {
+ // Required. The project whose groups are to be listed. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string name = 7 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/Group"
+ }
+ ];
+
+ // An optional filter consisting of a single group name. The filters limit
+ // the groups returned based on their parent-child relationship with the
+ // specified group. If no filter is specified, all groups are returned.
+ oneof filter {
+ // A group name. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ //
+ // Returns groups whose `parent_name` field contains the group
+ // name. If no groups have this parent, the results are empty.
+ string children_of_group = 2 [(google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Group"
+ }];
+
+ // A group name. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ //
+ // Returns groups that are ancestors of the specified group.
+ // The groups are returned in order, starting with the immediate parent and
+ // ending with the most distant ancestor. If the specified group has no
+ // immediate parent, the results are empty.
+ string ancestors_of_group = 3 [(google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Group"
+ }];
+
+ // A group name. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ //
+ // Returns the descendants of the specified group. This is a superset of
+ // the results returned by the `children_of_group` filter, and includes
+ // children-of-children, and so forth.
+ string descendants_of_group = 4 [(google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Group"
+ }];
+ }
+
+ // A positive number that is the maximum number of results to return.
+ int32 page_size = 5;
+
+ // If this field is not empty then it must contain the `next_page_token` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 6;
+}
+
+// The `ListGroups` response.
+message ListGroupsResponse {
+ // The groups that match the specified filters.
+ repeated Group group = 1;
+
+ // If there are more results than have been returned, then this field is set
+ // to a non-empty value. To see the additional results,
+ // use that value as `page_token` in the next call to this method.
+ string next_page_token = 2;
+}
+
+// The `GetGroup` request.
+message GetGroupRequest {
+ // Required. The group to retrieve. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Group"
+ }
+ ];
+}
+
+// The `CreateGroup` request.
+message CreateGroupRequest {
+ // Required. The project in which to create the group. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string name = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/Group"
+ }
+ ];
+
+ // Required. A group definition. It is an error to define the `name` field because
+ // the system assigns the name.
+ Group group = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // If true, validate this request but do not create the group.
+ bool validate_only = 3;
+}
+
+// The `UpdateGroup` request.
+message UpdateGroupRequest {
+ // Required. The new definition of the group. All fields of the existing group,
+ // excepting `name`, are replaced with the corresponding fields of this group.
+ Group group = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // If true, validate this request but do not update the existing group.
+ bool validate_only = 3;
+}
+
+// The `DeleteGroup` request. The default behavior is to be able to delete a
+// single group without any descendants.
+message DeleteGroupRequest {
+ // Required. The group to delete. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Group"
+ }
+ ];
+
+ // If this field is true, then the request means to delete a group with all
+ // its descendants. Otherwise, the request means to delete a group only when
+ // it has no descendants. The default value is false.
+ bool recursive = 4;
+}
+
+// The `ListGroupMembers` request.
+message ListGroupMembersRequest {
+ // Required. The group whose members are listed. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]
+ string name = 7 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Group"
+ }
+ ];
+
+ // A positive number that is the maximum number of results to return.
+ int32 page_size = 3;
+
+ // If this field is not empty then it must contain the `next_page_token` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 4;
+
+ // An optional [list
+ // filter](https://cloud.google.com/monitoring/api/learn_more#filtering)
+ // describing the members to be returned. The filter may reference the type,
+ // labels, and metadata of monitored resources that comprise the group. For
+ // example, to return only resources representing Compute Engine VM instances,
+ // use this filter:
+ //
+ // `resource.type = "gce_instance"`
+ string filter = 5;
+
+ // An optional time interval for which results should be returned. Only
+ // members that were part of the group during the specified interval are
+ // included in the response. If no interval is provided then the group
+ // membership over the last minute is returned.
+ TimeInterval interval = 6;
+}
+
+// The `ListGroupMembers` response.
+message ListGroupMembersResponse {
+ // A set of monitored resources in the group.
+ repeated google.api.MonitoredResource members = 1;
+
+ // If there are more results than have been returned, then this field is
+ // set to a non-empty value. To see the additional results, use that value as
+ // `page_token` in the next call to this method.
+ string next_page_token = 2;
+
+ // The total number of elements matching this request.
+ int32 total_size = 3;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/metric.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/metric.proto
new file mode 100644
index 00000000000..c0c23a39bba
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/metric.proto
@@ -0,0 +1,239 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/distribution.proto";
+import "google/api/label.proto";
+import "google/api/metric.proto";
+import "google/api/monitored_resource.proto";
+import "google/monitoring/v3/common.proto";
+import "google/protobuf/duration.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "MetricProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// A single data point in a time series.
+message Point {
+ // The time interval to which the data point applies. For `GAUGE` metrics,
+ // the start time is optional, but if it is supplied, it must equal the
+ // end time. For `DELTA` metrics, the start
+ // and end time should specify a non-zero interval, with subsequent points
+ // specifying contiguous and non-overlapping intervals. For `CUMULATIVE`
+ // metrics, the start and end time should specify a non-zero interval, with
+ // subsequent points specifying the same start time and increasing end times,
+ // until an event resets the cumulative value to zero and sets a new start
+ // time for the following points.
+ TimeInterval interval = 1;
+
+ // The value of the data point.
+ TypedValue value = 2;
+}
+
+// A collection of data points that describes the time-varying values
+// of a metric. A time series is identified by a combination of a
+// fully-specified monitored resource and a fully-specified metric.
+// This type is used for both listing and creating time series.
+message TimeSeries {
+ // The associated metric. A fully-specified metric used to identify the time
+ // series.
+ google.api.Metric metric = 1;
+
+ // The associated monitored resource. Custom metrics can use only certain
+ // monitored resource types in their time series data.
+ google.api.MonitoredResource resource = 2;
+
+ // Output only. The associated monitored resource metadata. When reading a
+ // time series, this field will include metadata labels that are explicitly
+ // named in the reduction. When creating a time series, this field is ignored.
+ google.api.MonitoredResourceMetadata metadata = 7;
+
+ // The metric kind of the time series. When listing time series, this metric
+ // kind might be different from the metric kind of the associated metric if
+ // this time series is an alignment or reduction of other time series.
+ //
+ // When creating a time series, this field is optional. If present, it must be
+ // the same as the metric kind of the associated metric. If the associated
+ // metric's descriptor must be auto-created, then this field specifies the
+ // metric kind of the new descriptor and must be either `GAUGE` (the default)
+ // or `CUMULATIVE`.
+ google.api.MetricDescriptor.MetricKind metric_kind = 3;
+
+ // The value type of the time series. When listing time series, this value
+ // type might be different from the value type of the associated metric if
+ // this time series is an alignment or reduction of other time series.
+ //
+ // When creating a time series, this field is optional. If present, it must be
+ // the same as the type of the data in the `points` field.
+ google.api.MetricDescriptor.ValueType value_type = 4;
+
+ // The data points of this time series. When listing time series, points are
+ // returned in reverse time order.
+ //
+ // When creating a time series, this field must contain exactly one point and
+ // the point's type must be the same as the value type of the associated
+ // metric. If the associated metric's descriptor must be auto-created, then
+ // the value type of the descriptor is determined by the point's type, which
+ // must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.
+ repeated Point points = 5;
+
+ // The units in which the metric value is reported. It is only applicable
+ // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit`
+ // defines the representation of the stored metric values.
+ string unit = 8;
+}
+
+// A descriptor for the labels and points in a time series.
+message TimeSeriesDescriptor {
+ // A descriptor for the value columns in a data point.
+ message ValueDescriptor {
+ // The value key.
+ string key = 1;
+
+ // The value type.
+ google.api.MetricDescriptor.ValueType value_type = 2;
+
+ // The value stream kind.
+ google.api.MetricDescriptor.MetricKind metric_kind = 3;
+
+ // The unit in which `time_series` point values are reported. `unit`
+ // follows the UCUM format for units as seen in
+ // https://unitsofmeasure.org/ucum.html.
+ // `unit` is only valid if `value_type` is INTEGER, DOUBLE, DISTRIBUTION.
+ string unit = 4;
+ }
+
+ // Descriptors for the labels.
+ repeated google.api.LabelDescriptor label_descriptors = 1;
+
+ // Descriptors for the point data value columns.
+ repeated ValueDescriptor point_descriptors = 5;
+}
+
+// Represents the values of a time series associated with a
+// TimeSeriesDescriptor.
+message TimeSeriesData {
+ // A point's value columns and time interval. Each point has one or more
+ // point values corresponding to the entries in `point_descriptors` field in
+ // the TimeSeriesDescriptor associated with this object.
+ message PointData {
+ // The values that make up the point.
+ repeated TypedValue values = 1;
+
+ // The time interval associated with the point.
+ TimeInterval time_interval = 2;
+ }
+
+ // The values of the labels in the time series identifier, given in the same
+ // order as the `label_descriptors` field of the TimeSeriesDescriptor
+ // associated with this object. Each value must have a value of the type
+ // given in the corresponding entry of `label_descriptors`.
+ repeated LabelValue label_values = 1;
+
+ // The points in the time series.
+ repeated PointData point_data = 2;
+}
+
+// A label value.
+message LabelValue {
+ // The label value can be a bool, int64, or string.
+ oneof value {
+ // A bool label value.
+ bool bool_value = 1;
+
+ // An int64 label value.
+ int64 int64_value = 2;
+
+ // A string label value.
+ string string_value = 3;
+ }
+}
+
+// An error associated with a query in the time series query language format.
+message QueryError {
+ // The location of the time series query language text that this error applies
+ // to.
+ TextLocator locator = 1;
+
+ // The error message.
+ string message = 2;
+}
+
+// A locator for text. Indicates a particular part of the text of a request or
+// of an object referenced in the request.
+//
+// For example, suppose the request field `text` contains:
+//
+// text: "The quick brown fox jumps over the lazy dog."
+//
+// Then the locator:
+//
+// source: "text"
+// start_position {
+// line: 1
+// column: 17
+// }
+// end_position {
+// line: 1
+// column: 19
+// }
+//
+// refers to the part of the text: "fox".
+message TextLocator {
+ // The position of a byte within the text.
+ message Position {
+ // The line, starting with 1, where the byte is positioned.
+ int32 line = 1;
+
+ // The column within the line, starting with 1, where the byte is
+ // positioned. This is a byte index even though the text is UTF-8.
+ int32 column = 2;
+ }
+
+ // The source of the text. The source may be a field in the request, in which
+ // case its format is the format of the
+ // google.rpc.BadRequest.FieldViolation.field field in
+ // https://cloud.google.com/apis/design/errors#error_details. It may also be
+ // be a source other than the request field (e.g. a macro definition
+ // referenced in the text of the query), in which case this is the name of
+ // the source (e.g. the macro name).
+ string source = 1;
+
+ // The position of the first byte within the text.
+ Position start_position = 2;
+
+ // The position of the last byte within the text.
+ Position end_position = 3;
+
+ // If `source`, `start_position`, and `end_position` describe a call on
+ // some object (e.g. a macro in the time series query language text) and a
+ // location is to be designated in that object's text, `nested_locator`
+ // identifies the location within that object.
+ TextLocator nested_locator = 4;
+
+ // When `nested_locator` is set, this field gives the reason for the nesting.
+ // Usually, the reason is a macro invocation. In that case, the macro name
+ // (including the leading '@') signals the location of the macro call
+ // in the text and a macro argument name (including the leading '$') signals
+ // the location of the macro argument inside the macro body that got
+ // substituted away.
+ string nesting_reason = 5;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/metric_service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/metric_service.proto
new file mode 100644
index 00000000000..ab30e285166
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/metric_service.proto
@@ -0,0 +1,500 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/metric.proto";
+import "google/api/monitored_resource.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/alert.proto";
+import "google/monitoring/v3/common.proto";
+import "google/monitoring/v3/metric.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "MetricServiceProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+option (google.api.resource_definition) = {
+ type: "monitoring.googleapis.com/MetricDescriptor"
+ pattern: "projects/{project}/metricDescriptors/{metric_descriptor=**}"
+ pattern: "organizations/{organization}/metricDescriptors/{metric_descriptor=**}"
+ pattern: "folders/{folder}/metricDescriptors/{metric_descriptor=**}"
+ pattern: "*"
+ history: ORIGINALLY_SINGLE_PATTERN
+};
+option (google.api.resource_definition) = {
+ type: "monitoring.googleapis.com/MonitoredResourceDescriptor"
+ pattern: "projects/{project}/monitoredResourceDescriptors/{monitored_resource_descriptor}"
+ pattern: "organizations/{organization}/monitoredResourceDescriptors/{monitored_resource_descriptor}"
+ pattern: "folders/{folder}/monitoredResourceDescriptors/{monitored_resource_descriptor}"
+ pattern: "*"
+ history: ORIGINALLY_SINGLE_PATTERN
+};
+option (google.api.resource_definition) = {
+ type: "monitoring.googleapis.com/Workspace"
+ pattern: "projects/{project}"
+ pattern: "workspaces/{workspace}"
+};
+option (google.api.resource_definition) = {
+ type: "monitoring.googleapis.com/TimeSeries"
+ pattern: "projects/{project}/timeSeries/{time_series}"
+ pattern: "organizations/{organization}/timeSeries/{time_series}"
+ pattern: "folders/{folder}/timeSeries/{time_series}"
+};
+
+// Manages metric descriptors, monitored resource descriptors, and
+// time series data.
+service MetricService {
+ option (google.api.default_host) = "monitoring.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/monitoring,"
+ "https://www.googleapis.com/auth/monitoring.read,"
+ "https://www.googleapis.com/auth/monitoring.write";
+
+ // Lists monitored resource descriptors that match a filter. This method does not require a Workspace.
+ rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*}/monitoredResourceDescriptors"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a single monitored resource descriptor. This method does not require a Workspace.
+ rpc GetMonitoredResourceDescriptor(GetMonitoredResourceDescriptorRequest) returns (google.api.MonitoredResourceDescriptor) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/monitoredResourceDescriptors/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists metric descriptors that match a filter. This method does not require a Workspace.
+ rpc ListMetricDescriptors(ListMetricDescriptorsRequest) returns (ListMetricDescriptorsResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*}/metricDescriptors"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a single metric descriptor. This method does not require a Workspace.
+ rpc GetMetricDescriptor(GetMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/metricDescriptors/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new metric descriptor.
+ // User-created metric descriptors define
+ // [custom metrics](https://cloud.google.com/monitoring/custom-metrics).
+ rpc CreateMetricDescriptor(CreateMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*}/metricDescriptors"
+ body: "metric_descriptor"
+ };
+ option (google.api.method_signature) = "name,metric_descriptor";
+ }
+
+ // Deletes a metric descriptor. Only user-created
+ // [custom metrics](https://cloud.google.com/monitoring/custom-metrics) can be
+ // deleted.
+ rpc DeleteMetricDescriptor(DeleteMetricDescriptorRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v3/{name=projects/*/metricDescriptors/**}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists time series that match a filter. This method does not require a Workspace.
+ rpc ListTimeSeries(ListTimeSeriesRequest) returns (ListTimeSeriesResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*}/timeSeries"
+ additional_bindings {
+ get: "/v3/{name=organizations/*}/timeSeries"
+ }
+ additional_bindings {
+ get: "/v3/{name=folders/*}/timeSeries"
+ }
+ };
+ option (google.api.method_signature) = "name,filter,interval,view";
+ }
+
+ // Creates or adds data to one or more time series.
+ // The response is empty if all time series in the request were written.
+ // If any time series could not be written, a corresponding failure message is
+ // included in the error response.
+ rpc CreateTimeSeries(CreateTimeSeriesRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*}/timeSeries"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,time_series";
+ }
+}
+
+// The `ListMonitoredResourceDescriptors` request.
+message ListMonitoredResourceDescriptorsRequest {
+ // Required. The project on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string name = 5 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/MonitoredResourceDescriptor"
+ }
+ ];
+
+ // An optional [filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // describing the descriptors to be returned. The filter can reference the
+ // descriptor's type and labels. For example, the following filter returns
+ // only Google Compute Engine descriptors that have an `id` label:
+ //
+ // resource.type = starts_with("gce_") AND resource.label:id
+ string filter = 2;
+
+ // A positive number that is the maximum number of results to return.
+ int32 page_size = 3;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 4;
+}
+
+// The `ListMonitoredResourceDescriptors` response.
+message ListMonitoredResourceDescriptorsResponse {
+ // The monitored resource descriptors that are available to this project
+ // and that match `filter`, if present.
+ repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1;
+
+ // If there are more results than have been returned, then this field is set
+ // to a non-empty value. To see the additional results,
+ // use that value as `page_token` in the next call to this method.
+ string next_page_token = 2;
+}
+
+// The `GetMonitoredResourceDescriptor` request.
+message GetMonitoredResourceDescriptorRequest {
+ // Required. The monitored resource descriptor to get. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/monitoredResourceDescriptors/[RESOURCE_TYPE]
+ //
+ // The `[RESOURCE_TYPE]` is a predefined type, such as
+ // `cloudsql_database`.
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/MonitoredResourceDescriptor"
+ }
+ ];
+}
+
+// The `ListMetricDescriptors` request.
+message ListMetricDescriptorsRequest {
+ // Required. The project on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string name = 5 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/MetricDescriptor"
+ }
+ ];
+
+ // If this field is empty, all custom and
+ // system-defined metric descriptors are returned.
+ // Otherwise, the [filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // specifies which metric descriptors are to be
+ // returned. For example, the following filter matches all
+ // [custom metrics](https://cloud.google.com/monitoring/custom-metrics):
+ //
+ // metric.type = starts_with("custom.googleapis.com/")
+ string filter = 2;
+
+ // A positive number that is the maximum number of results to return.
+ int32 page_size = 3;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 4;
+}
+
+// The `ListMetricDescriptors` response.
+message ListMetricDescriptorsResponse {
+ // The metric descriptors that are available to the project
+ // and that match the value of `filter`, if present.
+ repeated google.api.MetricDescriptor metric_descriptors = 1;
+
+ // If there are more results than have been returned, then this field is set
+ // to a non-empty value. To see the additional results,
+ // use that value as `page_token` in the next call to this method.
+ string next_page_token = 2;
+}
+
+// The `GetMetricDescriptor` request.
+message GetMetricDescriptorRequest {
+ // Required. The metric descriptor on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID]
+ //
+ // An example value of `[METRIC_ID]` is
+ // `"compute.googleapis.com/instance/disk/read_bytes_count"`.
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/MetricDescriptor"
+ }
+ ];
+}
+
+// The `CreateMetricDescriptor` request.
+message CreateMetricDescriptorRequest {
+ // Required. The project on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/MetricDescriptor"
+ }
+ ];
+
+ // Required. The new [custom metric](https://cloud.google.com/monitoring/custom-metrics)
+ // descriptor.
+ google.api.MetricDescriptor metric_descriptor = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The `DeleteMetricDescriptor` request.
+message DeleteMetricDescriptorRequest {
+ // Required. The metric descriptor on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/metricDescriptors/[METRIC_ID]
+ //
+ // An example of `[METRIC_ID]` is:
+ // `"custom.googleapis.com/my_test_metric"`.
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/MetricDescriptor"
+ }
+ ];
+}
+
+// The `ListTimeSeries` request.
+message ListTimeSeriesRequest {
+ // Controls which fields are returned by `ListTimeSeries`.
+ enum TimeSeriesView {
+ // Returns the identity of the metric(s), the time series,
+ // and the time series data.
+ FULL = 0;
+
+ // Returns the identity of the metric and the time series resource,
+ // but not the time series data.
+ HEADERS = 1;
+ }
+
+ // Required. The project, organization or folder on which to execute the request. The
+ // format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ // organizations/[ORGANIZATION_ID]
+ // folders/[FOLDER_ID]
+ string name = 10 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/TimeSeries"
+ }
+ ];
+
+ // Required. A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // that specifies which time series should be returned. The filter must
+ // specify a single metric type, and can additionally specify metric labels
+ // and other information. For example:
+ //
+ // metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
+ // metric.labels.instance_name = "my-instance-name"
+ string filter = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The time interval for which results should be returned. Only time series
+ // that contain data points in the specified interval are included
+ // in the response.
+ TimeInterval interval = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies the alignment of data points in individual time series as
+ // well as how to combine the retrieved time series across specified labels.
+ //
+ // By default (if no `aggregation` is explicitly specified), the raw time
+ // series data is returned.
+ Aggregation aggregation = 5;
+
+ // Apply a second aggregation after `aggregation` is applied. May only be
+ // specified if `aggregation` is specified.
+ Aggregation secondary_aggregation = 11;
+
+ // Unsupported: must be left blank. The points in each time series are
+ // currently returned in reverse time order (most recent to oldest).
+ string order_by = 6;
+
+ // Required. Specifies which information is returned about the time series.
+ TimeSeriesView view = 7 [(google.api.field_behavior) = REQUIRED];
+
+ // A positive number that is the maximum number of results to return. If
+ // `page_size` is empty or more than 100,000 results, the effective
+ // `page_size` is 100,000 results. If `view` is set to `FULL`, this is the
+ // maximum number of `Points` returned. If `view` is set to `HEADERS`, this is
+ // the maximum number of `TimeSeries` returned.
+ int32 page_size = 8;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 9;
+}
+
+// The `ListTimeSeries` response.
+message ListTimeSeriesResponse {
+ // One or more time series that match the filter included in the request.
+ repeated TimeSeries time_series = 1;
+
+ // If there are more results than have been returned, then this field is set
+ // to a non-empty value. To see the additional results,
+ // use that value as `page_token` in the next call to this method.
+ string next_page_token = 2;
+
+ // Query execution errors that may have caused the time series data returned
+ // to be incomplete.
+ repeated google.rpc.Status execution_errors = 3;
+
+ // The unit in which all `time_series` point values are reported. `unit`
+ // follows the UCUM format for units as seen in
+ // https://unitsofmeasure.org/ucum.html.
+ // If different `time_series` have different units (for example, because they
+ // come from different metric types, or a unit is absent), then `unit` will be
+ // "{not_a_unit}".
+ string unit = 5;
+}
+
+// The `CreateTimeSeries` request.
+message CreateTimeSeriesRequest {
+ // Required. The project on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. The new data to be added to a list of time series.
+ // Adds at most one data point to each of several time series. The new data
+ // point must be more recent than any other point in its time series. Each
+ // `TimeSeries` value must fully specify a unique time series by supplying
+ // all label values for the metric and the monitored resource.
+ //
+ // The maximum number of `TimeSeries` objects per `Create` request is 200.
+ repeated TimeSeries time_series = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// DEPRECATED. Used to hold per-time-series error status.
+message CreateTimeSeriesError {
+ // DEPRECATED. Time series ID that resulted in the `status` error.
+ TimeSeries time_series = 1 [deprecated = true];
+
+ // DEPRECATED. The status of the requested write operation for `time_series`.
+ google.rpc.Status status = 2 [deprecated = true];
+}
+
+// Summary of the result of a failed request to write data to a time series.
+message CreateTimeSeriesSummary {
+ // Detailed information about an error category.
+ message Error {
+ // The status of the requested write operation.
+ google.rpc.Status status = 1;
+
+ // The number of points that couldn't be written because of `status`.
+ int32 point_count = 2;
+ }
+
+ // The number of points in the request.
+ int32 total_point_count = 1;
+
+ // The number of points that were successfully written.
+ int32 success_point_count = 2;
+
+ // The number of points that failed to be written. Order is not guaranteed.
+ repeated Error errors = 3;
+}
+
+// The `QueryTimeSeries` request.
+message QueryTimeSeriesRequest {
+ // Required. The project on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string name = 1;
+
+ // Required. The query in the [Monitoring Query
+ // Language](https://cloud.google.com/monitoring/mql/reference) format.
+ // The default time zone is in UTC.
+ string query = 7;
+
+ // A positive number that is the maximum number of time_series_data to return.
+ int32 page_size = 9;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 10;
+}
+
+// The `QueryTimeSeries` response.
+message QueryTimeSeriesResponse {
+ // The descriptor for the time series data.
+ TimeSeriesDescriptor time_series_descriptor = 8;
+
+ // The time series data.
+ repeated TimeSeriesData time_series_data = 9;
+
+ // If there are more results than have been returned, then this field is set
+ // to a non-empty value. To see the additional results, use that value as
+ // `page_token` in the next call to this method.
+ string next_page_token = 10;
+
+ // Query execution errors that may have caused the time series data returned
+ // to be incomplete. The available data will be available in the
+ // response.
+ repeated google.rpc.Status partial_errors = 11;
+}
+
+// This is an error detail intended to be used with INVALID_ARGUMENT errors.
+message QueryErrorList {
+ // Errors in parsing the time series query language text. The number of errors
+ // in the response may be limited.
+ repeated QueryError errors = 1;
+
+ // A summary of all the errors.
+ string error_summary = 2;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/mutation_record.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/mutation_record.proto
new file mode 100644
index 00000000000..77c2d5c2b75
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/mutation_record.proto
@@ -0,0 +1,36 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "MutationRecordProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// Describes a change made to a configuration.
+message MutationRecord {
+ // When the change occurred.
+ google.protobuf.Timestamp mutate_time = 1;
+
+ // The email address of the user making the change.
+ string mutated_by = 2;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/notification.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/notification.proto
new file mode 100644
index 00000000000..74ea3a15f4f
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/notification.proto
@@ -0,0 +1,193 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/label.proto";
+import "google/api/launch_stage.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/common.proto";
+import "google/monitoring/v3/mutation_record.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "NotificationProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// A description of a notification channel. The descriptor includes
+// the properties of the channel and the set of labels or fields that
+// must be specified to configure channels of a given type.
+message NotificationChannelDescriptor {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/NotificationChannelDescriptor"
+ pattern: "projects/{project}/notificationChannelDescriptors/{channel_descriptor}"
+ pattern: "organizations/{organization}/notificationChannelDescriptors/{channel_descriptor}"
+ pattern: "folders/{folder}/notificationChannelDescriptors/{channel_descriptor}"
+ pattern: "*"
+ };
+
+ // The full REST resource name for this descriptor. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[TYPE]
+ //
+ // In the above, `[TYPE]` is the value of the `type` field.
+ string name = 6;
+
+ // The type of notification channel, such as "email" and "sms". To view the
+ // full list of channels, see
+ // [Channel
+ // descriptors](https://cloud.google.com/monitoring/alerts/using-channels-api#ncd).
+ // Notification channel types are globally unique.
+ string type = 1;
+
+ // A human-readable name for the notification channel type. This
+ // form of the name is suitable for a user interface.
+ string display_name = 2;
+
+ // A human-readable description of the notification channel
+ // type. The description may include a description of the properties
+ // of the channel and pointers to external documentation.
+ string description = 3;
+
+ // The set of labels that must be defined to identify a particular
+ // channel of the corresponding type. Each label includes a
+ // description for how that field should be populated.
+ repeated google.api.LabelDescriptor labels = 4;
+
+ // The tiers that support this notification channel; the project service tier
+ // must be one of the supported_tiers.
+ repeated ServiceTier supported_tiers = 5 [deprecated = true];
+
+ // The product launch stage for channels of this type.
+ google.api.LaunchStage launch_stage = 7;
+}
+
+// A `NotificationChannel` is a medium through which an alert is
+// delivered when a policy violation is detected. Examples of channels
+// include email, SMS, and third-party messaging applications. Fields
+// containing sensitive information like authentication tokens or
+// contact info are only partially populated on retrieval.
+message NotificationChannel {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/NotificationChannel"
+ pattern: "projects/{project}/notificationChannels/{notification_channel}"
+ pattern: "organizations/{organization}/notificationChannels/{notification_channel}"
+ pattern: "folders/{folder}/notificationChannels/{notification_channel}"
+ pattern: "*"
+ };
+
+ // Indicates whether the channel has been verified or not. It is illegal
+ // to specify this field in a
+ // [`CreateNotificationChannel`][google.monitoring.v3.NotificationChannelService.CreateNotificationChannel]
+ // or an
+ // [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel]
+ // operation.
+ enum VerificationStatus {
+ // Sentinel value used to indicate that the state is unknown, omitted, or
+ // is not applicable (as in the case of channels that neither support
+ // nor require verification in order to function).
+ VERIFICATION_STATUS_UNSPECIFIED = 0;
+
+ // The channel has yet to be verified and requires verification to function.
+ // Note that this state also applies to the case where the verification
+ // process has been initiated by sending a verification code but where
+ // the verification code has not been submitted to complete the process.
+ UNVERIFIED = 1;
+
+ // It has been proven that notifications can be received on this
+ // notification channel and that someone on the project has access
+ // to messages that are delivered to that channel.
+ VERIFIED = 2;
+ }
+
+ // The type of the notification channel. This field matches the
+ // value of the [NotificationChannelDescriptor.type][google.monitoring.v3.NotificationChannelDescriptor.type] field.
+ string type = 1;
+
+ // The full REST resource name for this channel. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
+ //
+ // The `[CHANNEL_ID]` is automatically assigned by the server on creation.
+ string name = 6;
+
+ // An optional human-readable name for this notification channel. It is
+ // recommended that you specify a non-empty and unique name in order to
+ // make it easier to identify the channels in your project, though this is
+ // not enforced. The display name is limited to 512 Unicode characters.
+ string display_name = 3;
+
+ // An optional human-readable description of this notification channel. This
+ // description may provide additional details, beyond the display
+ // name, for the channel. This may not exceed 1024 Unicode characters.
+ string description = 4;
+
+ // Configuration fields that define the channel and its behavior. The
+ // permissible and required labels are specified in the
+ // [NotificationChannelDescriptor.labels][google.monitoring.v3.NotificationChannelDescriptor.labels] of the
+ // `NotificationChannelDescriptor` corresponding to the `type` field.
+ map labels = 5;
+
+ // User-supplied key/value data that does not need to conform to
+ // the corresponding `NotificationChannelDescriptor`'s schema, unlike
+ // the `labels` field. This field is intended to be used for organizing
+ // and identifying the `NotificationChannel` objects.
+ //
+ // The field can contain up to 64 entries. Each key and value is limited to
+ // 63 Unicode characters or 128 bytes, whichever is smaller. Labels and
+ // values can contain only lowercase letters, numerals, underscores, and
+ // dashes. Keys must begin with a letter.
+ map user_labels = 8;
+
+ // Indicates whether this channel has been verified or not. On a
+ // [`ListNotificationChannels`][google.monitoring.v3.NotificationChannelService.ListNotificationChannels]
+ // or
+ // [`GetNotificationChannel`][google.monitoring.v3.NotificationChannelService.GetNotificationChannel]
+ // operation, this field is expected to be populated.
+ //
+ // If the value is `UNVERIFIED`, then it indicates that the channel is
+ // non-functioning (it both requires verification and lacks verification);
+ // otherwise, it is assumed that the channel works.
+ //
+ // If the channel is neither `VERIFIED` nor `UNVERIFIED`, it implies that
+ // the channel is of a type that does not require verification or that
+ // this specific channel has been exempted from verification because it was
+ // created prior to verification being required for channels of this type.
+ //
+ // This field cannot be modified using a standard
+ // [`UpdateNotificationChannel`][google.monitoring.v3.NotificationChannelService.UpdateNotificationChannel]
+ // operation. To change the value of this field, you must call
+ // [`VerifyNotificationChannel`][google.monitoring.v3.NotificationChannelService.VerifyNotificationChannel].
+ VerificationStatus verification_status = 9;
+
+ // Whether notifications are forwarded to the described channel. This makes
+ // it possible to disable delivery of notifications to a particular channel
+ // without removing the channel from all alerting policies that reference
+ // the channel. This is a more convenient approach when the change is
+ // temporary and you want to receive notifications from the same set
+ // of alerting policies on the channel at some point in the future.
+ google.protobuf.BoolValue enabled = 11;
+
+ // Record of the creation of this channel.
+ MutationRecord creation_record = 12;
+
+ // Records of the modification of this channel.
+ repeated MutationRecord mutation_records = 13;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/notification_service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/notification_service.proto
new file mode 100644
index 00000000000..0039ce15ebc
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/notification_service.proto
@@ -0,0 +1,411 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/notification.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "NotificationServiceProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The Notification Channel API provides access to configuration that
+// controls how messages related to incidents are sent.
+service NotificationChannelService {
+ option (google.api.default_host) = "monitoring.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/monitoring,"
+ "https://www.googleapis.com/auth/monitoring.read";
+
+ // Lists the descriptors for supported channel types. The use of descriptors
+ // makes it possible for new channel types to be dynamically added.
+ rpc ListNotificationChannelDescriptors(ListNotificationChannelDescriptorsRequest) returns (ListNotificationChannelDescriptorsResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*}/notificationChannelDescriptors"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a single channel descriptor. The descriptor indicates which fields
+ // are expected / permitted for a notification channel of the given type.
+ rpc GetNotificationChannelDescriptor(GetNotificationChannelDescriptorRequest) returns (NotificationChannelDescriptor) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/notificationChannelDescriptors/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists the notification channels that have been created for the project.
+ rpc ListNotificationChannels(ListNotificationChannelsRequest) returns (ListNotificationChannelsResponse) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*}/notificationChannels"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a single notification channel. The channel includes the relevant
+ // configuration details with which the channel was created. However, the
+ // response may truncate or omit passwords, API keys, or other private key
+ // matter and thus the response may not be 100% identical to the information
+ // that was supplied in the call to the create method.
+ rpc GetNotificationChannel(GetNotificationChannelRequest) returns (NotificationChannel) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/notificationChannels/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new notification channel, representing a single notification
+ // endpoint such as an email address, SMS number, or PagerDuty service.
+ rpc CreateNotificationChannel(CreateNotificationChannelRequest) returns (NotificationChannel) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*}/notificationChannels"
+ body: "notification_channel"
+ };
+ option (google.api.method_signature) = "name,notification_channel";
+ }
+
+ // Updates a notification channel. Fields not specified in the field mask
+ // remain unchanged.
+ rpc UpdateNotificationChannel(UpdateNotificationChannelRequest) returns (NotificationChannel) {
+ option (google.api.http) = {
+ patch: "/v3/{notification_channel.name=projects/*/notificationChannels/*}"
+ body: "notification_channel"
+ };
+ option (google.api.method_signature) = "update_mask,notification_channel";
+ }
+
+ // Deletes a notification channel.
+ rpc DeleteNotificationChannel(DeleteNotificationChannelRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v3/{name=projects/*/notificationChannels/*}"
+ };
+ option (google.api.method_signature) = "name,force";
+ }
+
+ // Causes a verification code to be delivered to the channel. The code
+ // can then be supplied in `VerifyNotificationChannel` to verify the channel.
+ rpc SendNotificationChannelVerificationCode(SendNotificationChannelVerificationCodeRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*/notificationChannels/*}:sendVerificationCode"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Requests a verification code for an already verified channel that can then
+ // be used in a call to VerifyNotificationChannel() on a different channel
+ // with an equivalent identity in the same or in a different project. This
+ // makes it possible to copy a channel between projects without requiring
+ // manual reverification of the channel. If the channel is not in the
+ // verified state, this method will fail (in other words, this may only be
+ // used if the SendNotificationChannelVerificationCode and
+ // VerifyNotificationChannel paths have already been used to put the given
+ // channel into the verified state).
+ //
+ // There is no guarantee that the verification codes returned by this method
+ // will be of a similar structure or form as the ones that are delivered
+ // to the channel via SendNotificationChannelVerificationCode; while
+ // VerifyNotificationChannel() will recognize both the codes delivered via
+ // SendNotificationChannelVerificationCode() and returned from
+ // GetNotificationChannelVerificationCode(), it is typically the case that
+ // the verification codes delivered via
+ // SendNotificationChannelVerificationCode() will be shorter and also
+ // have a shorter expiration (e.g. codes such as "G-123456") whereas
+ // GetVerificationCode() will typically return a much longer, websafe base
+ // 64 encoded string that has a longer expiration time.
+ rpc GetNotificationChannelVerificationCode(GetNotificationChannelVerificationCodeRequest) returns (GetNotificationChannelVerificationCodeResponse) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*/notificationChannels/*}:getVerificationCode"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Verifies a `NotificationChannel` by proving receipt of the code
+ // delivered to the channel as a result of calling
+ // `SendNotificationChannelVerificationCode`.
+ rpc VerifyNotificationChannel(VerifyNotificationChannelRequest) returns (NotificationChannel) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*/notificationChannels/*}:verify"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name,code";
+ }
+}
+
+// The `ListNotificationChannelDescriptors` request.
+message ListNotificationChannelDescriptorsRequest {
+ // Required. The REST resource name of the parent from which to retrieve
+ // the notification channel descriptors. The expected syntax is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ //
+ // Note that this names the parent container in which to look for the
+ // descriptors; to retrieve a single descriptor by name, use the
+ // [GetNotificationChannelDescriptor][google.monitoring.v3.NotificationChannelService.GetNotificationChannelDescriptor]
+ // operation, instead.
+ string name = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/NotificationChannelDescriptor"
+ }
+ ];
+
+ // The maximum number of results to return in a single response. If
+ // not set to a positive number, a reasonable value will be chosen by the
+ // service.
+ int32 page_size = 2;
+
+ // If non-empty, `page_token` must contain a value returned as the
+ // `next_page_token` in a previous response to request the next set
+ // of results.
+ string page_token = 3;
+}
+
+// The `ListNotificationChannelDescriptors` response.
+message ListNotificationChannelDescriptorsResponse {
+ // The monitored resource descriptors supported for the specified
+ // project, optionally filtered.
+ repeated NotificationChannelDescriptor channel_descriptors = 1;
+
+ // If not empty, indicates that there may be more results that match
+ // the request. Use the value in the `page_token` field in a
+ // subsequent request to fetch the next set of results. If empty,
+ // all results have been returned.
+ string next_page_token = 2;
+}
+
+// The `GetNotificationChannelDescriptor` response.
+message GetNotificationChannelDescriptorRequest {
+ // Required. The channel type for which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/notificationChannelDescriptors/[CHANNEL_TYPE]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/NotificationChannelDescriptor"
+ }
+ ];
+}
+
+// The `CreateNotificationChannel` request.
+message CreateNotificationChannelRequest {
+ // Required. The project on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ //
+ // This names the container into which the channel will be
+ // written, this does not name the newly created channel. The resulting
+ // channel's name will have a normalized version of this field as a prefix,
+ // but will add `/notificationChannels/[CHANNEL_ID]` to identify the channel.
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/NotificationChannel"
+ }
+ ];
+
+ // Required. The definition of the `NotificationChannel` to create.
+ NotificationChannel notification_channel = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The `ListNotificationChannels` request.
+message ListNotificationChannelsRequest {
+ // Required. The project on which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ //
+ // This names the container
+ // in which to look for the notification channels; it does not name a
+ // specific channel. To query a specific channel by REST resource name, use
+ // the
+ // [`GetNotificationChannel`][google.monitoring.v3.NotificationChannelService.GetNotificationChannel]
+ // operation.
+ string name = 5 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/NotificationChannel"
+ }
+ ];
+
+ // If provided, this field specifies the criteria that must be met by
+ // notification channels to be included in the response.
+ //
+ // For more details, see [sorting and
+ // filtering](https://cloud.google.com/monitoring/api/v3/sorting-and-filtering).
+ string filter = 6;
+
+ // A comma-separated list of fields by which to sort the result. Supports
+ // the same set of fields as in `filter`. Entries can be prefixed with
+ // a minus sign to sort in descending rather than ascending order.
+ //
+ // For more details, see [sorting and
+ // filtering](https://cloud.google.com/monitoring/api/v3/sorting-and-filtering).
+ string order_by = 7;
+
+ // The maximum number of results to return in a single response. If
+ // not set to a positive number, a reasonable value will be chosen by the
+ // service.
+ int32 page_size = 3;
+
+ // If non-empty, `page_token` must contain a value returned as the
+ // `next_page_token` in a previous response to request the next set
+ // of results.
+ string page_token = 4;
+}
+
+// The `ListNotificationChannels` response.
+message ListNotificationChannelsResponse {
+ // The notification channels defined for the specified project.
+ repeated NotificationChannel notification_channels = 3;
+
+ // If not empty, indicates that there may be more results that match
+ // the request. Use the value in the `page_token` field in a
+ // subsequent request to fetch the next set of results. If empty,
+ // all results have been returned.
+ string next_page_token = 2;
+
+ // The total number of notification channels in all pages. This number is only
+ // an estimate, and may change in subsequent pages. https://aip.dev/158
+ int32 total_size = 4;
+}
+
+// The `GetNotificationChannel` request.
+message GetNotificationChannelRequest {
+ // Required. The channel for which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/NotificationChannel"
+ }
+ ];
+}
+
+// The `UpdateNotificationChannel` request.
+message UpdateNotificationChannelRequest {
+ // The fields to update.
+ google.protobuf.FieldMask update_mask = 2;
+
+ // Required. A description of the changes to be applied to the specified
+ // notification channel. The description must provide a definition for
+ // fields to be updated; the names of these fields should also be
+ // included in the `update_mask`.
+ NotificationChannel notification_channel = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The `DeleteNotificationChannel` request.
+message DeleteNotificationChannelRequest {
+ // Required. The channel for which to execute the request. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
+ string name = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/NotificationChannel"
+ }
+ ];
+
+ // If true, the notification channel will be deleted regardless of its
+ // use in alert policies (the policies will be updated to remove the
+ // channel). If false, channels that are still referenced by an existing
+ // alerting policy will fail to be deleted in a delete operation.
+ bool force = 5;
+}
+
+// The `SendNotificationChannelVerificationCode` request.
+message SendNotificationChannelVerificationCodeRequest {
+ // Required. The notification channel to which to send a verification code.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/NotificationChannel"
+ }
+ ];
+}
+
+// The `GetNotificationChannelVerificationCode` request.
+message GetNotificationChannelVerificationCodeRequest {
+ // Required. The notification channel for which a verification code is to be generated
+ // and retrieved. This must name a channel that is already verified; if
+ // the specified channel is not verified, the request will fail.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/NotificationChannel"
+ }
+ ];
+
+ // The desired expiration time. If specified, the API will guarantee that
+ // the returned code will not be valid after the specified timestamp;
+ // however, the API cannot guarantee that the returned code will be
+ // valid for at least as long as the requested time (the API puts an upper
+ // bound on the amount of time for which a code may be valid). If omitted,
+ // a default expiration will be used, which may be less than the max
+ // permissible expiration (so specifying an expiration may extend the
+ // code's lifetime over omitting an expiration, even though the API does
+ // impose an upper limit on the maximum expiration that is permitted).
+ google.protobuf.Timestamp expire_time = 2;
+}
+
+// The `GetNotificationChannelVerificationCode` request.
+message GetNotificationChannelVerificationCodeResponse {
+ // The verification code, which may be used to verify other channels
+ // that have an equivalent identity (i.e. other channels of the same
+ // type with the same fingerprint such as other email channels with
+ // the same email address or other sms channels with the same number).
+ string code = 1;
+
+ // The expiration time associated with the code that was returned. If
+ // an expiration was provided in the request, this is the minimum of the
+ // requested expiration in the request and the max permitted expiration.
+ google.protobuf.Timestamp expire_time = 2;
+}
+
+// The `VerifyNotificationChannel` request.
+message VerifyNotificationChannelRequest {
+ // Required. The notification channel to verify.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/NotificationChannel"
+ }
+ ];
+
+ // Required. The verification code that was delivered to the channel as
+ // a result of invoking the `SendNotificationChannelVerificationCode` API
+ // method or that was retrieved from a verified channel via
+ // `GetNotificationChannelVerificationCode`. For example, one might have
+ // "G-123456" or "TKNZGhhd2EyN3I1MnRnMjRv" (in general, one is only
+ // guaranteed that the code is valid UTF-8; one should not
+ // make any assumptions regarding the structure or format of the code).
+ string code = 2 [(google.api.field_behavior) = REQUIRED];
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/query_service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/query_service.proto
new file mode 100644
index 00000000000..80bb4126336
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/query_service.proto
@@ -0,0 +1,50 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/annotations.proto";
+import "google/api/label.proto";
+import "google/monitoring/v3/metric.proto";
+import "google/monitoring/v3/metric_service.proto";
+import "google/api/client.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "QueryServiceProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The QueryService API is used to manage time series data in Stackdriver
+// Monitoring. Time series data is a collection of data points that describes
+// the time-varying values of a metric.
+service QueryService {
+ option (google.api.default_host) = "monitoring.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/monitoring,"
+ "https://www.googleapis.com/auth/monitoring.read";
+
+ // Queries time series using Monitoring Query Language. This method does not require a Workspace.
+ rpc QueryTimeSeries(QueryTimeSeriesRequest) returns (QueryTimeSeriesResponse) {
+ option (google.api.http) = {
+ post: "/v3/{name=projects/*}/timeSeries:query"
+ body: "*"
+ };
+ }
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/service.proto
new file mode 100644
index 00000000000..a0156e9e8dc
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/service.proto
@@ -0,0 +1,444 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/resource.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/calendar_period.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "ServiceMonitoringProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// A `Service` is a discrete, autonomous, and network-accessible unit, designed
+// to solve an individual concern
+// ([Wikipedia](https://en.wikipedia.org/wiki/Service-orientation)). In
+// Cloud Monitoring, a `Service` acts as the root resource under which
+// operational aspects of the service are accessible.
+message Service {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/Service"
+ pattern: "projects/{project}/services/{service}"
+ pattern: "organizations/{organization}/services/{service}"
+ pattern: "folders/{folder}/services/{service}"
+ pattern: "*"
+ };
+
+ // Custom view of service telemetry. Currently a place-holder pending final
+ // design.
+ message Custom {
+
+ }
+
+ // App Engine service. Learn more at https://cloud.google.com/appengine.
+ message AppEngine {
+ // The ID of the App Engine module underlying this service. Corresponds to
+ // the `module_id` resource label in the `gae_app` monitored resource:
+ // https://cloud.google.com/monitoring/api/resources#tag_gae_app
+ string module_id = 1;
+ }
+
+ // Cloud Endpoints service. Learn more at https://cloud.google.com/endpoints.
+ message CloudEndpoints {
+ // The name of the Cloud Endpoints service underlying this service.
+ // Corresponds to the `service` resource label in the `api` monitored
+ // resource: https://cloud.google.com/monitoring/api/resources#tag_api
+ string service = 1;
+ }
+
+ // Istio service scoped to a single Kubernetes cluster. Learn more at
+ // https://istio.io. Clusters running OSS Istio will have their services
+ // ingested as this type.
+ message ClusterIstio {
+ // The location of the Kubernetes cluster in which this Istio service is
+ // defined. Corresponds to the `location` resource label in `k8s_cluster`
+ // resources.
+ string location = 1;
+
+ // The name of the Kubernetes cluster in which this Istio service is
+ // defined. Corresponds to the `cluster_name` resource label in
+ // `k8s_cluster` resources.
+ string cluster_name = 2;
+
+ // The namespace of the Istio service underlying this service. Corresponds
+ // to the `destination_service_namespace` metric label in Istio metrics.
+ string service_namespace = 3;
+
+ // The name of the Istio service underlying this service. Corresponds to the
+ // `destination_service_name` metric label in Istio metrics.
+ string service_name = 4;
+ }
+
+ // Istio service scoped to an Istio mesh. Anthos clusters running ASM < 1.6.8
+ // will have their services ingested as this type.
+ message MeshIstio {
+ // Identifier for the mesh in which this Istio service is defined.
+ // Corresponds to the `mesh_uid` metric label in Istio metrics.
+ string mesh_uid = 1;
+
+ // The namespace of the Istio service underlying this service. Corresponds
+ // to the `destination_service_namespace` metric label in Istio metrics.
+ string service_namespace = 3;
+
+ // The name of the Istio service underlying this service. Corresponds to the
+ // `destination_service_name` metric label in Istio metrics.
+ string service_name = 4;
+ }
+
+ // Canonical service scoped to an Istio mesh. Anthos clusters running ASM >=
+ // 1.6.8 will have their services ingested as this type.
+ message IstioCanonicalService {
+ // Identifier for the Istio mesh in which this canonical service is defined.
+ // Corresponds to the `mesh_uid` metric label in
+ // [Istio metrics](https://cloud.google.com/monitoring/api/metrics_istio).
+ string mesh_uid = 1;
+
+ // The namespace of the canonical service underlying this service.
+ // Corresponds to the `destination_canonical_service_namespace` metric
+ // label in [Istio
+ // metrics](https://cloud.google.com/monitoring/api/metrics_istio).
+ string canonical_service_namespace = 3;
+
+ // The name of the canonical service underlying this service.
+ // Corresponds to the `destination_canonical_service_name` metric label in
+ // label in [Istio
+ // metrics](https://cloud.google.com/monitoring/api/metrics_istio).
+ string canonical_service = 4;
+ }
+
+ // Configuration for how to query telemetry on a Service.
+ message Telemetry {
+ // The full name of the resource that defines this service. Formatted as
+ // described in https://cloud.google.com/apis/design/resource_names.
+ string resource_name = 1;
+ }
+
+ // Resource name for this Service. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
+ string name = 1;
+
+ // Name used for UI elements listing this Service.
+ string display_name = 2;
+
+ // REQUIRED. Service-identifying atoms specifying the underlying service.
+ oneof identifier {
+ // Custom service type.
+ Custom custom = 6;
+
+ // Type used for App Engine services.
+ AppEngine app_engine = 7;
+
+ // Type used for Cloud Endpoints services.
+ CloudEndpoints cloud_endpoints = 8;
+
+ // Type used for Istio services that live in a Kubernetes cluster.
+ ClusterIstio cluster_istio = 9;
+
+ // Type used for Istio services scoped to an Istio mesh.
+ MeshIstio mesh_istio = 10;
+
+ // Type used for canonical services scoped to an Istio mesh.
+ // Metrics for Istio are
+ // [documented here](https://istio.io/latest/docs/reference/config/metrics/)
+ IstioCanonicalService istio_canonical_service = 11;
+ }
+
+ // Configuration for how to query telemetry on a Service.
+ Telemetry telemetry = 13;
+}
+
+// A Service-Level Objective (SLO) describes a level of desired good service. It
+// consists of a service-level indicator (SLI), a performance goal, and a period
+// over which the objective is to be evaluated against that goal. The SLO can
+// use SLIs defined in a number of different manners. Typical SLOs might include
+// "99% of requests in each rolling week have latency below 200 milliseconds" or
+// "99.5% of requests in each calendar month return successfully."
+message ServiceLevelObjective {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/ServiceLevelObjective"
+ pattern: "projects/{project}/services/{service}/serviceLevelObjectives/{service_level_objective}"
+ pattern: "organizations/{organization}/services/{service}/serviceLevelObjectives/{service_level_objective}"
+ pattern: "folders/{folder}/services/{service}/serviceLevelObjectives/{service_level_objective}"
+ pattern: "*"
+ history: ORIGINALLY_SINGLE_PATTERN
+ };
+
+ // `ServiceLevelObjective.View` determines what form of
+ // `ServiceLevelObjective` is returned from `GetServiceLevelObjective`,
+ // `ListServiceLevelObjectives`, and `ListServiceLevelObjectiveVersions` RPCs.
+ enum View {
+ // Same as FULL.
+ VIEW_UNSPECIFIED = 0;
+
+ // Return the embedded `ServiceLevelIndicator` in the form in which it was
+ // defined. If it was defined using a `BasicSli`, return that `BasicSli`.
+ FULL = 2;
+
+ // For `ServiceLevelIndicator`s using `BasicSli` articulation, instead
+ // return the `ServiceLevelIndicator` with its mode of computation fully
+ // spelled out as a `RequestBasedSli`. For `ServiceLevelIndicator`s using
+ // `RequestBasedSli` or `WindowsBasedSli`, return the
+ // `ServiceLevelIndicator` as it was provided.
+ EXPLICIT = 1;
+ }
+
+ // Resource name for this `ServiceLevelObjective`. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
+ string name = 1;
+
+ // Name used for UI elements listing this SLO.
+ string display_name = 11;
+
+ // The definition of good service, used to measure and calculate the quality
+ // of the `Service`'s performance with respect to a single aspect of service
+ // quality.
+ ServiceLevelIndicator service_level_indicator = 3;
+
+ // The fraction of service that must be good in order for this objective to be
+ // met. `0 < goal <= 0.999`.
+ double goal = 4;
+
+ // The time period over which the objective will be evaluated.
+ oneof period {
+ // A rolling time period, semantically "in the past ``".
+ // Must be an integer multiple of 1 day no larger than 30 days.
+ google.protobuf.Duration rolling_period = 5;
+
+ // A calendar period, semantically "since the start of the current
+ // ``". At this time, only `DAY`, `WEEK`, `FORTNIGHT`, and
+ // `MONTH` are supported.
+ google.type.CalendarPeriod calendar_period = 6;
+ }
+}
+
+// A Service-Level Indicator (SLI) describes the "performance" of a service. For
+// some services, the SLI is well-defined. In such cases, the SLI can be
+// described easily by referencing the well-known SLI and providing the needed
+// parameters. Alternatively, a "custom" SLI can be defined with a query to the
+// underlying metric store. An SLI is defined to be `good_service /
+// total_service` over any queried time interval. The value of performance
+// always falls into the range `0 <= performance <= 1`. A custom SLI describes
+// how to compute this ratio, whether this is by dividing values from a pair of
+// time series, cutting a `Distribution` into good and bad counts, or counting
+// time windows in which the service complies with a criterion. For separation
+// of concerns, a single Service-Level Indicator measures performance for only
+// one aspect of service quality, such as fraction of successful queries or
+// fast-enough queries.
+message ServiceLevelIndicator {
+ // Service level indicators can be grouped by whether the "unit" of service
+ // being measured is based on counts of good requests or on counts of good
+ // time windows
+ oneof type {
+ // Basic SLI on a well-known service type.
+ BasicSli basic_sli = 4;
+
+ // Request-based SLIs
+ RequestBasedSli request_based = 1;
+
+ // Windows-based SLIs
+ WindowsBasedSli windows_based = 2;
+ }
+}
+
+// An SLI measuring performance on a well-known service type. Performance will
+// be computed on the basis of pre-defined metrics. The type of the
+// `service_resource` determines the metrics to use and the
+// `service_resource.labels` and `metric_labels` are used to construct a
+// monitoring filter to filter that metric down to just the data relevant to
+// this service.
+message BasicSli {
+ // Future parameters for the availability SLI.
+ message AvailabilityCriteria {
+
+ }
+
+ // Parameters for a latency threshold SLI.
+ message LatencyCriteria {
+ // Good service is defined to be the count of requests made to this service
+ // that return in no more than `threshold`.
+ google.protobuf.Duration threshold = 3;
+ }
+
+ // OPTIONAL: The set of RPCs to which this SLI is relevant. Telemetry from
+ // other methods will not be used to calculate performance for this SLI. If
+ // omitted, this SLI applies to all the Service's methods. For service types
+ // that don't support breaking down by method, setting this field will result
+ // in an error.
+ repeated string method = 7;
+
+ // OPTIONAL: The set of locations to which this SLI is relevant. Telemetry
+ // from other locations will not be used to calculate performance for this
+ // SLI. If omitted, this SLI applies to all locations in which the Service has
+ // activity. For service types that don't support breaking down by location,
+ // setting this field will result in an error.
+ repeated string location = 8;
+
+ // OPTIONAL: The set of API versions to which this SLI is relevant. Telemetry
+ // from other API versions will not be used to calculate performance for this
+ // SLI. If omitted, this SLI applies to all API versions. For service types
+ // that don't support breaking down by version, setting this field will result
+ // in an error.
+ repeated string version = 9;
+
+ // This SLI can be evaluated on the basis of availability or latency.
+ oneof sli_criteria {
+ // Good service is defined to be the count of requests made to this service
+ // that return successfully.
+ AvailabilityCriteria availability = 2;
+
+ // Good service is defined to be the count of requests made to this service
+ // that are fast enough with respect to `latency.threshold`.
+ LatencyCriteria latency = 3;
+ }
+}
+
+// Range of numerical values, inclusive of `min` and exclusive of `max`. If the
+// open range "< range.max" is desired, set `range.min = -infinity`. If the open
+// range ">= range.min" is desired, set `range.max = infinity`.
+message Range {
+ // Range minimum.
+ double min = 1;
+
+ // Range maximum.
+ double max = 2;
+}
+
+// Service Level Indicators for which atomic units of service are counted
+// directly.
+message RequestBasedSli {
+ // The means to compute a ratio of `good_service` to `total_service`.
+ oneof method {
+ // `good_total_ratio` is used when the ratio of `good_service` to
+ // `total_service` is computed from two `TimeSeries`.
+ TimeSeriesRatio good_total_ratio = 1;
+
+ // `distribution_cut` is used when `good_service` is a count of values
+ // aggregated in a `Distribution` that fall into a good range. The
+ // `total_service` is the total count of all values aggregated in the
+ // `Distribution`.
+ DistributionCut distribution_cut = 3;
+ }
+}
+
+// A `TimeSeriesRatio` specifies two `TimeSeries` to use for computing the
+// `good_service / total_service` ratio. The specified `TimeSeries` must have
+// `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind =
+// DELTA` or `MetricKind = CUMULATIVE`. The `TimeSeriesRatio` must specify
+// exactly two of good, bad, and total, and the relationship `good_service +
+// bad_service = total_service` will be assumed.
+message TimeSeriesRatio {
+ // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // specifying a `TimeSeries` quantifying good service provided. Must have
+ // `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind =
+ // DELTA` or `MetricKind = CUMULATIVE`.
+ string good_service_filter = 4;
+
+ // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // specifying a `TimeSeries` quantifying bad service, either demanded service
+ // that was not provided or demanded service that was of inadequate quality.
+ // Must have `ValueType = DOUBLE` or `ValueType = INT64` and must have
+ // `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.
+ string bad_service_filter = 5;
+
+ // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // specifying a `TimeSeries` quantifying total demanded service. Must have
+ // `ValueType = DOUBLE` or `ValueType = INT64` and must have `MetricKind =
+ // DELTA` or `MetricKind = CUMULATIVE`.
+ string total_service_filter = 6;
+}
+
+// A `DistributionCut` defines a `TimeSeries` and thresholds used for measuring
+// good service and total service. The `TimeSeries` must have `ValueType =
+// DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`. The
+// computed `good_service` will be the count of values x in the `Distribution`
+// such that `range.min <= x < range.max`.
+message DistributionCut {
+ // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // specifying a `TimeSeries` aggregating values. Must have `ValueType =
+ // DISTRIBUTION` and `MetricKind = DELTA` or `MetricKind = CUMULATIVE`.
+ string distribution_filter = 4;
+
+ // Range of values considered "good." For a one-sided range, set one bound to
+ // an infinite value.
+ Range range = 5;
+}
+
+// A `WindowsBasedSli` defines `good_service` as the count of time windows for
+// which the provided service was of good quality. Criteria for determining
+// if service was good are embedded in the `window_criterion`.
+message WindowsBasedSli {
+ // A `PerformanceThreshold` is used when each window is good when that window
+ // has a sufficiently high `performance`.
+ message PerformanceThreshold {
+ // The means, either a request-based SLI or a basic SLI, by which to compute
+ // performance over a window.
+ oneof type {
+ // `RequestBasedSli` to evaluate to judge window quality.
+ RequestBasedSli performance = 1;
+
+ // `BasicSli` to evaluate to judge window quality.
+ BasicSli basic_sli_performance = 3;
+ }
+
+ // If window `performance >= threshold`, the window is counted as good.
+ double threshold = 2;
+ }
+
+ // A `MetricRange` is used when each window is good when the value x of a
+ // single `TimeSeries` satisfies `range.min <= x < range.max`. The provided
+ // `TimeSeries` must have `ValueType = INT64` or `ValueType = DOUBLE` and
+ // `MetricKind = GAUGE`.
+ message MetricRange {
+ // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // specifying the `TimeSeries` to use for evaluating window quality.
+ string time_series = 1;
+
+ // Range of values considered "good." For a one-sided range, set one bound
+ // to an infinite value.
+ Range range = 4;
+ }
+
+ // The criterion to use for evaluating window goodness.
+ oneof window_criterion {
+ // A [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)
+ // specifying a `TimeSeries` with `ValueType = BOOL`. The window is good if
+ // any `true` values appear in the window.
+ string good_bad_metric_filter = 5;
+
+ // A window is good if its `performance` is high enough.
+ PerformanceThreshold good_total_ratio_threshold = 2;
+
+ // A window is good if the metric's value is in a good range, averaged
+ // across returned streams.
+ MetricRange metric_mean_in_range = 6;
+
+ // A window is good if the metric's value is in a good range, summed across
+ // returned streams.
+ MetricRange metric_sum_in_range = 7;
+ }
+
+ // Duration over which window quality is evaluated. Must be an integer
+ // fraction of a day and at least `60s`.
+ google.protobuf.Duration window_period = 4;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/service_service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/service_service.proto
new file mode 100644
index 00000000000..07916e62418
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/service_service.proto
@@ -0,0 +1,350 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/service.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "ServiceMonitoringServiceProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The Cloud Monitoring Service-Oriented Monitoring API has endpoints for
+// managing and querying aspects of a workspace's services. These include the
+// `Service`'s monitored resources, its Service-Level Objectives, and a taxonomy
+// of categorized Health Metrics.
+service ServiceMonitoringService {
+ option (google.api.default_host) = "monitoring.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/monitoring,"
+ "https://www.googleapis.com/auth/monitoring.read";
+
+ // Create a `Service`.
+ rpc CreateService(CreateServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ post: "/v3/{parent=*/*}/services"
+ body: "service"
+ };
+ option (google.api.method_signature) = "parent,service";
+ }
+
+ // Get the named `Service`.
+ rpc GetService(GetServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ get: "/v3/{name=*/*/services/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // List `Service`s for this workspace.
+ rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
+ option (google.api.http) = {
+ get: "/v3/{parent=*/*}/services"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Update this `Service`.
+ rpc UpdateService(UpdateServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ patch: "/v3/{service.name=*/*/services/*}"
+ body: "service"
+ };
+ option (google.api.method_signature) = "service";
+ }
+
+ // Soft delete this `Service`.
+ rpc DeleteService(DeleteServiceRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v3/{name=*/*/services/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Create a `ServiceLevelObjective` for the given `Service`.
+ rpc CreateServiceLevelObjective(CreateServiceLevelObjectiveRequest) returns (ServiceLevelObjective) {
+ option (google.api.http) = {
+ post: "/v3/{parent=*/*/services/*}/serviceLevelObjectives"
+ body: "service_level_objective"
+ };
+ option (google.api.method_signature) = "parent,service_level_objective";
+ }
+
+ // Get a `ServiceLevelObjective` by name.
+ rpc GetServiceLevelObjective(GetServiceLevelObjectiveRequest) returns (ServiceLevelObjective) {
+ option (google.api.http) = {
+ get: "/v3/{name=*/*/services/*/serviceLevelObjectives/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // List the `ServiceLevelObjective`s for the given `Service`.
+ rpc ListServiceLevelObjectives(ListServiceLevelObjectivesRequest) returns (ListServiceLevelObjectivesResponse) {
+ option (google.api.http) = {
+ get: "/v3/{parent=*/*/services/*}/serviceLevelObjectives"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Update the given `ServiceLevelObjective`.
+ rpc UpdateServiceLevelObjective(UpdateServiceLevelObjectiveRequest) returns (ServiceLevelObjective) {
+ option (google.api.http) = {
+ patch: "/v3/{service_level_objective.name=*/*/services/*/serviceLevelObjectives/*}"
+ body: "service_level_objective"
+ };
+ option (google.api.method_signature) = "service_level_objective";
+ }
+
+ // Delete the given `ServiceLevelObjective`.
+ rpc DeleteServiceLevelObjective(DeleteServiceLevelObjectiveRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v3/{name=*/*/services/*/serviceLevelObjectives/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// The `CreateService` request.
+message CreateServiceRequest {
+ // Required. Resource name of the parent workspace. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/Service"
+ }
+ ];
+
+ // Optional. The Service id to use for this Service. If omitted, an id will be
+ // generated instead. Must match the pattern `[a-z0-9\-]+`
+ string service_id = 3;
+
+ // Required. The `Service` to create.
+ Service service = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The `GetService` request.
+message GetServiceRequest {
+ // Required. Resource name of the `Service`. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Service"
+ }
+ ];
+}
+
+// The `ListServices` request.
+message ListServicesRequest {
+ // Required. Resource name of the parent containing the listed services, either a
+ // project or a Monitoring Workspace. The formats are:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ // workspaces/[HOST_PROJECT_ID_OR_NUMBER]
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/Service"
+ }
+ ];
+
+ // A filter specifying what `Service`s to return. The filter currently
+ // supports the following fields:
+ //
+ // - `identifier_case`
+ // - `app_engine.module_id`
+ // - `cloud_endpoints.service` (reserved for future use)
+ // - `mesh_istio.mesh_uid`
+ // - `mesh_istio.service_namespace`
+ // - `mesh_istio.service_name`
+ // - `cluster_istio.location` (deprecated)
+ // - `cluster_istio.cluster_name` (deprecated)
+ // - `cluster_istio.service_namespace` (deprecated)
+ // - `cluster_istio.service_name` (deprecated)
+ //
+ // `identifier_case` refers to which option in the identifier oneof is
+ // populated. For example, the filter `identifier_case = "CUSTOM"` would match
+ // all services with a value for the `custom` field. Valid options are
+ // "CUSTOM", "APP_ENGINE", "MESH_ISTIO", plus "CLUSTER_ISTIO" (deprecated)
+ // and "CLOUD_ENDPOINTS" (reserved for future use).
+ string filter = 2;
+
+ // A non-negative number that is the maximum number of results to return.
+ // When 0, use default page size.
+ int32 page_size = 3;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 4;
+}
+
+// The `ListServices` response.
+message ListServicesResponse {
+ // The `Service`s matching the specified filter.
+ repeated Service services = 1;
+
+ // If there are more results than have been returned, then this field is set
+ // to a non-empty value. To see the additional results,
+ // use that value as `page_token` in the next call to this method.
+ string next_page_token = 2;
+}
+
+// The `UpdateService` request.
+message UpdateServiceRequest {
+ // Required. The `Service` to draw updates from.
+ // The given `name` specifies the resource to update.
+ Service service = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // A set of field paths defining which fields to use for the update.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// The `DeleteService` request.
+message DeleteServiceRequest {
+ // Required. Resource name of the `Service` to delete. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Service"
+ }
+ ];
+}
+
+// The `CreateServiceLevelObjective` request.
+message CreateServiceLevelObjectiveRequest {
+ // Required. Resource name of the parent `Service`. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Service"
+ }
+ ];
+
+ // Optional. The ServiceLevelObjective id to use for this
+ // ServiceLevelObjective. If omitted, an id will be generated instead. Must
+ // match the pattern `[a-z0-9\-]+`
+ string service_level_objective_id = 3;
+
+ // Required. The `ServiceLevelObjective` to create.
+ // The provided `name` will be respected if no `ServiceLevelObjective` exists
+ // with this name.
+ ServiceLevelObjective service_level_objective = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The `GetServiceLevelObjective` request.
+message GetServiceLevelObjectiveRequest {
+ // Required. Resource name of the `ServiceLevelObjective` to get. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/ServiceLevelObjective"
+ }
+ ];
+
+ // View of the `ServiceLevelObjective` to return. If `DEFAULT`, return the
+ // `ServiceLevelObjective` as originally defined. If `EXPLICIT` and the
+ // `ServiceLevelObjective` is defined in terms of a `BasicSli`, replace the
+ // `BasicSli` with a `RequestBasedSli` spelling out how the SLI is computed.
+ ServiceLevelObjective.View view = 2;
+}
+
+// The `ListServiceLevelObjectives` request.
+message ListServiceLevelObjectivesRequest {
+ // Required. Resource name of the parent containing the listed SLOs, either a
+ // project or a Monitoring Workspace. The formats are:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]
+ // workspaces/[HOST_PROJECT_ID_OR_NUMBER]/services/-
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/Service"
+ }
+ ];
+
+ // A filter specifying what `ServiceLevelObjective`s to return.
+ string filter = 2;
+
+ // A non-negative number that is the maximum number of results to return.
+ // When 0, use default page size.
+ int32 page_size = 3;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return additional results from the previous method call.
+ string page_token = 4;
+
+ // View of the `ServiceLevelObjective`s to return. If `DEFAULT`, return each
+ // `ServiceLevelObjective` as originally defined. If `EXPLICIT` and the
+ // `ServiceLevelObjective` is defined in terms of a `BasicSli`, replace the
+ // `BasicSli` with a `RequestBasedSli` spelling out how the SLI is computed.
+ ServiceLevelObjective.View view = 5;
+}
+
+// The `ListServiceLevelObjectives` response.
+message ListServiceLevelObjectivesResponse {
+ // The `ServiceLevelObjective`s matching the specified filter.
+ repeated ServiceLevelObjective service_level_objectives = 1;
+
+ // If there are more results than have been returned, then this field is set
+ // to a non-empty value. To see the additional results,
+ // use that value as `page_token` in the next call to this method.
+ string next_page_token = 2;
+}
+
+// The `UpdateServiceLevelObjective` request.
+message UpdateServiceLevelObjectiveRequest {
+ // Required. The `ServiceLevelObjective` to draw updates from.
+ // The given `name` specifies the resource to update.
+ ServiceLevelObjective service_level_objective = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // A set of field paths defining which fields to use for the update.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// The `DeleteServiceLevelObjective` request.
+message DeleteServiceLevelObjectiveRequest {
+ // Required. Resource name of the `ServiceLevelObjective` to delete. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/services/[SERVICE_ID]/serviceLevelObjectives/[SLO_NAME]
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/ServiceLevelObjective"
+ }
+ ];
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/span_context.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/span_context.proto
new file mode 100644
index 00000000000..cfb8f267fc8
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/span_context.proto
@@ -0,0 +1,45 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "SpanContextProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The context of a span, attached to
+// [Exemplars][google.api.Distribution.Exemplars]
+// in [Distribution][google.api.Distribution] values during aggregation.
+//
+// It contains the name of a span with format:
+//
+// projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID]
+message SpanContext {
+ // The resource name of the span. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/traces/[TRACE_ID]/spans/[SPAN_ID]
+ //
+ // `[TRACE_ID]` is a unique identifier for a trace within a project;
+ // it is a 32-character hexadecimal encoding of a 16-byte array.
+ //
+ // `[SPAN_ID]` is a unique identifier for a span within a trace; it
+ // is a 16-character hexadecimal encoding of an 8-byte array.
+ string span_name = 1;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime.proto
new file mode 100644
index 00000000000..1f66ffcc57e
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime.proto
@@ -0,0 +1,400 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/monitored_resource.proto";
+import "google/api/resource.proto";
+import "google/protobuf/duration.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "UptimeProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The regions from which an Uptime check can be run.
+enum UptimeCheckRegion {
+ // Default value if no region is specified. Will result in Uptime checks
+ // running from all regions.
+ REGION_UNSPECIFIED = 0;
+
+ // Allows checks to run from locations within the United States of America.
+ USA = 1;
+
+ // Allows checks to run from locations within the continent of Europe.
+ EUROPE = 2;
+
+ // Allows checks to run from locations within the continent of South
+ // America.
+ SOUTH_AMERICA = 3;
+
+ // Allows checks to run from locations within the Asia Pacific area (ex:
+ // Singapore).
+ ASIA_PACIFIC = 4;
+}
+
+// An internal checker allows Uptime checks to run on private/internal GCP
+// resources.
+message InternalChecker {
+ option deprecated = true;
+
+ // Operational states for an internal checker.
+ enum State {
+ // An internal checker should never be in the unspecified state.
+ UNSPECIFIED = 0;
+
+ // The checker is being created, provisioned, and configured. A checker in
+ // this state can be returned by `ListInternalCheckers` or
+ // `GetInternalChecker`, as well as by examining the [long running
+ // Operation](https://cloud.google.com/apis/design/design_patterns#long_running_operations)
+ // that created it.
+ CREATING = 1;
+
+ // The checker is running and available for use. A checker in this state
+ // can be returned by `ListInternalCheckers` or `GetInternalChecker` as
+ // well as by examining the [long running
+ // Operation](https://cloud.google.com/apis/design/design_patterns#long_running_operations)
+ // that created it.
+ // If a checker is being torn down, it is neither visible nor usable, so
+ // there is no "deleting" or "down" state.
+ RUNNING = 2;
+ }
+
+ // A unique resource name for this InternalChecker. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/internalCheckers/[INTERNAL_CHECKER_ID]
+ //
+ // `[PROJECT_ID_OR_NUMBER]` is the Stackdriver Workspace project for the
+ // Uptime check config associated with the internal checker.
+ string name = 1;
+
+ // The checker's human-readable name. The display name
+ // should be unique within a Stackdriver Workspace in order to make it easier
+ // to identify; however, uniqueness is not enforced.
+ string display_name = 2;
+
+ // The [GCP VPC network](https://cloud.google.com/vpc/docs/vpc) where the
+ // internal resource lives (ex: "default").
+ string network = 3;
+
+ // The GCP zone the Uptime check should egress from. Only respected for
+ // internal Uptime checks, where internal_network is specified.
+ string gcp_zone = 4;
+
+ // The GCP project ID where the internal checker lives. Not necessary
+ // the same as the Workspace project.
+ string peer_project_id = 6;
+
+ // The current operational state of the internal checker.
+ State state = 7;
+}
+
+// This message configures which resources and services to monitor for
+// availability.
+message UptimeCheckConfig {
+ option (google.api.resource) = {
+ type: "monitoring.googleapis.com/UptimeCheckConfig"
+ pattern: "projects/{project}/uptimeCheckConfigs/{uptime_check_config}"
+ pattern: "organizations/{organization}/uptimeCheckConfigs/{uptime_check_config}"
+ pattern: "folders/{folder}/uptimeCheckConfigs/{uptime_check_config}"
+ pattern: "*"
+ };
+
+ // The resource submessage for group checks. It can be used instead of a
+ // monitored resource, when multiple resources are being monitored.
+ message ResourceGroup {
+ // The group of resources being monitored. Should be only the `[GROUP_ID]`,
+ // and not the full-path
+ // `projects/[PROJECT_ID_OR_NUMBER]/groups/[GROUP_ID]`.
+ string group_id = 1;
+
+ // The resource type of the group members.
+ GroupResourceType resource_type = 2;
+ }
+
+ // Information involved in an HTTP/HTTPS Uptime check request.
+ message HttpCheck {
+ // The authentication parameters to provide to the specified resource or
+ // URL that requires a username and password. Currently, only
+ // [Basic HTTP authentication](https://tools.ietf.org/html/rfc7617) is
+ // supported in Uptime checks.
+ message BasicAuthentication {
+ // The username to use when authenticating with the HTTP server.
+ string username = 1;
+
+ // The password to use when authenticating with the HTTP server.
+ string password = 2;
+ }
+
+ // The HTTP request method options.
+ enum RequestMethod {
+ // No request method specified.
+ METHOD_UNSPECIFIED = 0;
+
+ // GET request.
+ GET = 1;
+
+ // POST request.
+ POST = 2;
+ }
+
+ // Header options corresponding to the content type of a HTTP request body.
+ enum ContentType {
+ // No content type specified.
+ TYPE_UNSPECIFIED = 0;
+
+ // `body` is in URL-encoded form. Equivalent to setting the `Content-Type`
+ // to `application/x-www-form-urlencoded` in the HTTP request.
+ URL_ENCODED = 1;
+ }
+
+ // The HTTP request method to use for the check. If set to
+ // `METHOD_UNSPECIFIED` then `request_method` defaults to `GET`.
+ RequestMethod request_method = 8;
+
+ // If `true`, use HTTPS instead of HTTP to run the check.
+ bool use_ssl = 1;
+
+ // Optional (defaults to "/"). The path to the page against which to run
+ // the check. Will be combined with the `host` (specified within the
+ // `monitored_resource`) and `port` to construct the full URL. If the
+ // provided path does not begin with "/", a "/" will be prepended
+ // automatically.
+ string path = 2;
+
+ // Optional (defaults to 80 when `use_ssl` is `false`, and 443 when
+ // `use_ssl` is `true`). The TCP port on the HTTP server against which to
+ // run the check. Will be combined with host (specified within the
+ // `monitored_resource`) and `path` to construct the full URL.
+ int32 port = 3;
+
+ // The authentication information. Optional when creating an HTTP check;
+ // defaults to empty.
+ BasicAuthentication auth_info = 4;
+
+ // Boolean specifying whether to encrypt the header information.
+ // Encryption should be specified for any headers related to authentication
+ // that you do not wish to be seen when retrieving the configuration. The
+ // server will be responsible for encrypting the headers.
+ // On Get/List calls, if `mask_headers` is set to `true` then the headers
+ // will be obscured with `******.`
+ bool mask_headers = 5;
+
+ // The list of headers to send as part of the Uptime check request.
+ // If two headers have the same key and different values, they should
+ // be entered as a single header, with the value being a comma-separated
+ // list of all the desired values as described at
+ // https://www.w3.org/Protocols/rfc2616/rfc2616.txt (page 31).
+ // Entering two separate headers with the same key in a Create call will
+ // cause the first to be overwritten by the second.
+ // The maximum number of headers allowed is 100.
+ map headers = 6;
+
+ // The content type header to use for the check. The following
+ // configurations result in errors:
+ // 1. Content type is specified in both the `headers` field and the
+ // `content_type` field.
+ // 2. Request method is `GET` and `content_type` is not `TYPE_UNSPECIFIED`
+ // 3. Request method is `POST` and `content_type` is `TYPE_UNSPECIFIED`.
+ // 4. Request method is `POST` and a "Content-Type" header is provided via
+ // `headers` field. The `content_type` field should be used instead.
+ ContentType content_type = 9;
+
+ // Boolean specifying whether to include SSL certificate validation as a
+ // part of the Uptime check. Only applies to checks where
+ // `monitored_resource` is set to `uptime_url`. If `use_ssl` is `false`,
+ // setting `validate_ssl` to `true` has no effect.
+ bool validate_ssl = 7;
+
+ // The request body associated with the HTTP POST request. If `content_type`
+ // is `URL_ENCODED`, the body passed in must be URL-encoded. Users can
+ // provide a `Content-Length` header via the `headers` field or the API will
+ // do so. If the `request_method` is `GET` and `body` is not empty, the API
+ // will return an error. The maximum byte size is 1 megabyte. Note: As with
+ // all `bytes` fields, JSON representations are base64 encoded. e.g.:
+ // "foo=bar" in URL-encoded form is "foo%3Dbar" and in base64 encoding is
+ // "Zm9vJTI1M0RiYXI=".
+ bytes body = 10;
+ }
+
+ // Information required for a TCP Uptime check request.
+ message TcpCheck {
+ // The TCP port on the server against which to run the check. Will be
+ // combined with host (specified within the `monitored_resource`) to
+ // construct the full URL. Required.
+ int32 port = 1;
+ }
+
+ // Optional. Used to perform content matching. This allows matching based on
+ // substrings and regular expressions, together with their negations. Only the
+ // first 4 MB of an HTTP or HTTPS check's response (and the first
+ // 1 MB of a TCP check's response) are examined for purposes of content
+ // matching.
+ message ContentMatcher {
+ // Options to perform content matching.
+ enum ContentMatcherOption {
+ // No content matcher type specified (maintained for backward
+ // compatibility, but deprecated for future use).
+ // Treated as `CONTAINS_STRING`.
+ CONTENT_MATCHER_OPTION_UNSPECIFIED = 0;
+
+ // Selects substring matching. The match succeeds if the output contains
+ // the `content` string. This is the default value for checks without
+ // a `matcher` option, or where the value of `matcher` is
+ // `CONTENT_MATCHER_OPTION_UNSPECIFIED`.
+ CONTAINS_STRING = 1;
+
+ // Selects negation of substring matching. The match succeeds if the
+ // output does _NOT_ contain the `content` string.
+ NOT_CONTAINS_STRING = 2;
+
+ // Selects regular-expression matching. The match succeeds of the output
+ // matches the regular expression specified in the `content` string.
+ MATCHES_REGEX = 3;
+
+ // Selects negation of regular-expression matching. The match succeeds if
+ // the output does _NOT_ match the regular expression specified in the
+ // `content` string.
+ NOT_MATCHES_REGEX = 4;
+ }
+
+ // String or regex content to match. Maximum 1024 bytes. An empty `content`
+ // string indicates no content matching is to be performed.
+ string content = 1;
+
+ // The type of content matcher that will be applied to the server output,
+ // compared to the `content` string when the check is run.
+ ContentMatcherOption matcher = 2;
+ }
+
+ // A unique resource name for this Uptime check configuration. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]
+ //
+ // `[PROJECT_ID_OR_NUMBER]` is the Workspace host project associated with the
+ // Uptime check.
+ //
+ // This field should be omitted when creating the Uptime check configuration;
+ // on create, the resource name is assigned by the server and included in the
+ // response.
+ string name = 1;
+
+ // A human-friendly name for the Uptime check configuration. The display name
+ // should be unique within a Stackdriver Workspace in order to make it easier
+ // to identify; however, uniqueness is not enforced. Required.
+ string display_name = 2;
+
+ // The resource the check is checking. Required.
+ oneof resource {
+ // The [monitored
+ // resource](https://cloud.google.com/monitoring/api/resources) associated
+ // with the configuration.
+ // The following monitored resource types are supported for Uptime checks:
+ // `uptime_url`,
+ // `gce_instance`,
+ // `gae_app`,
+ // `aws_ec2_instance`,
+ // `aws_elb_load_balancer`
+ google.api.MonitoredResource monitored_resource = 3;
+
+ // The group resource associated with the configuration.
+ ResourceGroup resource_group = 4;
+ }
+
+ // The type of Uptime check request.
+ oneof check_request_type {
+ // Contains information needed to make an HTTP or HTTPS check.
+ HttpCheck http_check = 5;
+
+ // Contains information needed to make a TCP check.
+ TcpCheck tcp_check = 6;
+ }
+
+ // How often, in seconds, the Uptime check is performed.
+ // Currently, the only supported values are `60s` (1 minute), `300s`
+ // (5 minutes), `600s` (10 minutes), and `900s` (15 minutes). Optional,
+ // defaults to `60s`.
+ google.protobuf.Duration period = 7;
+
+ // The maximum amount of time to wait for the request to complete (must be
+ // between 1 and 60 seconds). Required.
+ google.protobuf.Duration timeout = 8;
+
+ // The content that is expected to appear in the data returned by the target
+ // server against which the check is run. Currently, only the first entry
+ // in the `content_matchers` list is supported, and additional entries will
+ // be ignored. This field is optional and should only be specified if a
+ // content match is required as part of the/ Uptime check.
+ repeated ContentMatcher content_matchers = 9;
+
+ // The list of regions from which the check will be run.
+ // Some regions contain one location, and others contain more than one.
+ // If this field is specified, enough regions must be provided to include a
+ // minimum of 3 locations. Not specifying this field will result in Uptime
+ // checks running from all available regions.
+ repeated UptimeCheckRegion selected_regions = 10;
+
+ // If this is `true`, then checks are made only from the 'internal_checkers'.
+ // If it is `false`, then checks are made only from the 'selected_regions'.
+ // It is an error to provide 'selected_regions' when is_internal is `true`,
+ // or to provide 'internal_checkers' when is_internal is `false`.
+ bool is_internal = 15 [deprecated = true];
+
+ // The internal checkers that this check will egress from. If `is_internal` is
+ // `true` and this list is empty, the check will egress from all the
+ // InternalCheckers configured for the project that owns this
+ // `UptimeCheckConfig`.
+ repeated InternalChecker internal_checkers = 14 [deprecated = true];
+}
+
+// Contains the region, location, and list of IP
+// addresses where checkers in the location run from.
+message UptimeCheckIp {
+ // A broad region category in which the IP address is located.
+ UptimeCheckRegion region = 1;
+
+ // A more specific location within the region that typically encodes
+ // a particular city/town/metro (and its containing state/province or country)
+ // within the broader umbrella region category.
+ string location = 2;
+
+ // The IP address from which the Uptime check originates. This is a fully
+ // specified IP address (not an IP address range). Most IP addresses, as of
+ // this publication, are in IPv4 format; however, one should not rely on the
+ // IP addresses being in IPv4 format indefinitely, and should support
+ // interpreting this field in either IPv4 or IPv6 format.
+ string ip_address = 3;
+}
+
+// The supported resource types that can be used as values of
+// `group_resource.resource_type`.
+// `INSTANCE` includes `gce_instance` and `aws_ec2_instance` resource types.
+// The resource types `gae_app` and `uptime_url` are not valid here because
+// group checks on App Engine modules and URLs are not allowed.
+enum GroupResourceType {
+ // Default value (not valid).
+ RESOURCE_TYPE_UNSPECIFIED = 0;
+
+ // A group of instances from Google Cloud Platform (GCP) or
+ // Amazon Web Services (AWS).
+ INSTANCE = 1;
+
+ // A group of Amazon ELB load balancers.
+ AWS_ELB_LOAD_BALANCER = 2;
+}
diff --git a/packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime_service.proto b/packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime_service.proto
new file mode 100644
index 00000000000..78ad6697c1a
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/google/monitoring/v3/uptime_service.proto
@@ -0,0 +1,241 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.monitoring.v3;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/monitoring/v3/uptime.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Monitoring.V3";
+option go_package = "google.golang.org/genproto/googleapis/monitoring/v3;monitoring";
+option java_multiple_files = true;
+option java_outer_classname = "UptimeServiceProto";
+option java_package = "com.google.monitoring.v3";
+option php_namespace = "Google\\Cloud\\Monitoring\\V3";
+option ruby_package = "Google::Cloud::Monitoring::V3";
+
+// The UptimeCheckService API is used to manage (list, create, delete, edit)
+// Uptime check configurations in the Stackdriver Monitoring product. An Uptime
+// check is a piece of configuration that determines which resources and
+// services to monitor for availability. These configurations can also be
+// configured interactively by navigating to the [Cloud Console]
+// (http://console.cloud.google.com), selecting the appropriate project,
+// clicking on "Monitoring" on the left-hand side to navigate to Stackdriver,
+// and then clicking on "Uptime".
+service UptimeCheckService {
+ option (google.api.default_host) = "monitoring.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform,"
+ "https://www.googleapis.com/auth/monitoring,"
+ "https://www.googleapis.com/auth/monitoring.read";
+
+ // Lists the existing valid Uptime check configurations for the project
+ // (leaving out any invalid configurations).
+ rpc ListUptimeCheckConfigs(ListUptimeCheckConfigsRequest) returns (ListUptimeCheckConfigsResponse) {
+ option (google.api.http) = {
+ get: "/v3/{parent=projects/*}/uptimeCheckConfigs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a single Uptime check configuration.
+ rpc GetUptimeCheckConfig(GetUptimeCheckConfigRequest) returns (UptimeCheckConfig) {
+ option (google.api.http) = {
+ get: "/v3/{name=projects/*/uptimeCheckConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new Uptime check configuration.
+ rpc CreateUptimeCheckConfig(CreateUptimeCheckConfigRequest) returns (UptimeCheckConfig) {
+ option (google.api.http) = {
+ post: "/v3/{parent=projects/*}/uptimeCheckConfigs"
+ body: "uptime_check_config"
+ };
+ option (google.api.method_signature) = "parent,uptime_check_config";
+ }
+
+ // Updates an Uptime check configuration. You can either replace the entire
+ // configuration with a new one or replace only certain fields in the current
+ // configuration by specifying the fields to be updated via `updateMask`.
+ // Returns the updated configuration.
+ rpc UpdateUptimeCheckConfig(UpdateUptimeCheckConfigRequest) returns (UptimeCheckConfig) {
+ option (google.api.http) = {
+ patch: "/v3/{uptime_check_config.name=projects/*/uptimeCheckConfigs/*}"
+ body: "uptime_check_config"
+ };
+ option (google.api.method_signature) = "uptime_check_config";
+ }
+
+ // Deletes an Uptime check configuration. Note that this method will fail
+ // if the Uptime check configuration is referenced by an alert policy or
+ // other dependent configs that would be rendered invalid by the deletion.
+ rpc DeleteUptimeCheckConfig(DeleteUptimeCheckConfigRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v3/{name=projects/*/uptimeCheckConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Returns the list of IP addresses that checkers run from
+ rpc ListUptimeCheckIps(ListUptimeCheckIpsRequest) returns (ListUptimeCheckIpsResponse) {
+ option (google.api.http) = {
+ get: "/v3/uptimeCheckIps"
+ };
+ }
+}
+
+// The protocol for the `ListUptimeCheckConfigs` request.
+message ListUptimeCheckConfigsRequest {
+ // Required. The project whose Uptime check configurations are listed. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/UptimeCheckConfig"
+ }
+ ];
+
+ // The maximum number of results to return in a single response. The server
+ // may further constrain the maximum number of results returned in a single
+ // page. If the page_size is <=0, the server will decide the number of results
+ // to be returned.
+ int32 page_size = 3;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return more results from the previous method call.
+ string page_token = 4;
+}
+
+// The protocol for the `ListUptimeCheckConfigs` response.
+message ListUptimeCheckConfigsResponse {
+ // The returned Uptime check configurations.
+ repeated UptimeCheckConfig uptime_check_configs = 1;
+
+ // This field represents the pagination token to retrieve the next page of
+ // results. If the value is empty, it means no further results for the
+ // request. To retrieve the next page of results, the value of the
+ // next_page_token is passed to the subsequent List method call (in the
+ // request message's page_token field).
+ string next_page_token = 2;
+
+ // The total number of Uptime check configurations for the project,
+ // irrespective of any pagination.
+ int32 total_size = 3;
+}
+
+// The protocol for the `GetUptimeCheckConfig` request.
+message GetUptimeCheckConfigRequest {
+ // Required. The Uptime check configuration to retrieve. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/UptimeCheckConfig"
+ }
+ ];
+}
+
+// The protocol for the `CreateUptimeCheckConfig` request.
+message CreateUptimeCheckConfigRequest {
+ // Required. The project in which to create the Uptime check. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "monitoring.googleapis.com/UptimeCheckConfig"
+ }
+ ];
+
+ // Required. The new Uptime check configuration.
+ UptimeCheckConfig uptime_check_config = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The protocol for the `UpdateUptimeCheckConfig` request.
+message UpdateUptimeCheckConfigRequest {
+ // Optional. If present, only the listed fields in the current Uptime check
+ // configuration are updated with values from the new configuration. If this
+ // field is empty, then the current configuration is completely replaced with
+ // the new configuration.
+ google.protobuf.FieldMask update_mask = 2;
+
+ // Required. If an `updateMask` has been specified, this field gives
+ // the values for the set of fields mentioned in the `updateMask`. If an
+ // `updateMask` has not been given, this Uptime check configuration replaces
+ // the current configuration. If a field is mentioned in `updateMask` but
+ // the corresonding field is omitted in this partial Uptime check
+ // configuration, it has the effect of deleting/clearing the field from the
+ // configuration on the server.
+ //
+ // The following fields can be updated: `display_name`,
+ // `http_check`, `tcp_check`, `timeout`, `content_matchers`, and
+ // `selected_regions`.
+ UptimeCheckConfig uptime_check_config = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The protocol for the `DeleteUptimeCheckConfig` request.
+message DeleteUptimeCheckConfigRequest {
+ // Required. The Uptime check configuration to delete. The format is:
+ //
+ // projects/[PROJECT_ID_OR_NUMBER]/uptimeCheckConfigs/[UPTIME_CHECK_ID]
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "monitoring.googleapis.com/UptimeCheckConfig"
+ }
+ ];
+}
+
+// The protocol for the `ListUptimeCheckIps` request.
+message ListUptimeCheckIpsRequest {
+ // The maximum number of results to return in a single response. The server
+ // may further constrain the maximum number of results returned in a single
+ // page. If the page_size is <=0, the server will decide the number of results
+ // to be returned.
+ // NOTE: this field is not yet implemented
+ int32 page_size = 2;
+
+ // If this field is not empty then it must contain the `nextPageToken` value
+ // returned by a previous call to this method. Using this field causes the
+ // method to return more results from the previous method call.
+ // NOTE: this field is not yet implemented
+ string page_token = 3;
+}
+
+// The protocol for the `ListUptimeCheckIps` response.
+message ListUptimeCheckIpsResponse {
+ // The returned list of IP addresses (including region and location) that the
+ // checkers run from.
+ repeated UptimeCheckIp uptime_check_ips = 1;
+
+ // This field represents the pagination token to retrieve the next page of
+ // results. If the value is empty, it means no further results for the
+ // request. To retrieve the next page of results, the value of the
+ // next_page_token is passed to the subsequent List method call (in the
+ // request message's page_token field).
+ // NOTE: this field is not yet implemented
+ string next_page_token = 2;
+}
diff --git a/packages/google-cloud-monitoring/protos/protos.d.ts b/packages/google-cloud-monitoring/protos/protos.d.ts
new file mode 100644
index 00000000000..abdc8d2eee8
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/protos.d.ts
@@ -0,0 +1,21696 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import type {protobuf as $protobuf} from "google-gax";
+import Long = require("long");
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace monitoring. */
+ namespace monitoring {
+
+ /** Namespace v3. */
+ namespace v3 {
+
+ /** Properties of an AlertPolicy. */
+ interface IAlertPolicy {
+
+ /** AlertPolicy name */
+ name?: (string|null);
+
+ /** AlertPolicy displayName */
+ displayName?: (string|null);
+
+ /** AlertPolicy documentation */
+ documentation?: (google.monitoring.v3.AlertPolicy.IDocumentation|null);
+
+ /** AlertPolicy userLabels */
+ userLabels?: ({ [k: string]: string }|null);
+
+ /** AlertPolicy conditions */
+ conditions?: (google.monitoring.v3.AlertPolicy.ICondition[]|null);
+
+ /** AlertPolicy combiner */
+ combiner?: (google.monitoring.v3.AlertPolicy.ConditionCombinerType|keyof typeof google.monitoring.v3.AlertPolicy.ConditionCombinerType|null);
+
+ /** AlertPolicy enabled */
+ enabled?: (google.protobuf.IBoolValue|null);
+
+ /** AlertPolicy validity */
+ validity?: (google.rpc.IStatus|null);
+
+ /** AlertPolicy notificationChannels */
+ notificationChannels?: (string[]|null);
+
+ /** AlertPolicy creationRecord */
+ creationRecord?: (google.monitoring.v3.IMutationRecord|null);
+
+ /** AlertPolicy mutationRecord */
+ mutationRecord?: (google.monitoring.v3.IMutationRecord|null);
+ }
+
+ /** Represents an AlertPolicy. */
+ class AlertPolicy implements IAlertPolicy {
+
+ /**
+ * Constructs a new AlertPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IAlertPolicy);
+
+ /** AlertPolicy name. */
+ public name: string;
+
+ /** AlertPolicy displayName. */
+ public displayName: string;
+
+ /** AlertPolicy documentation. */
+ public documentation?: (google.monitoring.v3.AlertPolicy.IDocumentation|null);
+
+ /** AlertPolicy userLabels. */
+ public userLabels: { [k: string]: string };
+
+ /** AlertPolicy conditions. */
+ public conditions: google.monitoring.v3.AlertPolicy.ICondition[];
+
+ /** AlertPolicy combiner. */
+ public combiner: (google.monitoring.v3.AlertPolicy.ConditionCombinerType|keyof typeof google.monitoring.v3.AlertPolicy.ConditionCombinerType);
+
+ /** AlertPolicy enabled. */
+ public enabled?: (google.protobuf.IBoolValue|null);
+
+ /** AlertPolicy validity. */
+ public validity?: (google.rpc.IStatus|null);
+
+ /** AlertPolicy notificationChannels. */
+ public notificationChannels: string[];
+
+ /** AlertPolicy creationRecord. */
+ public creationRecord?: (google.monitoring.v3.IMutationRecord|null);
+
+ /** AlertPolicy mutationRecord. */
+ public mutationRecord?: (google.monitoring.v3.IMutationRecord|null);
+
+ /**
+ * Creates a new AlertPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AlertPolicy instance
+ */
+ public static create(properties?: google.monitoring.v3.IAlertPolicy): google.monitoring.v3.AlertPolicy;
+
+ /**
+ * Encodes the specified AlertPolicy message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.verify|verify} messages.
+ * @param message AlertPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IAlertPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AlertPolicy message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.verify|verify} messages.
+ * @param message AlertPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IAlertPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AlertPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AlertPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.AlertPolicy;
+
+ /**
+ * Decodes an AlertPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AlertPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.AlertPolicy;
+
+ /**
+ * Verifies an AlertPolicy message.
+ * @param message Plain 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 AlertPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AlertPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.AlertPolicy;
+
+ /**
+ * Creates a plain object from an AlertPolicy message. Also converts values to other types if specified.
+ * @param message AlertPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.AlertPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AlertPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AlertPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AlertPolicy {
+
+ /** Properties of a Documentation. */
+ interface IDocumentation {
+
+ /** Documentation content */
+ content?: (string|null);
+
+ /** Documentation mimeType */
+ mimeType?: (string|null);
+ }
+
+ /** Represents a Documentation. */
+ class Documentation implements IDocumentation {
+
+ /**
+ * Constructs a new Documentation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.AlertPolicy.IDocumentation);
+
+ /** Documentation content. */
+ public content: string;
+
+ /** Documentation mimeType. */
+ public mimeType: string;
+
+ /**
+ * Creates a new Documentation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Documentation instance
+ */
+ public static create(properties?: google.monitoring.v3.AlertPolicy.IDocumentation): google.monitoring.v3.AlertPolicy.Documentation;
+
+ /**
+ * Encodes the specified Documentation message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Documentation.verify|verify} messages.
+ * @param message Documentation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.AlertPolicy.IDocumentation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Documentation message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Documentation.verify|verify} messages.
+ * @param message Documentation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.AlertPolicy.IDocumentation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Documentation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Documentation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.AlertPolicy.Documentation;
+
+ /**
+ * Decodes a Documentation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Documentation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.AlertPolicy.Documentation;
+
+ /**
+ * Verifies a Documentation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Documentation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Documentation
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.AlertPolicy.Documentation;
+
+ /**
+ * Creates a plain object from a Documentation message. Also converts values to other types if specified.
+ * @param message Documentation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.AlertPolicy.Documentation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Documentation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Documentation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Condition. */
+ interface ICondition {
+
+ /** Condition name */
+ name?: (string|null);
+
+ /** Condition displayName */
+ displayName?: (string|null);
+
+ /** Condition conditionThreshold */
+ conditionThreshold?: (google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold|null);
+
+ /** Condition conditionAbsent */
+ conditionAbsent?: (google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence|null);
+
+ /** Condition conditionMonitoringQueryLanguage */
+ conditionMonitoringQueryLanguage?: (google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition|null);
+ }
+
+ /** Represents a Condition. */
+ class Condition implements ICondition {
+
+ /**
+ * Constructs a new Condition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.AlertPolicy.ICondition);
+
+ /** Condition name. */
+ public name: string;
+
+ /** Condition displayName. */
+ public displayName: string;
+
+ /** Condition conditionThreshold. */
+ public conditionThreshold?: (google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold|null);
+
+ /** Condition conditionAbsent. */
+ public conditionAbsent?: (google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence|null);
+
+ /** Condition conditionMonitoringQueryLanguage. */
+ public conditionMonitoringQueryLanguage?: (google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition|null);
+
+ /** Condition condition. */
+ public condition?: ("conditionThreshold"|"conditionAbsent"|"conditionMonitoringQueryLanguage");
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Condition instance
+ */
+ public static create(properties?: google.monitoring.v3.AlertPolicy.ICondition): google.monitoring.v3.AlertPolicy.Condition;
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.AlertPolicy.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.AlertPolicy.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.AlertPolicy.Condition;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.AlertPolicy.Condition;
+
+ /**
+ * Verifies a Condition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Condition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Condition
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.AlertPolicy.Condition;
+
+ /**
+ * Creates a plain object from a Condition message. Also converts values to other types if specified.
+ * @param message Condition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.AlertPolicy.Condition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Condition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Condition
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Condition {
+
+ /** Properties of a Trigger. */
+ interface ITrigger {
+
+ /** Trigger count */
+ count?: (number|null);
+
+ /** Trigger percent */
+ percent?: (number|null);
+ }
+
+ /** Represents a Trigger. */
+ class Trigger implements ITrigger {
+
+ /**
+ * Constructs a new Trigger.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.AlertPolicy.Condition.ITrigger);
+
+ /** Trigger count. */
+ public count?: (number|null);
+
+ /** Trigger percent. */
+ public percent?: (number|null);
+
+ /** Trigger type. */
+ public type?: ("count"|"percent");
+
+ /**
+ * Creates a new Trigger instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Trigger instance
+ */
+ public static create(properties?: google.monitoring.v3.AlertPolicy.Condition.ITrigger): google.monitoring.v3.AlertPolicy.Condition.Trigger;
+
+ /**
+ * Encodes the specified Trigger message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.Trigger.verify|verify} messages.
+ * @param message Trigger message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.AlertPolicy.Condition.ITrigger, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Trigger message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.Trigger.verify|verify} messages.
+ * @param message Trigger message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.AlertPolicy.Condition.ITrigger, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Trigger message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Trigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.AlertPolicy.Condition.Trigger;
+
+ /**
+ * Decodes a Trigger message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Trigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.AlertPolicy.Condition.Trigger;
+
+ /**
+ * Verifies a Trigger message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Trigger message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Trigger
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.AlertPolicy.Condition.Trigger;
+
+ /**
+ * Creates a plain object from a Trigger message. Also converts values to other types if specified.
+ * @param message Trigger
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.AlertPolicy.Condition.Trigger, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Trigger to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Trigger
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MetricThreshold. */
+ interface IMetricThreshold {
+
+ /** MetricThreshold filter */
+ filter?: (string|null);
+
+ /** MetricThreshold aggregations */
+ aggregations?: (google.monitoring.v3.IAggregation[]|null);
+
+ /** MetricThreshold denominatorFilter */
+ denominatorFilter?: (string|null);
+
+ /** MetricThreshold denominatorAggregations */
+ denominatorAggregations?: (google.monitoring.v3.IAggregation[]|null);
+
+ /** MetricThreshold comparison */
+ comparison?: (google.monitoring.v3.ComparisonType|keyof typeof google.monitoring.v3.ComparisonType|null);
+
+ /** MetricThreshold thresholdValue */
+ thresholdValue?: (number|null);
+
+ /** MetricThreshold duration */
+ duration?: (google.protobuf.IDuration|null);
+
+ /** MetricThreshold trigger */
+ trigger?: (google.monitoring.v3.AlertPolicy.Condition.ITrigger|null);
+ }
+
+ /** Represents a MetricThreshold. */
+ class MetricThreshold implements IMetricThreshold {
+
+ /**
+ * Constructs a new MetricThreshold.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold);
+
+ /** MetricThreshold filter. */
+ public filter: string;
+
+ /** MetricThreshold aggregations. */
+ public aggregations: google.monitoring.v3.IAggregation[];
+
+ /** MetricThreshold denominatorFilter. */
+ public denominatorFilter: string;
+
+ /** MetricThreshold denominatorAggregations. */
+ public denominatorAggregations: google.monitoring.v3.IAggregation[];
+
+ /** MetricThreshold comparison. */
+ public comparison: (google.monitoring.v3.ComparisonType|keyof typeof google.monitoring.v3.ComparisonType);
+
+ /** MetricThreshold thresholdValue. */
+ public thresholdValue: number;
+
+ /** MetricThreshold duration. */
+ public duration?: (google.protobuf.IDuration|null);
+
+ /** MetricThreshold trigger. */
+ public trigger?: (google.monitoring.v3.AlertPolicy.Condition.ITrigger|null);
+
+ /**
+ * Creates a new MetricThreshold instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetricThreshold instance
+ */
+ public static create(properties?: google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold): google.monitoring.v3.AlertPolicy.Condition.MetricThreshold;
+
+ /**
+ * Encodes the specified MetricThreshold message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.verify|verify} messages.
+ * @param message MetricThreshold message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetricThreshold message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.verify|verify} messages.
+ * @param message MetricThreshold message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetricThreshold message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetricThreshold
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.AlertPolicy.Condition.MetricThreshold;
+
+ /**
+ * Decodes a MetricThreshold message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetricThreshold
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.AlertPolicy.Condition.MetricThreshold;
+
+ /**
+ * Verifies a MetricThreshold message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MetricThreshold message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetricThreshold
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.AlertPolicy.Condition.MetricThreshold;
+
+ /**
+ * Creates a plain object from a MetricThreshold message. Also converts values to other types if specified.
+ * @param message MetricThreshold
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.AlertPolicy.Condition.MetricThreshold, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetricThreshold to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MetricThreshold
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MetricAbsence. */
+ interface IMetricAbsence {
+
+ /** MetricAbsence filter */
+ filter?: (string|null);
+
+ /** MetricAbsence aggregations */
+ aggregations?: (google.monitoring.v3.IAggregation[]|null);
+
+ /** MetricAbsence duration */
+ duration?: (google.protobuf.IDuration|null);
+
+ /** MetricAbsence trigger */
+ trigger?: (google.monitoring.v3.AlertPolicy.Condition.ITrigger|null);
+ }
+
+ /** Represents a MetricAbsence. */
+ class MetricAbsence implements IMetricAbsence {
+
+ /**
+ * Constructs a new MetricAbsence.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence);
+
+ /** MetricAbsence filter. */
+ public filter: string;
+
+ /** MetricAbsence aggregations. */
+ public aggregations: google.monitoring.v3.IAggregation[];
+
+ /** MetricAbsence duration. */
+ public duration?: (google.protobuf.IDuration|null);
+
+ /** MetricAbsence trigger. */
+ public trigger?: (google.monitoring.v3.AlertPolicy.Condition.ITrigger|null);
+
+ /**
+ * Creates a new MetricAbsence instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetricAbsence instance
+ */
+ public static create(properties?: google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence): google.monitoring.v3.AlertPolicy.Condition.MetricAbsence;
+
+ /**
+ * Encodes the specified MetricAbsence message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.verify|verify} messages.
+ * @param message MetricAbsence message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetricAbsence message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.verify|verify} messages.
+ * @param message MetricAbsence message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetricAbsence message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetricAbsence
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.AlertPolicy.Condition.MetricAbsence;
+
+ /**
+ * Decodes a MetricAbsence message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetricAbsence
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.AlertPolicy.Condition.MetricAbsence;
+
+ /**
+ * Verifies a MetricAbsence message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MetricAbsence message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetricAbsence
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.AlertPolicy.Condition.MetricAbsence;
+
+ /**
+ * Creates a plain object from a MetricAbsence message. Also converts values to other types if specified.
+ * @param message MetricAbsence
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.AlertPolicy.Condition.MetricAbsence, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetricAbsence to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MetricAbsence
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MonitoringQueryLanguageCondition. */
+ interface IMonitoringQueryLanguageCondition {
+
+ /** MonitoringQueryLanguageCondition query */
+ query?: (string|null);
+
+ /** MonitoringQueryLanguageCondition duration */
+ duration?: (google.protobuf.IDuration|null);
+
+ /** MonitoringQueryLanguageCondition trigger */
+ trigger?: (google.monitoring.v3.AlertPolicy.Condition.ITrigger|null);
+ }
+
+ /** Represents a MonitoringQueryLanguageCondition. */
+ class MonitoringQueryLanguageCondition implements IMonitoringQueryLanguageCondition {
+
+ /**
+ * Constructs a new MonitoringQueryLanguageCondition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition);
+
+ /** MonitoringQueryLanguageCondition query. */
+ public query: string;
+
+ /** MonitoringQueryLanguageCondition duration. */
+ public duration?: (google.protobuf.IDuration|null);
+
+ /** MonitoringQueryLanguageCondition trigger. */
+ public trigger?: (google.monitoring.v3.AlertPolicy.Condition.ITrigger|null);
+
+ /**
+ * Creates a new MonitoringQueryLanguageCondition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MonitoringQueryLanguageCondition instance
+ */
+ public static create(properties?: google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition): google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition;
+
+ /**
+ * Encodes the specified MonitoringQueryLanguageCondition message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.verify|verify} messages.
+ * @param message MonitoringQueryLanguageCondition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MonitoringQueryLanguageCondition message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.verify|verify} messages.
+ * @param message MonitoringQueryLanguageCondition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MonitoringQueryLanguageCondition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MonitoringQueryLanguageCondition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition;
+
+ /**
+ * Decodes a MonitoringQueryLanguageCondition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MonitoringQueryLanguageCondition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition;
+
+ /**
+ * Verifies a MonitoringQueryLanguageCondition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MonitoringQueryLanguageCondition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MonitoringQueryLanguageCondition
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition;
+
+ /**
+ * Creates a plain object from a MonitoringQueryLanguageCondition message. Also converts values to other types if specified.
+ * @param message MonitoringQueryLanguageCondition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MonitoringQueryLanguageCondition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MonitoringQueryLanguageCondition
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** ConditionCombinerType enum. */
+ enum ConditionCombinerType {
+ COMBINE_UNSPECIFIED = 0,
+ AND = 1,
+ OR = 2,
+ AND_WITH_MATCHING_RESOURCE = 3
+ }
+ }
+
+ /** Properties of a TypedValue. */
+ interface ITypedValue {
+
+ /** TypedValue boolValue */
+ boolValue?: (boolean|null);
+
+ /** TypedValue int64Value */
+ int64Value?: (number|Long|string|null);
+
+ /** TypedValue doubleValue */
+ doubleValue?: (number|null);
+
+ /** TypedValue stringValue */
+ stringValue?: (string|null);
+
+ /** TypedValue distributionValue */
+ distributionValue?: (google.api.IDistribution|null);
+ }
+
+ /** Represents a TypedValue. */
+ class TypedValue implements ITypedValue {
+
+ /**
+ * Constructs a new TypedValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ITypedValue);
+
+ /** TypedValue boolValue. */
+ public boolValue?: (boolean|null);
+
+ /** TypedValue int64Value. */
+ public int64Value?: (number|Long|string|null);
+
+ /** TypedValue doubleValue. */
+ public doubleValue?: (number|null);
+
+ /** TypedValue stringValue. */
+ public stringValue?: (string|null);
+
+ /** TypedValue distributionValue. */
+ public distributionValue?: (google.api.IDistribution|null);
+
+ /** TypedValue value. */
+ public value?: ("boolValue"|"int64Value"|"doubleValue"|"stringValue"|"distributionValue");
+
+ /**
+ * Creates a new TypedValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TypedValue instance
+ */
+ public static create(properties?: google.monitoring.v3.ITypedValue): google.monitoring.v3.TypedValue;
+
+ /**
+ * Encodes the specified TypedValue message. Does not implicitly {@link google.monitoring.v3.TypedValue.verify|verify} messages.
+ * @param message TypedValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ITypedValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TypedValue message, length delimited. Does not implicitly {@link google.monitoring.v3.TypedValue.verify|verify} messages.
+ * @param message TypedValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ITypedValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TypedValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TypedValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TypedValue;
+
+ /**
+ * Decodes a TypedValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TypedValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TypedValue;
+
+ /**
+ * Verifies a TypedValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TypedValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TypedValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TypedValue;
+
+ /**
+ * Creates a plain object from a TypedValue message. Also converts values to other types if specified.
+ * @param message TypedValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TypedValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TypedValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TypedValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeInterval. */
+ interface ITimeInterval {
+
+ /** TimeInterval endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeInterval startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimeInterval. */
+ class TimeInterval implements ITimeInterval {
+
+ /**
+ * Constructs a new TimeInterval.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ITimeInterval);
+
+ /** TimeInterval endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeInterval startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimeInterval instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeInterval instance
+ */
+ public static create(properties?: google.monitoring.v3.ITimeInterval): google.monitoring.v3.TimeInterval;
+
+ /**
+ * Encodes the specified TimeInterval message. Does not implicitly {@link google.monitoring.v3.TimeInterval.verify|verify} messages.
+ * @param message TimeInterval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ITimeInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeInterval message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeInterval.verify|verify} messages.
+ * @param message TimeInterval message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ITimeInterval, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeInterval message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeInterval
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TimeInterval;
+
+ /**
+ * Decodes a TimeInterval message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeInterval
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TimeInterval;
+
+ /**
+ * Verifies a TimeInterval message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeInterval message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeInterval
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TimeInterval;
+
+ /**
+ * Creates a plain object from a TimeInterval message. Also converts values to other types if specified.
+ * @param message TimeInterval
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TimeInterval, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeInterval to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeInterval
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Aggregation. */
+ interface IAggregation {
+
+ /** Aggregation alignmentPeriod */
+ alignmentPeriod?: (google.protobuf.IDuration|null);
+
+ /** Aggregation perSeriesAligner */
+ perSeriesAligner?: (google.monitoring.v3.Aggregation.Aligner|keyof typeof google.monitoring.v3.Aggregation.Aligner|null);
+
+ /** Aggregation crossSeriesReducer */
+ crossSeriesReducer?: (google.monitoring.v3.Aggregation.Reducer|keyof typeof google.monitoring.v3.Aggregation.Reducer|null);
+
+ /** Aggregation groupByFields */
+ groupByFields?: (string[]|null);
+ }
+
+ /** Represents an Aggregation. */
+ class Aggregation implements IAggregation {
+
+ /**
+ * Constructs a new Aggregation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IAggregation);
+
+ /** Aggregation alignmentPeriod. */
+ public alignmentPeriod?: (google.protobuf.IDuration|null);
+
+ /** Aggregation perSeriesAligner. */
+ public perSeriesAligner: (google.monitoring.v3.Aggregation.Aligner|keyof typeof google.monitoring.v3.Aggregation.Aligner);
+
+ /** Aggregation crossSeriesReducer. */
+ public crossSeriesReducer: (google.monitoring.v3.Aggregation.Reducer|keyof typeof google.monitoring.v3.Aggregation.Reducer);
+
+ /** Aggregation groupByFields. */
+ public groupByFields: string[];
+
+ /**
+ * Creates a new Aggregation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Aggregation instance
+ */
+ public static create(properties?: google.monitoring.v3.IAggregation): google.monitoring.v3.Aggregation;
+
+ /**
+ * Encodes the specified Aggregation message. Does not implicitly {@link google.monitoring.v3.Aggregation.verify|verify} messages.
+ * @param message Aggregation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IAggregation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Aggregation message, length delimited. Does not implicitly {@link google.monitoring.v3.Aggregation.verify|verify} messages.
+ * @param message Aggregation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IAggregation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Aggregation;
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Aggregation;
+
+ /**
+ * Verifies an Aggregation message.
+ * @param message Plain 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 Aggregation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Aggregation
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Aggregation;
+
+ /**
+ * Creates a plain object from an Aggregation message. Also converts values to other types if specified.
+ * @param message Aggregation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Aggregation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Aggregation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Aggregation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Aggregation {
+
+ /** Aligner enum. */
+ enum Aligner {
+ ALIGN_NONE = 0,
+ ALIGN_DELTA = 1,
+ ALIGN_RATE = 2,
+ ALIGN_INTERPOLATE = 3,
+ ALIGN_NEXT_OLDER = 4,
+ ALIGN_MIN = 10,
+ ALIGN_MAX = 11,
+ ALIGN_MEAN = 12,
+ ALIGN_COUNT = 13,
+ ALIGN_SUM = 14,
+ ALIGN_STDDEV = 15,
+ ALIGN_COUNT_TRUE = 16,
+ ALIGN_COUNT_FALSE = 24,
+ ALIGN_FRACTION_TRUE = 17,
+ ALIGN_PERCENTILE_99 = 18,
+ ALIGN_PERCENTILE_95 = 19,
+ ALIGN_PERCENTILE_50 = 20,
+ ALIGN_PERCENTILE_05 = 21,
+ ALIGN_PERCENT_CHANGE = 23
+ }
+
+ /** Reducer enum. */
+ enum Reducer {
+ REDUCE_NONE = 0,
+ REDUCE_MEAN = 1,
+ REDUCE_MIN = 2,
+ REDUCE_MAX = 3,
+ REDUCE_SUM = 4,
+ REDUCE_STDDEV = 5,
+ REDUCE_COUNT = 6,
+ REDUCE_COUNT_TRUE = 7,
+ REDUCE_COUNT_FALSE = 15,
+ REDUCE_FRACTION_TRUE = 8,
+ REDUCE_PERCENTILE_99 = 9,
+ REDUCE_PERCENTILE_95 = 10,
+ REDUCE_PERCENTILE_50 = 11,
+ REDUCE_PERCENTILE_05 = 12
+ }
+ }
+
+ /** ComparisonType enum. */
+ enum ComparisonType {
+ COMPARISON_UNSPECIFIED = 0,
+ COMPARISON_GT = 1,
+ COMPARISON_GE = 2,
+ COMPARISON_LT = 3,
+ COMPARISON_LE = 4,
+ COMPARISON_EQ = 5,
+ COMPARISON_NE = 6
+ }
+
+ /** ServiceTier enum. */
+ enum ServiceTier {
+ SERVICE_TIER_UNSPECIFIED = 0,
+ SERVICE_TIER_BASIC = 1,
+ SERVICE_TIER_PREMIUM = 2
+ }
+
+ /** Properties of a MutationRecord. */
+ interface IMutationRecord {
+
+ /** MutationRecord mutateTime */
+ mutateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MutationRecord mutatedBy */
+ mutatedBy?: (string|null);
+ }
+
+ /** Represents a MutationRecord. */
+ class MutationRecord implements IMutationRecord {
+
+ /**
+ * Constructs a new MutationRecord.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IMutationRecord);
+
+ /** MutationRecord mutateTime. */
+ public mutateTime?: (google.protobuf.ITimestamp|null);
+
+ /** MutationRecord mutatedBy. */
+ public mutatedBy: string;
+
+ /**
+ * Creates a new MutationRecord instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MutationRecord instance
+ */
+ public static create(properties?: google.monitoring.v3.IMutationRecord): google.monitoring.v3.MutationRecord;
+
+ /**
+ * Encodes the specified MutationRecord message. Does not implicitly {@link google.monitoring.v3.MutationRecord.verify|verify} messages.
+ * @param message MutationRecord message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IMutationRecord, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MutationRecord message, length delimited. Does not implicitly {@link google.monitoring.v3.MutationRecord.verify|verify} messages.
+ * @param message MutationRecord message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IMutationRecord, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MutationRecord message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MutationRecord
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.MutationRecord;
+
+ /**
+ * Decodes a MutationRecord message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MutationRecord
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.MutationRecord;
+
+ /**
+ * Verifies a MutationRecord message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MutationRecord message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MutationRecord
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.MutationRecord;
+
+ /**
+ * Creates a plain object from a MutationRecord message. Also converts values to other types if specified.
+ * @param message MutationRecord
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.MutationRecord, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MutationRecord to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MutationRecord
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents an AlertPolicyService */
+ class AlertPolicyService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new AlertPolicyService 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 AlertPolicyService 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): AlertPolicyService;
+
+ /**
+ * Calls ListAlertPolicies.
+ * @param request ListAlertPoliciesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListAlertPoliciesResponse
+ */
+ public listAlertPolicies(request: google.monitoring.v3.IListAlertPoliciesRequest, callback: google.monitoring.v3.AlertPolicyService.ListAlertPoliciesCallback): void;
+
+ /**
+ * Calls ListAlertPolicies.
+ * @param request ListAlertPoliciesRequest message or plain object
+ * @returns Promise
+ */
+ public listAlertPolicies(request: google.monitoring.v3.IListAlertPoliciesRequest): Promise;
+
+ /**
+ * Calls GetAlertPolicy.
+ * @param request GetAlertPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AlertPolicy
+ */
+ public getAlertPolicy(request: google.monitoring.v3.IGetAlertPolicyRequest, callback: google.monitoring.v3.AlertPolicyService.GetAlertPolicyCallback): void;
+
+ /**
+ * Calls GetAlertPolicy.
+ * @param request GetAlertPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getAlertPolicy(request: google.monitoring.v3.IGetAlertPolicyRequest): Promise;
+
+ /**
+ * Calls CreateAlertPolicy.
+ * @param request CreateAlertPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AlertPolicy
+ */
+ public createAlertPolicy(request: google.monitoring.v3.ICreateAlertPolicyRequest, callback: google.monitoring.v3.AlertPolicyService.CreateAlertPolicyCallback): void;
+
+ /**
+ * Calls CreateAlertPolicy.
+ * @param request CreateAlertPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public createAlertPolicy(request: google.monitoring.v3.ICreateAlertPolicyRequest): Promise;
+
+ /**
+ * Calls DeleteAlertPolicy.
+ * @param request DeleteAlertPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteAlertPolicy(request: google.monitoring.v3.IDeleteAlertPolicyRequest, callback: google.monitoring.v3.AlertPolicyService.DeleteAlertPolicyCallback): void;
+
+ /**
+ * Calls DeleteAlertPolicy.
+ * @param request DeleteAlertPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public deleteAlertPolicy(request: google.monitoring.v3.IDeleteAlertPolicyRequest): Promise;
+
+ /**
+ * Calls UpdateAlertPolicy.
+ * @param request UpdateAlertPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AlertPolicy
+ */
+ public updateAlertPolicy(request: google.monitoring.v3.IUpdateAlertPolicyRequest, callback: google.monitoring.v3.AlertPolicyService.UpdateAlertPolicyCallback): void;
+
+ /**
+ * Calls UpdateAlertPolicy.
+ * @param request UpdateAlertPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public updateAlertPolicy(request: google.monitoring.v3.IUpdateAlertPolicyRequest): Promise;
+ }
+
+ namespace AlertPolicyService {
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|listAlertPolicies}.
+ * @param error Error, if any
+ * @param [response] ListAlertPoliciesResponse
+ */
+ type ListAlertPoliciesCallback = (error: (Error|null), response?: google.monitoring.v3.ListAlertPoliciesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|getAlertPolicy}.
+ * @param error Error, if any
+ * @param [response] AlertPolicy
+ */
+ type GetAlertPolicyCallback = (error: (Error|null), response?: google.monitoring.v3.AlertPolicy) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|createAlertPolicy}.
+ * @param error Error, if any
+ * @param [response] AlertPolicy
+ */
+ type CreateAlertPolicyCallback = (error: (Error|null), response?: google.monitoring.v3.AlertPolicy) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|deleteAlertPolicy}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteAlertPolicyCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|updateAlertPolicy}.
+ * @param error Error, if any
+ * @param [response] AlertPolicy
+ */
+ type UpdateAlertPolicyCallback = (error: (Error|null), response?: google.monitoring.v3.AlertPolicy) => void;
+ }
+
+ /** Properties of a CreateAlertPolicyRequest. */
+ interface ICreateAlertPolicyRequest {
+
+ /** CreateAlertPolicyRequest name */
+ name?: (string|null);
+
+ /** CreateAlertPolicyRequest alertPolicy */
+ alertPolicy?: (google.monitoring.v3.IAlertPolicy|null);
+ }
+
+ /** Represents a CreateAlertPolicyRequest. */
+ class CreateAlertPolicyRequest implements ICreateAlertPolicyRequest {
+
+ /**
+ * Constructs a new CreateAlertPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateAlertPolicyRequest);
+
+ /** CreateAlertPolicyRequest name. */
+ public name: string;
+
+ /** CreateAlertPolicyRequest alertPolicy. */
+ public alertPolicy?: (google.monitoring.v3.IAlertPolicy|null);
+
+ /**
+ * Creates a new CreateAlertPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateAlertPolicyRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateAlertPolicyRequest): google.monitoring.v3.CreateAlertPolicyRequest;
+
+ /**
+ * Encodes the specified CreateAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.CreateAlertPolicyRequest.verify|verify} messages.
+ * @param message CreateAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateAlertPolicyRequest.verify|verify} messages.
+ * @param message CreateAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateAlertPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateAlertPolicyRequest;
+
+ /**
+ * Decodes a CreateAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateAlertPolicyRequest;
+
+ /**
+ * Verifies a CreateAlertPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateAlertPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateAlertPolicyRequest;
+
+ /**
+ * Creates a plain object from a CreateAlertPolicyRequest message. Also converts values to other types if specified.
+ * @param message CreateAlertPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateAlertPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateAlertPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateAlertPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAlertPolicyRequest. */
+ interface IGetAlertPolicyRequest {
+
+ /** GetAlertPolicyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAlertPolicyRequest. */
+ class GetAlertPolicyRequest implements IGetAlertPolicyRequest {
+
+ /**
+ * Constructs a new GetAlertPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetAlertPolicyRequest);
+
+ /** GetAlertPolicyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAlertPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAlertPolicyRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetAlertPolicyRequest): google.monitoring.v3.GetAlertPolicyRequest;
+
+ /**
+ * Encodes the specified GetAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.GetAlertPolicyRequest.verify|verify} messages.
+ * @param message GetAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetAlertPolicyRequest.verify|verify} messages.
+ * @param message GetAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAlertPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetAlertPolicyRequest;
+
+ /**
+ * Decodes a GetAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetAlertPolicyRequest;
+
+ /**
+ * Verifies a GetAlertPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAlertPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetAlertPolicyRequest;
+
+ /**
+ * Creates a plain object from a GetAlertPolicyRequest message. Also converts values to other types if specified.
+ * @param message GetAlertPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetAlertPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAlertPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAlertPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAlertPoliciesRequest. */
+ interface IListAlertPoliciesRequest {
+
+ /** ListAlertPoliciesRequest name */
+ name?: (string|null);
+
+ /** ListAlertPoliciesRequest filter */
+ filter?: (string|null);
+
+ /** ListAlertPoliciesRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListAlertPoliciesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListAlertPoliciesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListAlertPoliciesRequest. */
+ class ListAlertPoliciesRequest implements IListAlertPoliciesRequest {
+
+ /**
+ * Constructs a new ListAlertPoliciesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListAlertPoliciesRequest);
+
+ /** ListAlertPoliciesRequest name. */
+ public name: string;
+
+ /** ListAlertPoliciesRequest filter. */
+ public filter: string;
+
+ /** ListAlertPoliciesRequest orderBy. */
+ public orderBy: string;
+
+ /** ListAlertPoliciesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListAlertPoliciesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListAlertPoliciesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAlertPoliciesRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListAlertPoliciesRequest): google.monitoring.v3.ListAlertPoliciesRequest;
+
+ /**
+ * Encodes the specified ListAlertPoliciesRequest message. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesRequest.verify|verify} messages.
+ * @param message ListAlertPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListAlertPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAlertPoliciesRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesRequest.verify|verify} messages.
+ * @param message ListAlertPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListAlertPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAlertPoliciesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAlertPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListAlertPoliciesRequest;
+
+ /**
+ * Decodes a ListAlertPoliciesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAlertPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListAlertPoliciesRequest;
+
+ /**
+ * Verifies a ListAlertPoliciesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAlertPoliciesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAlertPoliciesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListAlertPoliciesRequest;
+
+ /**
+ * Creates a plain object from a ListAlertPoliciesRequest message. Also converts values to other types if specified.
+ * @param message ListAlertPoliciesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListAlertPoliciesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAlertPoliciesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAlertPoliciesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAlertPoliciesResponse. */
+ interface IListAlertPoliciesResponse {
+
+ /** ListAlertPoliciesResponse alertPolicies */
+ alertPolicies?: (google.monitoring.v3.IAlertPolicy[]|null);
+
+ /** ListAlertPoliciesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListAlertPoliciesResponse totalSize */
+ totalSize?: (number|null);
+ }
+
+ /** Represents a ListAlertPoliciesResponse. */
+ class ListAlertPoliciesResponse implements IListAlertPoliciesResponse {
+
+ /**
+ * Constructs a new ListAlertPoliciesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListAlertPoliciesResponse);
+
+ /** ListAlertPoliciesResponse alertPolicies. */
+ public alertPolicies: google.monitoring.v3.IAlertPolicy[];
+
+ /** ListAlertPoliciesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListAlertPoliciesResponse totalSize. */
+ public totalSize: number;
+
+ /**
+ * Creates a new ListAlertPoliciesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAlertPoliciesResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListAlertPoliciesResponse): google.monitoring.v3.ListAlertPoliciesResponse;
+
+ /**
+ * Encodes the specified ListAlertPoliciesResponse message. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesResponse.verify|verify} messages.
+ * @param message ListAlertPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListAlertPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAlertPoliciesResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesResponse.verify|verify} messages.
+ * @param message ListAlertPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListAlertPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAlertPoliciesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAlertPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListAlertPoliciesResponse;
+
+ /**
+ * Decodes a ListAlertPoliciesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAlertPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListAlertPoliciesResponse;
+
+ /**
+ * Verifies a ListAlertPoliciesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAlertPoliciesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAlertPoliciesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListAlertPoliciesResponse;
+
+ /**
+ * Creates a plain object from a ListAlertPoliciesResponse message. Also converts values to other types if specified.
+ * @param message ListAlertPoliciesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListAlertPoliciesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAlertPoliciesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAlertPoliciesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateAlertPolicyRequest. */
+ interface IUpdateAlertPolicyRequest {
+
+ /** UpdateAlertPolicyRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateAlertPolicyRequest alertPolicy */
+ alertPolicy?: (google.monitoring.v3.IAlertPolicy|null);
+ }
+
+ /** Represents an UpdateAlertPolicyRequest. */
+ class UpdateAlertPolicyRequest implements IUpdateAlertPolicyRequest {
+
+ /**
+ * Constructs a new UpdateAlertPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUpdateAlertPolicyRequest);
+
+ /** UpdateAlertPolicyRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateAlertPolicyRequest alertPolicy. */
+ public alertPolicy?: (google.monitoring.v3.IAlertPolicy|null);
+
+ /**
+ * Creates a new UpdateAlertPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateAlertPolicyRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IUpdateAlertPolicyRequest): google.monitoring.v3.UpdateAlertPolicyRequest;
+
+ /**
+ * Encodes the specified UpdateAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.UpdateAlertPolicyRequest.verify|verify} messages.
+ * @param message UpdateAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUpdateAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateAlertPolicyRequest.verify|verify} messages.
+ * @param message UpdateAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUpdateAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateAlertPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UpdateAlertPolicyRequest;
+
+ /**
+ * Decodes an UpdateAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UpdateAlertPolicyRequest;
+
+ /**
+ * Verifies an UpdateAlertPolicyRequest message.
+ * @param message Plain 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 UpdateAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateAlertPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UpdateAlertPolicyRequest;
+
+ /**
+ * Creates a plain object from an UpdateAlertPolicyRequest message. Also converts values to other types if specified.
+ * @param message UpdateAlertPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UpdateAlertPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateAlertPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateAlertPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteAlertPolicyRequest. */
+ interface IDeleteAlertPolicyRequest {
+
+ /** DeleteAlertPolicyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteAlertPolicyRequest. */
+ class DeleteAlertPolicyRequest implements IDeleteAlertPolicyRequest {
+
+ /**
+ * Constructs a new DeleteAlertPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDeleteAlertPolicyRequest);
+
+ /** DeleteAlertPolicyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteAlertPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteAlertPolicyRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IDeleteAlertPolicyRequest): google.monitoring.v3.DeleteAlertPolicyRequest;
+
+ /**
+ * Encodes the specified DeleteAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.DeleteAlertPolicyRequest.verify|verify} messages.
+ * @param message DeleteAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDeleteAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteAlertPolicyRequest.verify|verify} messages.
+ * @param message DeleteAlertPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDeleteAlertPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteAlertPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DeleteAlertPolicyRequest;
+
+ /**
+ * Decodes a DeleteAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DeleteAlertPolicyRequest;
+
+ /**
+ * Verifies a DeleteAlertPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteAlertPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DeleteAlertPolicyRequest;
+
+ /**
+ * Creates a plain object from a DeleteAlertPolicyRequest message. Also converts values to other types if specified.
+ * @param message DeleteAlertPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DeleteAlertPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteAlertPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteAlertPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DroppedLabels. */
+ interface IDroppedLabels {
+
+ /** DroppedLabels label */
+ label?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a DroppedLabels. */
+ class DroppedLabels implements IDroppedLabels {
+
+ /**
+ * Constructs a new DroppedLabels.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDroppedLabels);
+
+ /** DroppedLabels label. */
+ public label: { [k: string]: string };
+
+ /**
+ * Creates a new DroppedLabels instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DroppedLabels instance
+ */
+ public static create(properties?: google.monitoring.v3.IDroppedLabels): google.monitoring.v3.DroppedLabels;
+
+ /**
+ * Encodes the specified DroppedLabels message. Does not implicitly {@link google.monitoring.v3.DroppedLabels.verify|verify} messages.
+ * @param message DroppedLabels message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDroppedLabels, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DroppedLabels message, length delimited. Does not implicitly {@link google.monitoring.v3.DroppedLabels.verify|verify} messages.
+ * @param message DroppedLabels message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDroppedLabels, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DroppedLabels message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DroppedLabels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DroppedLabels;
+
+ /**
+ * Decodes a DroppedLabels message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DroppedLabels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DroppedLabels;
+
+ /**
+ * Verifies a DroppedLabels message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DroppedLabels message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DroppedLabels
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DroppedLabels;
+
+ /**
+ * Creates a plain object from a DroppedLabels message. Also converts values to other types if specified.
+ * @param message DroppedLabels
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DroppedLabels, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DroppedLabels to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DroppedLabels
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Group. */
+ interface IGroup {
+
+ /** Group name */
+ name?: (string|null);
+
+ /** Group displayName */
+ displayName?: (string|null);
+
+ /** Group parentName */
+ parentName?: (string|null);
+
+ /** Group filter */
+ filter?: (string|null);
+
+ /** Group isCluster */
+ isCluster?: (boolean|null);
+ }
+
+ /** Represents a Group. */
+ class Group implements IGroup {
+
+ /**
+ * Constructs a new Group.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGroup);
+
+ /** Group name. */
+ public name: string;
+
+ /** Group displayName. */
+ public displayName: string;
+
+ /** Group parentName. */
+ public parentName: string;
+
+ /** Group filter. */
+ public filter: string;
+
+ /** Group isCluster. */
+ public isCluster: boolean;
+
+ /**
+ * Creates a new Group instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Group instance
+ */
+ public static create(properties?: google.monitoring.v3.IGroup): google.monitoring.v3.Group;
+
+ /**
+ * Encodes the specified Group message. Does not implicitly {@link google.monitoring.v3.Group.verify|verify} messages.
+ * @param message Group message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGroup, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Group message, length delimited. Does not implicitly {@link google.monitoring.v3.Group.verify|verify} messages.
+ * @param message Group message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGroup, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Group message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Group
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Group;
+
+ /**
+ * Decodes a Group message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Group
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Group;
+
+ /**
+ * Verifies a Group message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Group message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Group
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Group;
+
+ /**
+ * Creates a plain object from a Group message. Also converts values to other types if specified.
+ * @param message Group
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Group, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Group to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Group
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a GroupService */
+ class GroupService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new GroupService 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 GroupService 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): GroupService;
+
+ /**
+ * Calls ListGroups.
+ * @param request ListGroupsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListGroupsResponse
+ */
+ public listGroups(request: google.monitoring.v3.IListGroupsRequest, callback: google.monitoring.v3.GroupService.ListGroupsCallback): void;
+
+ /**
+ * Calls ListGroups.
+ * @param request ListGroupsRequest message or plain object
+ * @returns Promise
+ */
+ public listGroups(request: google.monitoring.v3.IListGroupsRequest): Promise;
+
+ /**
+ * Calls GetGroup.
+ * @param request GetGroupRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Group
+ */
+ public getGroup(request: google.monitoring.v3.IGetGroupRequest, callback: google.monitoring.v3.GroupService.GetGroupCallback): void;
+
+ /**
+ * Calls GetGroup.
+ * @param request GetGroupRequest message or plain object
+ * @returns Promise
+ */
+ public getGroup(request: google.monitoring.v3.IGetGroupRequest): Promise;
+
+ /**
+ * Calls CreateGroup.
+ * @param request CreateGroupRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Group
+ */
+ public createGroup(request: google.monitoring.v3.ICreateGroupRequest, callback: google.monitoring.v3.GroupService.CreateGroupCallback): void;
+
+ /**
+ * Calls CreateGroup.
+ * @param request CreateGroupRequest message or plain object
+ * @returns Promise
+ */
+ public createGroup(request: google.monitoring.v3.ICreateGroupRequest): Promise;
+
+ /**
+ * Calls UpdateGroup.
+ * @param request UpdateGroupRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Group
+ */
+ public updateGroup(request: google.monitoring.v3.IUpdateGroupRequest, callback: google.monitoring.v3.GroupService.UpdateGroupCallback): void;
+
+ /**
+ * Calls UpdateGroup.
+ * @param request UpdateGroupRequest message or plain object
+ * @returns Promise
+ */
+ public updateGroup(request: google.monitoring.v3.IUpdateGroupRequest): Promise;
+
+ /**
+ * Calls DeleteGroup.
+ * @param request DeleteGroupRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteGroup(request: google.monitoring.v3.IDeleteGroupRequest, callback: google.monitoring.v3.GroupService.DeleteGroupCallback): void;
+
+ /**
+ * Calls DeleteGroup.
+ * @param request DeleteGroupRequest message or plain object
+ * @returns Promise
+ */
+ public deleteGroup(request: google.monitoring.v3.IDeleteGroupRequest): Promise;
+
+ /**
+ * Calls ListGroupMembers.
+ * @param request ListGroupMembersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListGroupMembersResponse
+ */
+ public listGroupMembers(request: google.monitoring.v3.IListGroupMembersRequest, callback: google.monitoring.v3.GroupService.ListGroupMembersCallback): void;
+
+ /**
+ * Calls ListGroupMembers.
+ * @param request ListGroupMembersRequest message or plain object
+ * @returns Promise
+ */
+ public listGroupMembers(request: google.monitoring.v3.IListGroupMembersRequest): Promise;
+ }
+
+ namespace GroupService {
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|listGroups}.
+ * @param error Error, if any
+ * @param [response] ListGroupsResponse
+ */
+ type ListGroupsCallback = (error: (Error|null), response?: google.monitoring.v3.ListGroupsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|getGroup}.
+ * @param error Error, if any
+ * @param [response] Group
+ */
+ type GetGroupCallback = (error: (Error|null), response?: google.monitoring.v3.Group) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|createGroup}.
+ * @param error Error, if any
+ * @param [response] Group
+ */
+ type CreateGroupCallback = (error: (Error|null), response?: google.monitoring.v3.Group) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|updateGroup}.
+ * @param error Error, if any
+ * @param [response] Group
+ */
+ type UpdateGroupCallback = (error: (Error|null), response?: google.monitoring.v3.Group) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|deleteGroup}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteGroupCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|listGroupMembers}.
+ * @param error Error, if any
+ * @param [response] ListGroupMembersResponse
+ */
+ type ListGroupMembersCallback = (error: (Error|null), response?: google.monitoring.v3.ListGroupMembersResponse) => void;
+ }
+
+ /** Properties of a ListGroupsRequest. */
+ interface IListGroupsRequest {
+
+ /** ListGroupsRequest name */
+ name?: (string|null);
+
+ /** ListGroupsRequest childrenOfGroup */
+ childrenOfGroup?: (string|null);
+
+ /** ListGroupsRequest ancestorsOfGroup */
+ ancestorsOfGroup?: (string|null);
+
+ /** ListGroupsRequest descendantsOfGroup */
+ descendantsOfGroup?: (string|null);
+
+ /** ListGroupsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListGroupsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListGroupsRequest. */
+ class ListGroupsRequest implements IListGroupsRequest {
+
+ /**
+ * Constructs a new ListGroupsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListGroupsRequest);
+
+ /** ListGroupsRequest name. */
+ public name: string;
+
+ /** ListGroupsRequest childrenOfGroup. */
+ public childrenOfGroup?: (string|null);
+
+ /** ListGroupsRequest ancestorsOfGroup. */
+ public ancestorsOfGroup?: (string|null);
+
+ /** ListGroupsRequest descendantsOfGroup. */
+ public descendantsOfGroup?: (string|null);
+
+ /** ListGroupsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListGroupsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListGroupsRequest filter. */
+ public filter?: ("childrenOfGroup"|"ancestorsOfGroup"|"descendantsOfGroup");
+
+ /**
+ * Creates a new ListGroupsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListGroupsRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListGroupsRequest): google.monitoring.v3.ListGroupsRequest;
+
+ /**
+ * Encodes the specified ListGroupsRequest message. Does not implicitly {@link google.monitoring.v3.ListGroupsRequest.verify|verify} messages.
+ * @param message ListGroupsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListGroupsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupsRequest.verify|verify} messages.
+ * @param message ListGroupsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListGroupsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListGroupsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListGroupsRequest;
+
+ /**
+ * Decodes a ListGroupsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListGroupsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListGroupsRequest;
+
+ /**
+ * Verifies a ListGroupsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListGroupsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListGroupsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListGroupsRequest;
+
+ /**
+ * Creates a plain object from a ListGroupsRequest message. Also converts values to other types if specified.
+ * @param message ListGroupsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListGroupsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListGroupsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListGroupsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListGroupsResponse. */
+ interface IListGroupsResponse {
+
+ /** ListGroupsResponse group */
+ group?: (google.monitoring.v3.IGroup[]|null);
+
+ /** ListGroupsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListGroupsResponse. */
+ class ListGroupsResponse implements IListGroupsResponse {
+
+ /**
+ * Constructs a new ListGroupsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListGroupsResponse);
+
+ /** ListGroupsResponse group. */
+ public group: google.monitoring.v3.IGroup[];
+
+ /** ListGroupsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListGroupsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListGroupsResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListGroupsResponse): google.monitoring.v3.ListGroupsResponse;
+
+ /**
+ * Encodes the specified ListGroupsResponse message. Does not implicitly {@link google.monitoring.v3.ListGroupsResponse.verify|verify} messages.
+ * @param message ListGroupsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListGroupsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupsResponse.verify|verify} messages.
+ * @param message ListGroupsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListGroupsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListGroupsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListGroupsResponse;
+
+ /**
+ * Decodes a ListGroupsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListGroupsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListGroupsResponse;
+
+ /**
+ * Verifies a ListGroupsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListGroupsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListGroupsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListGroupsResponse;
+
+ /**
+ * Creates a plain object from a ListGroupsResponse message. Also converts values to other types if specified.
+ * @param message ListGroupsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListGroupsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListGroupsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListGroupsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetGroupRequest. */
+ interface IGetGroupRequest {
+
+ /** GetGroupRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetGroupRequest. */
+ class GetGroupRequest implements IGetGroupRequest {
+
+ /**
+ * Constructs a new GetGroupRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetGroupRequest);
+
+ /** GetGroupRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetGroupRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetGroupRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetGroupRequest): google.monitoring.v3.GetGroupRequest;
+
+ /**
+ * Encodes the specified GetGroupRequest message. Does not implicitly {@link google.monitoring.v3.GetGroupRequest.verify|verify} messages.
+ * @param message GetGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetGroupRequest.verify|verify} messages.
+ * @param message GetGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetGroupRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetGroupRequest;
+
+ /**
+ * Decodes a GetGroupRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetGroupRequest;
+
+ /**
+ * Verifies a GetGroupRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetGroupRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetGroupRequest;
+
+ /**
+ * Creates a plain object from a GetGroupRequest message. Also converts values to other types if specified.
+ * @param message GetGroupRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetGroupRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetGroupRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateGroupRequest. */
+ interface ICreateGroupRequest {
+
+ /** CreateGroupRequest name */
+ name?: (string|null);
+
+ /** CreateGroupRequest group */
+ group?: (google.monitoring.v3.IGroup|null);
+
+ /** CreateGroupRequest validateOnly */
+ validateOnly?: (boolean|null);
+ }
+
+ /** Represents a CreateGroupRequest. */
+ class CreateGroupRequest implements ICreateGroupRequest {
+
+ /**
+ * Constructs a new CreateGroupRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateGroupRequest);
+
+ /** CreateGroupRequest name. */
+ public name: string;
+
+ /** CreateGroupRequest group. */
+ public group?: (google.monitoring.v3.IGroup|null);
+
+ /** CreateGroupRequest validateOnly. */
+ public validateOnly: boolean;
+
+ /**
+ * Creates a new CreateGroupRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateGroupRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateGroupRequest): google.monitoring.v3.CreateGroupRequest;
+
+ /**
+ * Encodes the specified CreateGroupRequest message. Does not implicitly {@link google.monitoring.v3.CreateGroupRequest.verify|verify} messages.
+ * @param message CreateGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateGroupRequest.verify|verify} messages.
+ * @param message CreateGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateGroupRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateGroupRequest;
+
+ /**
+ * Decodes a CreateGroupRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateGroupRequest;
+
+ /**
+ * Verifies a CreateGroupRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateGroupRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateGroupRequest;
+
+ /**
+ * Creates a plain object from a CreateGroupRequest message. Also converts values to other types if specified.
+ * @param message CreateGroupRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateGroupRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateGroupRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateGroupRequest. */
+ interface IUpdateGroupRequest {
+
+ /** UpdateGroupRequest group */
+ group?: (google.monitoring.v3.IGroup|null);
+
+ /** UpdateGroupRequest validateOnly */
+ validateOnly?: (boolean|null);
+ }
+
+ /** Represents an UpdateGroupRequest. */
+ class UpdateGroupRequest implements IUpdateGroupRequest {
+
+ /**
+ * Constructs a new UpdateGroupRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUpdateGroupRequest);
+
+ /** UpdateGroupRequest group. */
+ public group?: (google.monitoring.v3.IGroup|null);
+
+ /** UpdateGroupRequest validateOnly. */
+ public validateOnly: boolean;
+
+ /**
+ * Creates a new UpdateGroupRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateGroupRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IUpdateGroupRequest): google.monitoring.v3.UpdateGroupRequest;
+
+ /**
+ * Encodes the specified UpdateGroupRequest message. Does not implicitly {@link google.monitoring.v3.UpdateGroupRequest.verify|verify} messages.
+ * @param message UpdateGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUpdateGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateGroupRequest.verify|verify} messages.
+ * @param message UpdateGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUpdateGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateGroupRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UpdateGroupRequest;
+
+ /**
+ * Decodes an UpdateGroupRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UpdateGroupRequest;
+
+ /**
+ * Verifies an UpdateGroupRequest message.
+ * @param message Plain 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 UpdateGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateGroupRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UpdateGroupRequest;
+
+ /**
+ * Creates a plain object from an UpdateGroupRequest message. Also converts values to other types if specified.
+ * @param message UpdateGroupRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UpdateGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateGroupRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateGroupRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteGroupRequest. */
+ interface IDeleteGroupRequest {
+
+ /** DeleteGroupRequest name */
+ name?: (string|null);
+
+ /** DeleteGroupRequest recursive */
+ recursive?: (boolean|null);
+ }
+
+ /** Represents a DeleteGroupRequest. */
+ class DeleteGroupRequest implements IDeleteGroupRequest {
+
+ /**
+ * Constructs a new DeleteGroupRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDeleteGroupRequest);
+
+ /** DeleteGroupRequest name. */
+ public name: string;
+
+ /** DeleteGroupRequest recursive. */
+ public recursive: boolean;
+
+ /**
+ * Creates a new DeleteGroupRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteGroupRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IDeleteGroupRequest): google.monitoring.v3.DeleteGroupRequest;
+
+ /**
+ * Encodes the specified DeleteGroupRequest message. Does not implicitly {@link google.monitoring.v3.DeleteGroupRequest.verify|verify} messages.
+ * @param message DeleteGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDeleteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteGroupRequest.verify|verify} messages.
+ * @param message DeleteGroupRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDeleteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteGroupRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DeleteGroupRequest;
+
+ /**
+ * Decodes a DeleteGroupRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DeleteGroupRequest;
+
+ /**
+ * Verifies a DeleteGroupRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteGroupRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DeleteGroupRequest;
+
+ /**
+ * Creates a plain object from a DeleteGroupRequest message. Also converts values to other types if specified.
+ * @param message DeleteGroupRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DeleteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteGroupRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteGroupRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListGroupMembersRequest. */
+ interface IListGroupMembersRequest {
+
+ /** ListGroupMembersRequest name */
+ name?: (string|null);
+
+ /** ListGroupMembersRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListGroupMembersRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListGroupMembersRequest filter */
+ filter?: (string|null);
+
+ /** ListGroupMembersRequest interval */
+ interval?: (google.monitoring.v3.ITimeInterval|null);
+ }
+
+ /** Represents a ListGroupMembersRequest. */
+ class ListGroupMembersRequest implements IListGroupMembersRequest {
+
+ /**
+ * Constructs a new ListGroupMembersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListGroupMembersRequest);
+
+ /** ListGroupMembersRequest name. */
+ public name: string;
+
+ /** ListGroupMembersRequest pageSize. */
+ public pageSize: number;
+
+ /** ListGroupMembersRequest pageToken. */
+ public pageToken: string;
+
+ /** ListGroupMembersRequest filter. */
+ public filter: string;
+
+ /** ListGroupMembersRequest interval. */
+ public interval?: (google.monitoring.v3.ITimeInterval|null);
+
+ /**
+ * Creates a new ListGroupMembersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListGroupMembersRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListGroupMembersRequest): google.monitoring.v3.ListGroupMembersRequest;
+
+ /**
+ * Encodes the specified ListGroupMembersRequest message. Does not implicitly {@link google.monitoring.v3.ListGroupMembersRequest.verify|verify} messages.
+ * @param message ListGroupMembersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListGroupMembersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListGroupMembersRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupMembersRequest.verify|verify} messages.
+ * @param message ListGroupMembersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListGroupMembersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListGroupMembersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListGroupMembersRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListGroupMembersRequest;
+
+ /**
+ * Decodes a ListGroupMembersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListGroupMembersRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListGroupMembersRequest;
+
+ /**
+ * Verifies a ListGroupMembersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListGroupMembersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListGroupMembersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListGroupMembersRequest;
+
+ /**
+ * Creates a plain object from a ListGroupMembersRequest message. Also converts values to other types if specified.
+ * @param message ListGroupMembersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListGroupMembersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListGroupMembersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListGroupMembersRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListGroupMembersResponse. */
+ interface IListGroupMembersResponse {
+
+ /** ListGroupMembersResponse members */
+ members?: (google.api.IMonitoredResource[]|null);
+
+ /** ListGroupMembersResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListGroupMembersResponse totalSize */
+ totalSize?: (number|null);
+ }
+
+ /** Represents a ListGroupMembersResponse. */
+ class ListGroupMembersResponse implements IListGroupMembersResponse {
+
+ /**
+ * Constructs a new ListGroupMembersResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListGroupMembersResponse);
+
+ /** ListGroupMembersResponse members. */
+ public members: google.api.IMonitoredResource[];
+
+ /** ListGroupMembersResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListGroupMembersResponse totalSize. */
+ public totalSize: number;
+
+ /**
+ * Creates a new ListGroupMembersResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListGroupMembersResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListGroupMembersResponse): google.monitoring.v3.ListGroupMembersResponse;
+
+ /**
+ * Encodes the specified ListGroupMembersResponse message. Does not implicitly {@link google.monitoring.v3.ListGroupMembersResponse.verify|verify} messages.
+ * @param message ListGroupMembersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListGroupMembersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListGroupMembersResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupMembersResponse.verify|verify} messages.
+ * @param message ListGroupMembersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListGroupMembersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListGroupMembersResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListGroupMembersResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListGroupMembersResponse;
+
+ /**
+ * Decodes a ListGroupMembersResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListGroupMembersResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListGroupMembersResponse;
+
+ /**
+ * Verifies a ListGroupMembersResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListGroupMembersResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListGroupMembersResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListGroupMembersResponse;
+
+ /**
+ * Creates a plain object from a ListGroupMembersResponse message. Also converts values to other types if specified.
+ * @param message ListGroupMembersResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListGroupMembersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListGroupMembersResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListGroupMembersResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Point. */
+ interface IPoint {
+
+ /** Point interval */
+ interval?: (google.monitoring.v3.ITimeInterval|null);
+
+ /** Point value */
+ value?: (google.monitoring.v3.ITypedValue|null);
+ }
+
+ /** Represents a Point. */
+ class Point implements IPoint {
+
+ /**
+ * Constructs a new Point.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IPoint);
+
+ /** Point interval. */
+ public interval?: (google.monitoring.v3.ITimeInterval|null);
+
+ /** Point value. */
+ public value?: (google.monitoring.v3.ITypedValue|null);
+
+ /**
+ * Creates a new Point instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Point instance
+ */
+ public static create(properties?: google.monitoring.v3.IPoint): google.monitoring.v3.Point;
+
+ /**
+ * Encodes the specified Point message. Does not implicitly {@link google.monitoring.v3.Point.verify|verify} messages.
+ * @param message Point message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IPoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Point message, length delimited. Does not implicitly {@link google.monitoring.v3.Point.verify|verify} messages.
+ * @param message Point message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IPoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Point message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Point
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Point;
+
+ /**
+ * Decodes a Point message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Point
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Point;
+
+ /**
+ * Verifies a Point message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Point message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Point
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Point;
+
+ /**
+ * Creates a plain object from a Point message. Also converts values to other types if specified.
+ * @param message Point
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Point, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Point to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Point
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeSeries. */
+ interface ITimeSeries {
+
+ /** TimeSeries metric */
+ metric?: (google.api.IMetric|null);
+
+ /** TimeSeries resource */
+ resource?: (google.api.IMonitoredResource|null);
+
+ /** TimeSeries metadata */
+ metadata?: (google.api.IMonitoredResourceMetadata|null);
+
+ /** TimeSeries metricKind */
+ metricKind?: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind|null);
+
+ /** TimeSeries valueType */
+ valueType?: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType|null);
+
+ /** TimeSeries points */
+ points?: (google.monitoring.v3.IPoint[]|null);
+
+ /** TimeSeries unit */
+ unit?: (string|null);
+ }
+
+ /** Represents a TimeSeries. */
+ class TimeSeries implements ITimeSeries {
+
+ /**
+ * Constructs a new TimeSeries.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ITimeSeries);
+
+ /** TimeSeries metric. */
+ public metric?: (google.api.IMetric|null);
+
+ /** TimeSeries resource. */
+ public resource?: (google.api.IMonitoredResource|null);
+
+ /** TimeSeries metadata. */
+ public metadata?: (google.api.IMonitoredResourceMetadata|null);
+
+ /** TimeSeries metricKind. */
+ public metricKind: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind);
+
+ /** TimeSeries valueType. */
+ public valueType: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType);
+
+ /** TimeSeries points. */
+ public points: google.monitoring.v3.IPoint[];
+
+ /** TimeSeries unit. */
+ public unit: string;
+
+ /**
+ * Creates a new TimeSeries instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeSeries instance
+ */
+ public static create(properties?: google.monitoring.v3.ITimeSeries): google.monitoring.v3.TimeSeries;
+
+ /**
+ * Encodes the specified TimeSeries message. Does not implicitly {@link google.monitoring.v3.TimeSeries.verify|verify} messages.
+ * @param message TimeSeries message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ITimeSeries, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeSeries message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeries.verify|verify} messages.
+ * @param message TimeSeries message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ITimeSeries, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeSeries message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeSeries
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TimeSeries;
+
+ /**
+ * Decodes a TimeSeries message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeSeries
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TimeSeries;
+
+ /**
+ * Verifies a TimeSeries message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeSeries message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeSeries
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TimeSeries;
+
+ /**
+ * Creates a plain object from a TimeSeries message. Also converts values to other types if specified.
+ * @param message TimeSeries
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TimeSeries, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeSeries to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeSeries
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeSeriesDescriptor. */
+ interface ITimeSeriesDescriptor {
+
+ /** TimeSeriesDescriptor labelDescriptors */
+ labelDescriptors?: (google.api.ILabelDescriptor[]|null);
+
+ /** TimeSeriesDescriptor pointDescriptors */
+ pointDescriptors?: (google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor[]|null);
+ }
+
+ /** Represents a TimeSeriesDescriptor. */
+ class TimeSeriesDescriptor implements ITimeSeriesDescriptor {
+
+ /**
+ * Constructs a new TimeSeriesDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ITimeSeriesDescriptor);
+
+ /** TimeSeriesDescriptor labelDescriptors. */
+ public labelDescriptors: google.api.ILabelDescriptor[];
+
+ /** TimeSeriesDescriptor pointDescriptors. */
+ public pointDescriptors: google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor[];
+
+ /**
+ * Creates a new TimeSeriesDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeSeriesDescriptor instance
+ */
+ public static create(properties?: google.monitoring.v3.ITimeSeriesDescriptor): google.monitoring.v3.TimeSeriesDescriptor;
+
+ /**
+ * Encodes the specified TimeSeriesDescriptor message. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.verify|verify} messages.
+ * @param message TimeSeriesDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ITimeSeriesDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeSeriesDescriptor message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.verify|verify} messages.
+ * @param message TimeSeriesDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ITimeSeriesDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeSeriesDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeSeriesDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TimeSeriesDescriptor;
+
+ /**
+ * Decodes a TimeSeriesDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeSeriesDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TimeSeriesDescriptor;
+
+ /**
+ * Verifies a TimeSeriesDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeSeriesDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeSeriesDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TimeSeriesDescriptor;
+
+ /**
+ * Creates a plain object from a TimeSeriesDescriptor message. Also converts values to other types if specified.
+ * @param message TimeSeriesDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TimeSeriesDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeSeriesDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeSeriesDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace TimeSeriesDescriptor {
+
+ /** Properties of a ValueDescriptor. */
+ interface IValueDescriptor {
+
+ /** ValueDescriptor key */
+ key?: (string|null);
+
+ /** ValueDescriptor valueType */
+ valueType?: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType|null);
+
+ /** ValueDescriptor metricKind */
+ metricKind?: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind|null);
+
+ /** ValueDescriptor unit */
+ unit?: (string|null);
+ }
+
+ /** Represents a ValueDescriptor. */
+ class ValueDescriptor implements IValueDescriptor {
+
+ /**
+ * Constructs a new ValueDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor);
+
+ /** ValueDescriptor key. */
+ public key: string;
+
+ /** ValueDescriptor valueType. */
+ public valueType: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType);
+
+ /** ValueDescriptor metricKind. */
+ public metricKind: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind);
+
+ /** ValueDescriptor unit. */
+ public unit: string;
+
+ /**
+ * Creates a new ValueDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValueDescriptor instance
+ */
+ public static create(properties?: google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor): google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor;
+
+ /**
+ * Encodes the specified ValueDescriptor message. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.verify|verify} messages.
+ * @param message ValueDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValueDescriptor message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.verify|verify} messages.
+ * @param message ValueDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValueDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValueDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor;
+
+ /**
+ * Decodes a ValueDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValueDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor;
+
+ /**
+ * Verifies a ValueDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValueDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValueDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor;
+
+ /**
+ * Creates a plain object from a ValueDescriptor message. Also converts values to other types if specified.
+ * @param message ValueDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValueDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ValueDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a TimeSeriesData. */
+ interface ITimeSeriesData {
+
+ /** TimeSeriesData labelValues */
+ labelValues?: (google.monitoring.v3.ILabelValue[]|null);
+
+ /** TimeSeriesData pointData */
+ pointData?: (google.monitoring.v3.TimeSeriesData.IPointData[]|null);
+ }
+
+ /** Represents a TimeSeriesData. */
+ class TimeSeriesData implements ITimeSeriesData {
+
+ /**
+ * Constructs a new TimeSeriesData.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ITimeSeriesData);
+
+ /** TimeSeriesData labelValues. */
+ public labelValues: google.monitoring.v3.ILabelValue[];
+
+ /** TimeSeriesData pointData. */
+ public pointData: google.monitoring.v3.TimeSeriesData.IPointData[];
+
+ /**
+ * Creates a new TimeSeriesData instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeSeriesData instance
+ */
+ public static create(properties?: google.monitoring.v3.ITimeSeriesData): google.monitoring.v3.TimeSeriesData;
+
+ /**
+ * Encodes the specified TimeSeriesData message. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.verify|verify} messages.
+ * @param message TimeSeriesData message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ITimeSeriesData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeSeriesData message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.verify|verify} messages.
+ * @param message TimeSeriesData message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ITimeSeriesData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeSeriesData message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeSeriesData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TimeSeriesData;
+
+ /**
+ * Decodes a TimeSeriesData message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeSeriesData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TimeSeriesData;
+
+ /**
+ * Verifies a TimeSeriesData message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeSeriesData message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeSeriesData
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TimeSeriesData;
+
+ /**
+ * Creates a plain object from a TimeSeriesData message. Also converts values to other types if specified.
+ * @param message TimeSeriesData
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TimeSeriesData, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeSeriesData to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeSeriesData
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace TimeSeriesData {
+
+ /** Properties of a PointData. */
+ interface IPointData {
+
+ /** PointData values */
+ values?: (google.monitoring.v3.ITypedValue[]|null);
+
+ /** PointData timeInterval */
+ timeInterval?: (google.monitoring.v3.ITimeInterval|null);
+ }
+
+ /** Represents a PointData. */
+ class PointData implements IPointData {
+
+ /**
+ * Constructs a new PointData.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.TimeSeriesData.IPointData);
+
+ /** PointData values. */
+ public values: google.monitoring.v3.ITypedValue[];
+
+ /** PointData timeInterval. */
+ public timeInterval?: (google.monitoring.v3.ITimeInterval|null);
+
+ /**
+ * Creates a new PointData instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PointData instance
+ */
+ public static create(properties?: google.monitoring.v3.TimeSeriesData.IPointData): google.monitoring.v3.TimeSeriesData.PointData;
+
+ /**
+ * Encodes the specified PointData message. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.PointData.verify|verify} messages.
+ * @param message PointData message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.TimeSeriesData.IPointData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PointData message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.PointData.verify|verify} messages.
+ * @param message PointData message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.TimeSeriesData.IPointData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PointData message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PointData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TimeSeriesData.PointData;
+
+ /**
+ * Decodes a PointData message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PointData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TimeSeriesData.PointData;
+
+ /**
+ * Verifies a PointData message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PointData message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PointData
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TimeSeriesData.PointData;
+
+ /**
+ * Creates a plain object from a PointData message. Also converts values to other types if specified.
+ * @param message PointData
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TimeSeriesData.PointData, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PointData to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PointData
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a LabelValue. */
+ interface ILabelValue {
+
+ /** LabelValue boolValue */
+ boolValue?: (boolean|null);
+
+ /** LabelValue int64Value */
+ int64Value?: (number|Long|string|null);
+
+ /** LabelValue stringValue */
+ stringValue?: (string|null);
+ }
+
+ /** Represents a LabelValue. */
+ class LabelValue implements ILabelValue {
+
+ /**
+ * Constructs a new LabelValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ILabelValue);
+
+ /** LabelValue boolValue. */
+ public boolValue?: (boolean|null);
+
+ /** LabelValue int64Value. */
+ public int64Value?: (number|Long|string|null);
+
+ /** LabelValue stringValue. */
+ public stringValue?: (string|null);
+
+ /** LabelValue value. */
+ public value?: ("boolValue"|"int64Value"|"stringValue");
+
+ /**
+ * Creates a new LabelValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelValue instance
+ */
+ public static create(properties?: google.monitoring.v3.ILabelValue): google.monitoring.v3.LabelValue;
+
+ /**
+ * Encodes the specified LabelValue message. Does not implicitly {@link google.monitoring.v3.LabelValue.verify|verify} messages.
+ * @param message LabelValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ILabelValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelValue message, length delimited. Does not implicitly {@link google.monitoring.v3.LabelValue.verify|verify} messages.
+ * @param message LabelValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ILabelValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.LabelValue;
+
+ /**
+ * Decodes a LabelValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.LabelValue;
+
+ /**
+ * Verifies a LabelValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.LabelValue;
+
+ /**
+ * Creates a plain object from a LabelValue message. Also converts values to other types if specified.
+ * @param message LabelValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.LabelValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a QueryError. */
+ interface IQueryError {
+
+ /** QueryError locator */
+ locator?: (google.monitoring.v3.ITextLocator|null);
+
+ /** QueryError message */
+ message?: (string|null);
+ }
+
+ /** Represents a QueryError. */
+ class QueryError implements IQueryError {
+
+ /**
+ * Constructs a new QueryError.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IQueryError);
+
+ /** QueryError locator. */
+ public locator?: (google.monitoring.v3.ITextLocator|null);
+
+ /** QueryError message. */
+ public message: string;
+
+ /**
+ * Creates a new QueryError instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryError instance
+ */
+ public static create(properties?: google.monitoring.v3.IQueryError): google.monitoring.v3.QueryError;
+
+ /**
+ * Encodes the specified QueryError message. Does not implicitly {@link google.monitoring.v3.QueryError.verify|verify} messages.
+ * @param message QueryError message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IQueryError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryError message, length delimited. Does not implicitly {@link google.monitoring.v3.QueryError.verify|verify} messages.
+ * @param message QueryError message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IQueryError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryError message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.QueryError;
+
+ /**
+ * Decodes a QueryError message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.QueryError;
+
+ /**
+ * Verifies a QueryError message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryError message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryError
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.QueryError;
+
+ /**
+ * Creates a plain object from a QueryError message. Also converts values to other types if specified.
+ * @param message QueryError
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.QueryError, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryError to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryError
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TextLocator. */
+ interface ITextLocator {
+
+ /** TextLocator source */
+ source?: (string|null);
+
+ /** TextLocator startPosition */
+ startPosition?: (google.monitoring.v3.TextLocator.IPosition|null);
+
+ /** TextLocator endPosition */
+ endPosition?: (google.monitoring.v3.TextLocator.IPosition|null);
+
+ /** TextLocator nestedLocator */
+ nestedLocator?: (google.monitoring.v3.ITextLocator|null);
+
+ /** TextLocator nestingReason */
+ nestingReason?: (string|null);
+ }
+
+ /** Represents a TextLocator. */
+ class TextLocator implements ITextLocator {
+
+ /**
+ * Constructs a new TextLocator.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ITextLocator);
+
+ /** TextLocator source. */
+ public source: string;
+
+ /** TextLocator startPosition. */
+ public startPosition?: (google.monitoring.v3.TextLocator.IPosition|null);
+
+ /** TextLocator endPosition. */
+ public endPosition?: (google.monitoring.v3.TextLocator.IPosition|null);
+
+ /** TextLocator nestedLocator. */
+ public nestedLocator?: (google.monitoring.v3.ITextLocator|null);
+
+ /** TextLocator nestingReason. */
+ public nestingReason: string;
+
+ /**
+ * Creates a new TextLocator instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TextLocator instance
+ */
+ public static create(properties?: google.monitoring.v3.ITextLocator): google.monitoring.v3.TextLocator;
+
+ /**
+ * Encodes the specified TextLocator message. Does not implicitly {@link google.monitoring.v3.TextLocator.verify|verify} messages.
+ * @param message TextLocator message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ITextLocator, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TextLocator message, length delimited. Does not implicitly {@link google.monitoring.v3.TextLocator.verify|verify} messages.
+ * @param message TextLocator message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ITextLocator, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TextLocator message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TextLocator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TextLocator;
+
+ /**
+ * Decodes a TextLocator message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TextLocator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TextLocator;
+
+ /**
+ * Verifies a TextLocator message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TextLocator message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TextLocator
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TextLocator;
+
+ /**
+ * Creates a plain object from a TextLocator message. Also converts values to other types if specified.
+ * @param message TextLocator
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TextLocator, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TextLocator to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TextLocator
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace TextLocator {
+
+ /** Properties of a Position. */
+ interface IPosition {
+
+ /** Position line */
+ line?: (number|null);
+
+ /** Position column */
+ column?: (number|null);
+ }
+
+ /** Represents a Position. */
+ class Position implements IPosition {
+
+ /**
+ * Constructs a new Position.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.TextLocator.IPosition);
+
+ /** Position line. */
+ public line: number;
+
+ /** Position column. */
+ public column: number;
+
+ /**
+ * Creates a new Position instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Position instance
+ */
+ public static create(properties?: google.monitoring.v3.TextLocator.IPosition): google.monitoring.v3.TextLocator.Position;
+
+ /**
+ * Encodes the specified Position message. Does not implicitly {@link google.monitoring.v3.TextLocator.Position.verify|verify} messages.
+ * @param message Position message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.TextLocator.IPosition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Position message, length delimited. Does not implicitly {@link google.monitoring.v3.TextLocator.Position.verify|verify} messages.
+ * @param message Position message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.TextLocator.IPosition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Position message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Position
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TextLocator.Position;
+
+ /**
+ * Decodes a Position message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Position
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TextLocator.Position;
+
+ /**
+ * Verifies a Position message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Position message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Position
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TextLocator.Position;
+
+ /**
+ * Creates a plain object from a Position message. Also converts values to other types if specified.
+ * @param message Position
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TextLocator.Position, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Position to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Position
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a MetricService */
+ class MetricService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new MetricService 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 MetricService 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): MetricService;
+
+ /**
+ * Calls ListMonitoredResourceDescriptors.
+ * @param request ListMonitoredResourceDescriptorsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListMonitoredResourceDescriptorsResponse
+ */
+ public listMonitoredResourceDescriptors(request: google.monitoring.v3.IListMonitoredResourceDescriptorsRequest, callback: google.monitoring.v3.MetricService.ListMonitoredResourceDescriptorsCallback): void;
+
+ /**
+ * Calls ListMonitoredResourceDescriptors.
+ * @param request ListMonitoredResourceDescriptorsRequest message or plain object
+ * @returns Promise
+ */
+ public listMonitoredResourceDescriptors(request: google.monitoring.v3.IListMonitoredResourceDescriptorsRequest): Promise;
+
+ /**
+ * Calls GetMonitoredResourceDescriptor.
+ * @param request GetMonitoredResourceDescriptorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and MonitoredResourceDescriptor
+ */
+ public getMonitoredResourceDescriptor(request: google.monitoring.v3.IGetMonitoredResourceDescriptorRequest, callback: google.monitoring.v3.MetricService.GetMonitoredResourceDescriptorCallback): void;
+
+ /**
+ * Calls GetMonitoredResourceDescriptor.
+ * @param request GetMonitoredResourceDescriptorRequest message or plain object
+ * @returns Promise
+ */
+ public getMonitoredResourceDescriptor(request: google.monitoring.v3.IGetMonitoredResourceDescriptorRequest): Promise;
+
+ /**
+ * Calls ListMetricDescriptors.
+ * @param request ListMetricDescriptorsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListMetricDescriptorsResponse
+ */
+ public listMetricDescriptors(request: google.monitoring.v3.IListMetricDescriptorsRequest, callback: google.monitoring.v3.MetricService.ListMetricDescriptorsCallback): void;
+
+ /**
+ * Calls ListMetricDescriptors.
+ * @param request ListMetricDescriptorsRequest message or plain object
+ * @returns Promise
+ */
+ public listMetricDescriptors(request: google.monitoring.v3.IListMetricDescriptorsRequest): Promise;
+
+ /**
+ * Calls GetMetricDescriptor.
+ * @param request GetMetricDescriptorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and MetricDescriptor
+ */
+ public getMetricDescriptor(request: google.monitoring.v3.IGetMetricDescriptorRequest, callback: google.monitoring.v3.MetricService.GetMetricDescriptorCallback): void;
+
+ /**
+ * Calls GetMetricDescriptor.
+ * @param request GetMetricDescriptorRequest message or plain object
+ * @returns Promise
+ */
+ public getMetricDescriptor(request: google.monitoring.v3.IGetMetricDescriptorRequest): Promise;
+
+ /**
+ * Calls CreateMetricDescriptor.
+ * @param request CreateMetricDescriptorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and MetricDescriptor
+ */
+ public createMetricDescriptor(request: google.monitoring.v3.ICreateMetricDescriptorRequest, callback: google.monitoring.v3.MetricService.CreateMetricDescriptorCallback): void;
+
+ /**
+ * Calls CreateMetricDescriptor.
+ * @param request CreateMetricDescriptorRequest message or plain object
+ * @returns Promise
+ */
+ public createMetricDescriptor(request: google.monitoring.v3.ICreateMetricDescriptorRequest): Promise;
+
+ /**
+ * Calls DeleteMetricDescriptor.
+ * @param request DeleteMetricDescriptorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteMetricDescriptor(request: google.monitoring.v3.IDeleteMetricDescriptorRequest, callback: google.monitoring.v3.MetricService.DeleteMetricDescriptorCallback): void;
+
+ /**
+ * Calls DeleteMetricDescriptor.
+ * @param request DeleteMetricDescriptorRequest message or plain object
+ * @returns Promise
+ */
+ public deleteMetricDescriptor(request: google.monitoring.v3.IDeleteMetricDescriptorRequest): Promise;
+
+ /**
+ * Calls ListTimeSeries.
+ * @param request ListTimeSeriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTimeSeriesResponse
+ */
+ public listTimeSeries(request: google.monitoring.v3.IListTimeSeriesRequest, callback: google.monitoring.v3.MetricService.ListTimeSeriesCallback): void;
+
+ /**
+ * Calls ListTimeSeries.
+ * @param request ListTimeSeriesRequest message or plain object
+ * @returns Promise
+ */
+ public listTimeSeries(request: google.monitoring.v3.IListTimeSeriesRequest): Promise;
+
+ /**
+ * Calls CreateTimeSeries.
+ * @param request CreateTimeSeriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public createTimeSeries(request: google.monitoring.v3.ICreateTimeSeriesRequest, callback: google.monitoring.v3.MetricService.CreateTimeSeriesCallback): void;
+
+ /**
+ * Calls CreateTimeSeries.
+ * @param request CreateTimeSeriesRequest message or plain object
+ * @returns Promise
+ */
+ public createTimeSeries(request: google.monitoring.v3.ICreateTimeSeriesRequest): Promise;
+ }
+
+ namespace MetricService {
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|listMonitoredResourceDescriptors}.
+ * @param error Error, if any
+ * @param [response] ListMonitoredResourceDescriptorsResponse
+ */
+ type ListMonitoredResourceDescriptorsCallback = (error: (Error|null), response?: google.monitoring.v3.ListMonitoredResourceDescriptorsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|getMonitoredResourceDescriptor}.
+ * @param error Error, if any
+ * @param [response] MonitoredResourceDescriptor
+ */
+ type GetMonitoredResourceDescriptorCallback = (error: (Error|null), response?: google.api.MonitoredResourceDescriptor) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|listMetricDescriptors}.
+ * @param error Error, if any
+ * @param [response] ListMetricDescriptorsResponse
+ */
+ type ListMetricDescriptorsCallback = (error: (Error|null), response?: google.monitoring.v3.ListMetricDescriptorsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|getMetricDescriptor}.
+ * @param error Error, if any
+ * @param [response] MetricDescriptor
+ */
+ type GetMetricDescriptorCallback = (error: (Error|null), response?: google.api.MetricDescriptor) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|createMetricDescriptor}.
+ * @param error Error, if any
+ * @param [response] MetricDescriptor
+ */
+ type CreateMetricDescriptorCallback = (error: (Error|null), response?: google.api.MetricDescriptor) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|deleteMetricDescriptor}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteMetricDescriptorCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|listTimeSeries}.
+ * @param error Error, if any
+ * @param [response] ListTimeSeriesResponse
+ */
+ type ListTimeSeriesCallback = (error: (Error|null), response?: google.monitoring.v3.ListTimeSeriesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|createTimeSeries}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CreateTimeSeriesCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a ListMonitoredResourceDescriptorsRequest. */
+ interface IListMonitoredResourceDescriptorsRequest {
+
+ /** ListMonitoredResourceDescriptorsRequest name */
+ name?: (string|null);
+
+ /** ListMonitoredResourceDescriptorsRequest filter */
+ filter?: (string|null);
+
+ /** ListMonitoredResourceDescriptorsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListMonitoredResourceDescriptorsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListMonitoredResourceDescriptorsRequest. */
+ class ListMonitoredResourceDescriptorsRequest implements IListMonitoredResourceDescriptorsRequest {
+
+ /**
+ * Constructs a new ListMonitoredResourceDescriptorsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListMonitoredResourceDescriptorsRequest);
+
+ /** ListMonitoredResourceDescriptorsRequest name. */
+ public name: string;
+
+ /** ListMonitoredResourceDescriptorsRequest filter. */
+ public filter: string;
+
+ /** ListMonitoredResourceDescriptorsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListMonitoredResourceDescriptorsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListMonitoredResourceDescriptorsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMonitoredResourceDescriptorsRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListMonitoredResourceDescriptorsRequest): google.monitoring.v3.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsRequest message. Does not implicitly {@link google.monitoring.v3.ListMonitoredResourceDescriptorsRequest.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListMonitoredResourceDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListMonitoredResourceDescriptorsRequest.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListMonitoredResourceDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMonitoredResourceDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMonitoredResourceDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Verifies a ListMonitoredResourceDescriptorsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListMonitoredResourceDescriptorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMonitoredResourceDescriptorsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListMonitoredResourceDescriptorsRequest;
+
+ /**
+ * Creates a plain object from a ListMonitoredResourceDescriptorsRequest message. Also converts values to other types if specified.
+ * @param message ListMonitoredResourceDescriptorsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListMonitoredResourceDescriptorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMonitoredResourceDescriptorsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMonitoredResourceDescriptorsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListMonitoredResourceDescriptorsResponse. */
+ interface IListMonitoredResourceDescriptorsResponse {
+
+ /** ListMonitoredResourceDescriptorsResponse resourceDescriptors */
+ resourceDescriptors?: (google.api.IMonitoredResourceDescriptor[]|null);
+
+ /** ListMonitoredResourceDescriptorsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListMonitoredResourceDescriptorsResponse. */
+ class ListMonitoredResourceDescriptorsResponse implements IListMonitoredResourceDescriptorsResponse {
+
+ /**
+ * Constructs a new ListMonitoredResourceDescriptorsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListMonitoredResourceDescriptorsResponse);
+
+ /** ListMonitoredResourceDescriptorsResponse resourceDescriptors. */
+ public resourceDescriptors: google.api.IMonitoredResourceDescriptor[];
+
+ /** ListMonitoredResourceDescriptorsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListMonitoredResourceDescriptorsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMonitoredResourceDescriptorsResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListMonitoredResourceDescriptorsResponse): google.monitoring.v3.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsResponse message. Does not implicitly {@link google.monitoring.v3.ListMonitoredResourceDescriptorsResponse.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListMonitoredResourceDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListMonitoredResourceDescriptorsResponse.verify|verify} messages.
+ * @param message ListMonitoredResourceDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListMonitoredResourceDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMonitoredResourceDescriptorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMonitoredResourceDescriptorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Verifies a ListMonitoredResourceDescriptorsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListMonitoredResourceDescriptorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMonitoredResourceDescriptorsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListMonitoredResourceDescriptorsResponse;
+
+ /**
+ * Creates a plain object from a ListMonitoredResourceDescriptorsResponse message. Also converts values to other types if specified.
+ * @param message ListMonitoredResourceDescriptorsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListMonitoredResourceDescriptorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMonitoredResourceDescriptorsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMonitoredResourceDescriptorsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetMonitoredResourceDescriptorRequest. */
+ interface IGetMonitoredResourceDescriptorRequest {
+
+ /** GetMonitoredResourceDescriptorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetMonitoredResourceDescriptorRequest. */
+ class GetMonitoredResourceDescriptorRequest implements IGetMonitoredResourceDescriptorRequest {
+
+ /**
+ * Constructs a new GetMonitoredResourceDescriptorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetMonitoredResourceDescriptorRequest);
+
+ /** GetMonitoredResourceDescriptorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetMonitoredResourceDescriptorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetMonitoredResourceDescriptorRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetMonitoredResourceDescriptorRequest): google.monitoring.v3.GetMonitoredResourceDescriptorRequest;
+
+ /**
+ * Encodes the specified GetMonitoredResourceDescriptorRequest message. Does not implicitly {@link google.monitoring.v3.GetMonitoredResourceDescriptorRequest.verify|verify} messages.
+ * @param message GetMonitoredResourceDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetMonitoredResourceDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetMonitoredResourceDescriptorRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetMonitoredResourceDescriptorRequest.verify|verify} messages.
+ * @param message GetMonitoredResourceDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetMonitoredResourceDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetMonitoredResourceDescriptorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetMonitoredResourceDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetMonitoredResourceDescriptorRequest;
+
+ /**
+ * Decodes a GetMonitoredResourceDescriptorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetMonitoredResourceDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetMonitoredResourceDescriptorRequest;
+
+ /**
+ * Verifies a GetMonitoredResourceDescriptorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetMonitoredResourceDescriptorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetMonitoredResourceDescriptorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetMonitoredResourceDescriptorRequest;
+
+ /**
+ * Creates a plain object from a GetMonitoredResourceDescriptorRequest message. Also converts values to other types if specified.
+ * @param message GetMonitoredResourceDescriptorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetMonitoredResourceDescriptorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetMonitoredResourceDescriptorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetMonitoredResourceDescriptorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListMetricDescriptorsRequest. */
+ interface IListMetricDescriptorsRequest {
+
+ /** ListMetricDescriptorsRequest name */
+ name?: (string|null);
+
+ /** ListMetricDescriptorsRequest filter */
+ filter?: (string|null);
+
+ /** ListMetricDescriptorsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListMetricDescriptorsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListMetricDescriptorsRequest. */
+ class ListMetricDescriptorsRequest implements IListMetricDescriptorsRequest {
+
+ /**
+ * Constructs a new ListMetricDescriptorsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListMetricDescriptorsRequest);
+
+ /** ListMetricDescriptorsRequest name. */
+ public name: string;
+
+ /** ListMetricDescriptorsRequest filter. */
+ public filter: string;
+
+ /** ListMetricDescriptorsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListMetricDescriptorsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListMetricDescriptorsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMetricDescriptorsRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListMetricDescriptorsRequest): google.monitoring.v3.ListMetricDescriptorsRequest;
+
+ /**
+ * Encodes the specified ListMetricDescriptorsRequest message. Does not implicitly {@link google.monitoring.v3.ListMetricDescriptorsRequest.verify|verify} messages.
+ * @param message ListMetricDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListMetricDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMetricDescriptorsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListMetricDescriptorsRequest.verify|verify} messages.
+ * @param message ListMetricDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListMetricDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMetricDescriptorsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMetricDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListMetricDescriptorsRequest;
+
+ /**
+ * Decodes a ListMetricDescriptorsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMetricDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListMetricDescriptorsRequest;
+
+ /**
+ * Verifies a ListMetricDescriptorsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListMetricDescriptorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMetricDescriptorsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListMetricDescriptorsRequest;
+
+ /**
+ * Creates a plain object from a ListMetricDescriptorsRequest message. Also converts values to other types if specified.
+ * @param message ListMetricDescriptorsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListMetricDescriptorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMetricDescriptorsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMetricDescriptorsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListMetricDescriptorsResponse. */
+ interface IListMetricDescriptorsResponse {
+
+ /** ListMetricDescriptorsResponse metricDescriptors */
+ metricDescriptors?: (google.api.IMetricDescriptor[]|null);
+
+ /** ListMetricDescriptorsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListMetricDescriptorsResponse. */
+ class ListMetricDescriptorsResponse implements IListMetricDescriptorsResponse {
+
+ /**
+ * Constructs a new ListMetricDescriptorsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListMetricDescriptorsResponse);
+
+ /** ListMetricDescriptorsResponse metricDescriptors. */
+ public metricDescriptors: google.api.IMetricDescriptor[];
+
+ /** ListMetricDescriptorsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListMetricDescriptorsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListMetricDescriptorsResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListMetricDescriptorsResponse): google.monitoring.v3.ListMetricDescriptorsResponse;
+
+ /**
+ * Encodes the specified ListMetricDescriptorsResponse message. Does not implicitly {@link google.monitoring.v3.ListMetricDescriptorsResponse.verify|verify} messages.
+ * @param message ListMetricDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListMetricDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListMetricDescriptorsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListMetricDescriptorsResponse.verify|verify} messages.
+ * @param message ListMetricDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListMetricDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListMetricDescriptorsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListMetricDescriptorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListMetricDescriptorsResponse;
+
+ /**
+ * Decodes a ListMetricDescriptorsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListMetricDescriptorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListMetricDescriptorsResponse;
+
+ /**
+ * Verifies a ListMetricDescriptorsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListMetricDescriptorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListMetricDescriptorsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListMetricDescriptorsResponse;
+
+ /**
+ * Creates a plain object from a ListMetricDescriptorsResponse message. Also converts values to other types if specified.
+ * @param message ListMetricDescriptorsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListMetricDescriptorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListMetricDescriptorsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListMetricDescriptorsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetMetricDescriptorRequest. */
+ interface IGetMetricDescriptorRequest {
+
+ /** GetMetricDescriptorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetMetricDescriptorRequest. */
+ class GetMetricDescriptorRequest implements IGetMetricDescriptorRequest {
+
+ /**
+ * Constructs a new GetMetricDescriptorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetMetricDescriptorRequest);
+
+ /** GetMetricDescriptorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetMetricDescriptorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetMetricDescriptorRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetMetricDescriptorRequest): google.monitoring.v3.GetMetricDescriptorRequest;
+
+ /**
+ * Encodes the specified GetMetricDescriptorRequest message. Does not implicitly {@link google.monitoring.v3.GetMetricDescriptorRequest.verify|verify} messages.
+ * @param message GetMetricDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetMetricDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetMetricDescriptorRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetMetricDescriptorRequest.verify|verify} messages.
+ * @param message GetMetricDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetMetricDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetMetricDescriptorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetMetricDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetMetricDescriptorRequest;
+
+ /**
+ * Decodes a GetMetricDescriptorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetMetricDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetMetricDescriptorRequest;
+
+ /**
+ * Verifies a GetMetricDescriptorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetMetricDescriptorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetMetricDescriptorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetMetricDescriptorRequest;
+
+ /**
+ * Creates a plain object from a GetMetricDescriptorRequest message. Also converts values to other types if specified.
+ * @param message GetMetricDescriptorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetMetricDescriptorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetMetricDescriptorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetMetricDescriptorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateMetricDescriptorRequest. */
+ interface ICreateMetricDescriptorRequest {
+
+ /** CreateMetricDescriptorRequest name */
+ name?: (string|null);
+
+ /** CreateMetricDescriptorRequest metricDescriptor */
+ metricDescriptor?: (google.api.IMetricDescriptor|null);
+ }
+
+ /** Represents a CreateMetricDescriptorRequest. */
+ class CreateMetricDescriptorRequest implements ICreateMetricDescriptorRequest {
+
+ /**
+ * Constructs a new CreateMetricDescriptorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateMetricDescriptorRequest);
+
+ /** CreateMetricDescriptorRequest name. */
+ public name: string;
+
+ /** CreateMetricDescriptorRequest metricDescriptor. */
+ public metricDescriptor?: (google.api.IMetricDescriptor|null);
+
+ /**
+ * Creates a new CreateMetricDescriptorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateMetricDescriptorRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateMetricDescriptorRequest): google.monitoring.v3.CreateMetricDescriptorRequest;
+
+ /**
+ * Encodes the specified CreateMetricDescriptorRequest message. Does not implicitly {@link google.monitoring.v3.CreateMetricDescriptorRequest.verify|verify} messages.
+ * @param message CreateMetricDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateMetricDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateMetricDescriptorRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateMetricDescriptorRequest.verify|verify} messages.
+ * @param message CreateMetricDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateMetricDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateMetricDescriptorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateMetricDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateMetricDescriptorRequest;
+
+ /**
+ * Decodes a CreateMetricDescriptorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateMetricDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateMetricDescriptorRequest;
+
+ /**
+ * Verifies a CreateMetricDescriptorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateMetricDescriptorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateMetricDescriptorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateMetricDescriptorRequest;
+
+ /**
+ * Creates a plain object from a CreateMetricDescriptorRequest message. Also converts values to other types if specified.
+ * @param message CreateMetricDescriptorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateMetricDescriptorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateMetricDescriptorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateMetricDescriptorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteMetricDescriptorRequest. */
+ interface IDeleteMetricDescriptorRequest {
+
+ /** DeleteMetricDescriptorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteMetricDescriptorRequest. */
+ class DeleteMetricDescriptorRequest implements IDeleteMetricDescriptorRequest {
+
+ /**
+ * Constructs a new DeleteMetricDescriptorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDeleteMetricDescriptorRequest);
+
+ /** DeleteMetricDescriptorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteMetricDescriptorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteMetricDescriptorRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IDeleteMetricDescriptorRequest): google.monitoring.v3.DeleteMetricDescriptorRequest;
+
+ /**
+ * Encodes the specified DeleteMetricDescriptorRequest message. Does not implicitly {@link google.monitoring.v3.DeleteMetricDescriptorRequest.verify|verify} messages.
+ * @param message DeleteMetricDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDeleteMetricDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteMetricDescriptorRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteMetricDescriptorRequest.verify|verify} messages.
+ * @param message DeleteMetricDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDeleteMetricDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteMetricDescriptorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteMetricDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DeleteMetricDescriptorRequest;
+
+ /**
+ * Decodes a DeleteMetricDescriptorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteMetricDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DeleteMetricDescriptorRequest;
+
+ /**
+ * Verifies a DeleteMetricDescriptorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteMetricDescriptorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteMetricDescriptorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DeleteMetricDescriptorRequest;
+
+ /**
+ * Creates a plain object from a DeleteMetricDescriptorRequest message. Also converts values to other types if specified.
+ * @param message DeleteMetricDescriptorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DeleteMetricDescriptorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteMetricDescriptorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteMetricDescriptorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTimeSeriesRequest. */
+ interface IListTimeSeriesRequest {
+
+ /** ListTimeSeriesRequest name */
+ name?: (string|null);
+
+ /** ListTimeSeriesRequest filter */
+ filter?: (string|null);
+
+ /** ListTimeSeriesRequest interval */
+ interval?: (google.monitoring.v3.ITimeInterval|null);
+
+ /** ListTimeSeriesRequest aggregation */
+ aggregation?: (google.monitoring.v3.IAggregation|null);
+
+ /** ListTimeSeriesRequest secondaryAggregation */
+ secondaryAggregation?: (google.monitoring.v3.IAggregation|null);
+
+ /** ListTimeSeriesRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListTimeSeriesRequest view */
+ view?: (google.monitoring.v3.ListTimeSeriesRequest.TimeSeriesView|keyof typeof google.monitoring.v3.ListTimeSeriesRequest.TimeSeriesView|null);
+
+ /** ListTimeSeriesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListTimeSeriesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListTimeSeriesRequest. */
+ class ListTimeSeriesRequest implements IListTimeSeriesRequest {
+
+ /**
+ * Constructs a new ListTimeSeriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListTimeSeriesRequest);
+
+ /** ListTimeSeriesRequest name. */
+ public name: string;
+
+ /** ListTimeSeriesRequest filter. */
+ public filter: string;
+
+ /** ListTimeSeriesRequest interval. */
+ public interval?: (google.monitoring.v3.ITimeInterval|null);
+
+ /** ListTimeSeriesRequest aggregation. */
+ public aggregation?: (google.monitoring.v3.IAggregation|null);
+
+ /** ListTimeSeriesRequest secondaryAggregation. */
+ public secondaryAggregation?: (google.monitoring.v3.IAggregation|null);
+
+ /** ListTimeSeriesRequest orderBy. */
+ public orderBy: string;
+
+ /** ListTimeSeriesRequest view. */
+ public view: (google.monitoring.v3.ListTimeSeriesRequest.TimeSeriesView|keyof typeof google.monitoring.v3.ListTimeSeriesRequest.TimeSeriesView);
+
+ /** ListTimeSeriesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListTimeSeriesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListTimeSeriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTimeSeriesRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListTimeSeriesRequest): google.monitoring.v3.ListTimeSeriesRequest;
+
+ /**
+ * Encodes the specified ListTimeSeriesRequest message. Does not implicitly {@link google.monitoring.v3.ListTimeSeriesRequest.verify|verify} messages.
+ * @param message ListTimeSeriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListTimeSeriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTimeSeriesRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListTimeSeriesRequest.verify|verify} messages.
+ * @param message ListTimeSeriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListTimeSeriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTimeSeriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTimeSeriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListTimeSeriesRequest;
+
+ /**
+ * Decodes a ListTimeSeriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTimeSeriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListTimeSeriesRequest;
+
+ /**
+ * Verifies a ListTimeSeriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTimeSeriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTimeSeriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListTimeSeriesRequest;
+
+ /**
+ * Creates a plain object from a ListTimeSeriesRequest message. Also converts values to other types if specified.
+ * @param message ListTimeSeriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListTimeSeriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTimeSeriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTimeSeriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ListTimeSeriesRequest {
+
+ /** TimeSeriesView enum. */
+ enum TimeSeriesView {
+ FULL = 0,
+ HEADERS = 1
+ }
+ }
+
+ /** Properties of a ListTimeSeriesResponse. */
+ interface IListTimeSeriesResponse {
+
+ /** ListTimeSeriesResponse timeSeries */
+ timeSeries?: (google.monitoring.v3.ITimeSeries[]|null);
+
+ /** ListTimeSeriesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListTimeSeriesResponse executionErrors */
+ executionErrors?: (google.rpc.IStatus[]|null);
+
+ /** ListTimeSeriesResponse unit */
+ unit?: (string|null);
+ }
+
+ /** Represents a ListTimeSeriesResponse. */
+ class ListTimeSeriesResponse implements IListTimeSeriesResponse {
+
+ /**
+ * Constructs a new ListTimeSeriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListTimeSeriesResponse);
+
+ /** ListTimeSeriesResponse timeSeries. */
+ public timeSeries: google.monitoring.v3.ITimeSeries[];
+
+ /** ListTimeSeriesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListTimeSeriesResponse executionErrors. */
+ public executionErrors: google.rpc.IStatus[];
+
+ /** ListTimeSeriesResponse unit. */
+ public unit: string;
+
+ /**
+ * Creates a new ListTimeSeriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTimeSeriesResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListTimeSeriesResponse): google.monitoring.v3.ListTimeSeriesResponse;
+
+ /**
+ * Encodes the specified ListTimeSeriesResponse message. Does not implicitly {@link google.monitoring.v3.ListTimeSeriesResponse.verify|verify} messages.
+ * @param message ListTimeSeriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListTimeSeriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTimeSeriesResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListTimeSeriesResponse.verify|verify} messages.
+ * @param message ListTimeSeriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListTimeSeriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTimeSeriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTimeSeriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListTimeSeriesResponse;
+
+ /**
+ * Decodes a ListTimeSeriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTimeSeriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListTimeSeriesResponse;
+
+ /**
+ * Verifies a ListTimeSeriesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTimeSeriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTimeSeriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListTimeSeriesResponse;
+
+ /**
+ * Creates a plain object from a ListTimeSeriesResponse message. Also converts values to other types if specified.
+ * @param message ListTimeSeriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListTimeSeriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTimeSeriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTimeSeriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateTimeSeriesRequest. */
+ interface ICreateTimeSeriesRequest {
+
+ /** CreateTimeSeriesRequest name */
+ name?: (string|null);
+
+ /** CreateTimeSeriesRequest timeSeries */
+ timeSeries?: (google.monitoring.v3.ITimeSeries[]|null);
+ }
+
+ /** Represents a CreateTimeSeriesRequest. */
+ class CreateTimeSeriesRequest implements ICreateTimeSeriesRequest {
+
+ /**
+ * Constructs a new CreateTimeSeriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateTimeSeriesRequest);
+
+ /** CreateTimeSeriesRequest name. */
+ public name: string;
+
+ /** CreateTimeSeriesRequest timeSeries. */
+ public timeSeries: google.monitoring.v3.ITimeSeries[];
+
+ /**
+ * Creates a new CreateTimeSeriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateTimeSeriesRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateTimeSeriesRequest): google.monitoring.v3.CreateTimeSeriesRequest;
+
+ /**
+ * Encodes the specified CreateTimeSeriesRequest message. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesRequest.verify|verify} messages.
+ * @param message CreateTimeSeriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateTimeSeriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateTimeSeriesRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesRequest.verify|verify} messages.
+ * @param message CreateTimeSeriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateTimeSeriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateTimeSeriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateTimeSeriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateTimeSeriesRequest;
+
+ /**
+ * Decodes a CreateTimeSeriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateTimeSeriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateTimeSeriesRequest;
+
+ /**
+ * Verifies a CreateTimeSeriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateTimeSeriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateTimeSeriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateTimeSeriesRequest;
+
+ /**
+ * Creates a plain object from a CreateTimeSeriesRequest message. Also converts values to other types if specified.
+ * @param message CreateTimeSeriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateTimeSeriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateTimeSeriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateTimeSeriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateTimeSeriesError. */
+ interface ICreateTimeSeriesError {
+
+ /** CreateTimeSeriesError timeSeries */
+ timeSeries?: (google.monitoring.v3.ITimeSeries|null);
+
+ /** CreateTimeSeriesError status */
+ status?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a CreateTimeSeriesError. */
+ class CreateTimeSeriesError implements ICreateTimeSeriesError {
+
+ /**
+ * Constructs a new CreateTimeSeriesError.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateTimeSeriesError);
+
+ /** CreateTimeSeriesError timeSeries. */
+ public timeSeries?: (google.monitoring.v3.ITimeSeries|null);
+
+ /** CreateTimeSeriesError status. */
+ public status?: (google.rpc.IStatus|null);
+
+ /**
+ * Creates a new CreateTimeSeriesError instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateTimeSeriesError instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateTimeSeriesError): google.monitoring.v3.CreateTimeSeriesError;
+
+ /**
+ * Encodes the specified CreateTimeSeriesError message. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesError.verify|verify} messages.
+ * @param message CreateTimeSeriesError message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateTimeSeriesError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateTimeSeriesError message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesError.verify|verify} messages.
+ * @param message CreateTimeSeriesError message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateTimeSeriesError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateTimeSeriesError message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateTimeSeriesError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateTimeSeriesError;
+
+ /**
+ * Decodes a CreateTimeSeriesError message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateTimeSeriesError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateTimeSeriesError;
+
+ /**
+ * Verifies a CreateTimeSeriesError message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateTimeSeriesError message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateTimeSeriesError
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateTimeSeriesError;
+
+ /**
+ * Creates a plain object from a CreateTimeSeriesError message. Also converts values to other types if specified.
+ * @param message CreateTimeSeriesError
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateTimeSeriesError, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateTimeSeriesError to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateTimeSeriesError
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateTimeSeriesSummary. */
+ interface ICreateTimeSeriesSummary {
+
+ /** CreateTimeSeriesSummary totalPointCount */
+ totalPointCount?: (number|null);
+
+ /** CreateTimeSeriesSummary successPointCount */
+ successPointCount?: (number|null);
+
+ /** CreateTimeSeriesSummary errors */
+ errors?: (google.monitoring.v3.CreateTimeSeriesSummary.IError[]|null);
+ }
+
+ /** Represents a CreateTimeSeriesSummary. */
+ class CreateTimeSeriesSummary implements ICreateTimeSeriesSummary {
+
+ /**
+ * Constructs a new CreateTimeSeriesSummary.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateTimeSeriesSummary);
+
+ /** CreateTimeSeriesSummary totalPointCount. */
+ public totalPointCount: number;
+
+ /** CreateTimeSeriesSummary successPointCount. */
+ public successPointCount: number;
+
+ /** CreateTimeSeriesSummary errors. */
+ public errors: google.monitoring.v3.CreateTimeSeriesSummary.IError[];
+
+ /**
+ * Creates a new CreateTimeSeriesSummary instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateTimeSeriesSummary instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateTimeSeriesSummary): google.monitoring.v3.CreateTimeSeriesSummary;
+
+ /**
+ * Encodes the specified CreateTimeSeriesSummary message. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesSummary.verify|verify} messages.
+ * @param message CreateTimeSeriesSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateTimeSeriesSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateTimeSeriesSummary message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesSummary.verify|verify} messages.
+ * @param message CreateTimeSeriesSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateTimeSeriesSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateTimeSeriesSummary message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateTimeSeriesSummary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateTimeSeriesSummary;
+
+ /**
+ * Decodes a CreateTimeSeriesSummary message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateTimeSeriesSummary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateTimeSeriesSummary;
+
+ /**
+ * Verifies a CreateTimeSeriesSummary message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateTimeSeriesSummary message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateTimeSeriesSummary
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateTimeSeriesSummary;
+
+ /**
+ * Creates a plain object from a CreateTimeSeriesSummary message. Also converts values to other types if specified.
+ * @param message CreateTimeSeriesSummary
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateTimeSeriesSummary, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateTimeSeriesSummary to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateTimeSeriesSummary
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CreateTimeSeriesSummary {
+
+ /** Properties of an Error. */
+ interface IError {
+
+ /** Error status */
+ status?: (google.rpc.IStatus|null);
+
+ /** Error pointCount */
+ pointCount?: (number|null);
+ }
+
+ /** Represents an Error. */
+ class Error implements IError {
+
+ /**
+ * Constructs a new Error.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.CreateTimeSeriesSummary.IError);
+
+ /** Error status. */
+ public status?: (google.rpc.IStatus|null);
+
+ /** Error pointCount. */
+ public pointCount: number;
+
+ /**
+ * Creates a new Error instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Error instance
+ */
+ public static create(properties?: google.monitoring.v3.CreateTimeSeriesSummary.IError): google.monitoring.v3.CreateTimeSeriesSummary.Error;
+
+ /**
+ * Encodes the specified Error message. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesSummary.Error.verify|verify} messages.
+ * @param message Error message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.CreateTimeSeriesSummary.IError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Error message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateTimeSeriesSummary.Error.verify|verify} messages.
+ * @param message Error message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.CreateTimeSeriesSummary.IError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Error message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Error
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateTimeSeriesSummary.Error;
+
+ /**
+ * Decodes an Error message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Error
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateTimeSeriesSummary.Error;
+
+ /**
+ * Verifies an Error message.
+ * @param message Plain 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 Error message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Error
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateTimeSeriesSummary.Error;
+
+ /**
+ * Creates a plain object from an Error message. Also converts values to other types if specified.
+ * @param message Error
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateTimeSeriesSummary.Error, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Error to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Error
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryTimeSeriesRequest. */
+ interface IQueryTimeSeriesRequest {
+
+ /** QueryTimeSeriesRequest name */
+ name?: (string|null);
+
+ /** QueryTimeSeriesRequest query */
+ query?: (string|null);
+
+ /** QueryTimeSeriesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** QueryTimeSeriesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a QueryTimeSeriesRequest. */
+ class QueryTimeSeriesRequest implements IQueryTimeSeriesRequest {
+
+ /**
+ * Constructs a new QueryTimeSeriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IQueryTimeSeriesRequest);
+
+ /** QueryTimeSeriesRequest name. */
+ public name: string;
+
+ /** QueryTimeSeriesRequest query. */
+ public query: string;
+
+ /** QueryTimeSeriesRequest pageSize. */
+ public pageSize: number;
+
+ /** QueryTimeSeriesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new QueryTimeSeriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryTimeSeriesRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IQueryTimeSeriesRequest): google.monitoring.v3.QueryTimeSeriesRequest;
+
+ /**
+ * Encodes the specified QueryTimeSeriesRequest message. Does not implicitly {@link google.monitoring.v3.QueryTimeSeriesRequest.verify|verify} messages.
+ * @param message QueryTimeSeriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IQueryTimeSeriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryTimeSeriesRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.QueryTimeSeriesRequest.verify|verify} messages.
+ * @param message QueryTimeSeriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IQueryTimeSeriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryTimeSeriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryTimeSeriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.QueryTimeSeriesRequest;
+
+ /**
+ * Decodes a QueryTimeSeriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryTimeSeriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.QueryTimeSeriesRequest;
+
+ /**
+ * Verifies a QueryTimeSeriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryTimeSeriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryTimeSeriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.QueryTimeSeriesRequest;
+
+ /**
+ * Creates a plain object from a QueryTimeSeriesRequest message. Also converts values to other types if specified.
+ * @param message QueryTimeSeriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.QueryTimeSeriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryTimeSeriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryTimeSeriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a QueryTimeSeriesResponse. */
+ interface IQueryTimeSeriesResponse {
+
+ /** QueryTimeSeriesResponse timeSeriesDescriptor */
+ timeSeriesDescriptor?: (google.monitoring.v3.ITimeSeriesDescriptor|null);
+
+ /** QueryTimeSeriesResponse timeSeriesData */
+ timeSeriesData?: (google.monitoring.v3.ITimeSeriesData[]|null);
+
+ /** QueryTimeSeriesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** QueryTimeSeriesResponse partialErrors */
+ partialErrors?: (google.rpc.IStatus[]|null);
+ }
+
+ /** Represents a QueryTimeSeriesResponse. */
+ class QueryTimeSeriesResponse implements IQueryTimeSeriesResponse {
+
+ /**
+ * Constructs a new QueryTimeSeriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IQueryTimeSeriesResponse);
+
+ /** QueryTimeSeriesResponse timeSeriesDescriptor. */
+ public timeSeriesDescriptor?: (google.monitoring.v3.ITimeSeriesDescriptor|null);
+
+ /** QueryTimeSeriesResponse timeSeriesData. */
+ public timeSeriesData: google.monitoring.v3.ITimeSeriesData[];
+
+ /** QueryTimeSeriesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** QueryTimeSeriesResponse partialErrors. */
+ public partialErrors: google.rpc.IStatus[];
+
+ /**
+ * Creates a new QueryTimeSeriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryTimeSeriesResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IQueryTimeSeriesResponse): google.monitoring.v3.QueryTimeSeriesResponse;
+
+ /**
+ * Encodes the specified QueryTimeSeriesResponse message. Does not implicitly {@link google.monitoring.v3.QueryTimeSeriesResponse.verify|verify} messages.
+ * @param message QueryTimeSeriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IQueryTimeSeriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryTimeSeriesResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.QueryTimeSeriesResponse.verify|verify} messages.
+ * @param message QueryTimeSeriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IQueryTimeSeriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryTimeSeriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryTimeSeriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.QueryTimeSeriesResponse;
+
+ /**
+ * Decodes a QueryTimeSeriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryTimeSeriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.QueryTimeSeriesResponse;
+
+ /**
+ * Verifies a QueryTimeSeriesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryTimeSeriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryTimeSeriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.QueryTimeSeriesResponse;
+
+ /**
+ * Creates a plain object from a QueryTimeSeriesResponse message. Also converts values to other types if specified.
+ * @param message QueryTimeSeriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.QueryTimeSeriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryTimeSeriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryTimeSeriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a QueryErrorList. */
+ interface IQueryErrorList {
+
+ /** QueryErrorList errors */
+ errors?: (google.monitoring.v3.IQueryError[]|null);
+
+ /** QueryErrorList errorSummary */
+ errorSummary?: (string|null);
+ }
+
+ /** Represents a QueryErrorList. */
+ class QueryErrorList implements IQueryErrorList {
+
+ /**
+ * Constructs a new QueryErrorList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IQueryErrorList);
+
+ /** QueryErrorList errors. */
+ public errors: google.monitoring.v3.IQueryError[];
+
+ /** QueryErrorList errorSummary. */
+ public errorSummary: string;
+
+ /**
+ * Creates a new QueryErrorList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryErrorList instance
+ */
+ public static create(properties?: google.monitoring.v3.IQueryErrorList): google.monitoring.v3.QueryErrorList;
+
+ /**
+ * Encodes the specified QueryErrorList message. Does not implicitly {@link google.monitoring.v3.QueryErrorList.verify|verify} messages.
+ * @param message QueryErrorList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IQueryErrorList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryErrorList message, length delimited. Does not implicitly {@link google.monitoring.v3.QueryErrorList.verify|verify} messages.
+ * @param message QueryErrorList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IQueryErrorList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryErrorList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryErrorList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.QueryErrorList;
+
+ /**
+ * Decodes a QueryErrorList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryErrorList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.QueryErrorList;
+
+ /**
+ * Verifies a QueryErrorList message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryErrorList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryErrorList
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.QueryErrorList;
+
+ /**
+ * Creates a plain object from a QueryErrorList message. Also converts values to other types if specified.
+ * @param message QueryErrorList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.QueryErrorList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryErrorList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryErrorList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NotificationChannelDescriptor. */
+ interface INotificationChannelDescriptor {
+
+ /** NotificationChannelDescriptor name */
+ name?: (string|null);
+
+ /** NotificationChannelDescriptor type */
+ type?: (string|null);
+
+ /** NotificationChannelDescriptor displayName */
+ displayName?: (string|null);
+
+ /** NotificationChannelDescriptor description */
+ description?: (string|null);
+
+ /** NotificationChannelDescriptor labels */
+ labels?: (google.api.ILabelDescriptor[]|null);
+
+ /** NotificationChannelDescriptor supportedTiers */
+ supportedTiers?: (google.monitoring.v3.ServiceTier[]|null);
+
+ /** NotificationChannelDescriptor launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+ }
+
+ /** Represents a NotificationChannelDescriptor. */
+ class NotificationChannelDescriptor implements INotificationChannelDescriptor {
+
+ /**
+ * Constructs a new NotificationChannelDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.INotificationChannelDescriptor);
+
+ /** NotificationChannelDescriptor name. */
+ public name: string;
+
+ /** NotificationChannelDescriptor type. */
+ public type: string;
+
+ /** NotificationChannelDescriptor displayName. */
+ public displayName: string;
+
+ /** NotificationChannelDescriptor description. */
+ public description: string;
+
+ /** NotificationChannelDescriptor labels. */
+ public labels: google.api.ILabelDescriptor[];
+
+ /** NotificationChannelDescriptor supportedTiers. */
+ public supportedTiers: google.monitoring.v3.ServiceTier[];
+
+ /** NotificationChannelDescriptor launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /**
+ * Creates a new NotificationChannelDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NotificationChannelDescriptor instance
+ */
+ public static create(properties?: google.monitoring.v3.INotificationChannelDescriptor): google.monitoring.v3.NotificationChannelDescriptor;
+
+ /**
+ * Encodes the specified NotificationChannelDescriptor message. Does not implicitly {@link google.monitoring.v3.NotificationChannelDescriptor.verify|verify} messages.
+ * @param message NotificationChannelDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.INotificationChannelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NotificationChannelDescriptor message, length delimited. Does not implicitly {@link google.monitoring.v3.NotificationChannelDescriptor.verify|verify} messages.
+ * @param message NotificationChannelDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.INotificationChannelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NotificationChannelDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NotificationChannelDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.NotificationChannelDescriptor;
+
+ /**
+ * Decodes a NotificationChannelDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NotificationChannelDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.NotificationChannelDescriptor;
+
+ /**
+ * Verifies a NotificationChannelDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NotificationChannelDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NotificationChannelDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.NotificationChannelDescriptor;
+
+ /**
+ * Creates a plain object from a NotificationChannelDescriptor message. Also converts values to other types if specified.
+ * @param message NotificationChannelDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.NotificationChannelDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NotificationChannelDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NotificationChannelDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a NotificationChannel. */
+ interface INotificationChannel {
+
+ /** NotificationChannel type */
+ type?: (string|null);
+
+ /** NotificationChannel name */
+ name?: (string|null);
+
+ /** NotificationChannel displayName */
+ displayName?: (string|null);
+
+ /** NotificationChannel description */
+ description?: (string|null);
+
+ /** NotificationChannel labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** NotificationChannel userLabels */
+ userLabels?: ({ [k: string]: string }|null);
+
+ /** NotificationChannel verificationStatus */
+ verificationStatus?: (google.monitoring.v3.NotificationChannel.VerificationStatus|keyof typeof google.monitoring.v3.NotificationChannel.VerificationStatus|null);
+
+ /** NotificationChannel enabled */
+ enabled?: (google.protobuf.IBoolValue|null);
+
+ /** NotificationChannel creationRecord */
+ creationRecord?: (google.monitoring.v3.IMutationRecord|null);
+
+ /** NotificationChannel mutationRecords */
+ mutationRecords?: (google.monitoring.v3.IMutationRecord[]|null);
+ }
+
+ /** Represents a NotificationChannel. */
+ class NotificationChannel implements INotificationChannel {
+
+ /**
+ * Constructs a new NotificationChannel.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.INotificationChannel);
+
+ /** NotificationChannel type. */
+ public type: string;
+
+ /** NotificationChannel name. */
+ public name: string;
+
+ /** NotificationChannel displayName. */
+ public displayName: string;
+
+ /** NotificationChannel description. */
+ public description: string;
+
+ /** NotificationChannel labels. */
+ public labels: { [k: string]: string };
+
+ /** NotificationChannel userLabels. */
+ public userLabels: { [k: string]: string };
+
+ /** NotificationChannel verificationStatus. */
+ public verificationStatus: (google.monitoring.v3.NotificationChannel.VerificationStatus|keyof typeof google.monitoring.v3.NotificationChannel.VerificationStatus);
+
+ /** NotificationChannel enabled. */
+ public enabled?: (google.protobuf.IBoolValue|null);
+
+ /** NotificationChannel creationRecord. */
+ public creationRecord?: (google.monitoring.v3.IMutationRecord|null);
+
+ /** NotificationChannel mutationRecords. */
+ public mutationRecords: google.monitoring.v3.IMutationRecord[];
+
+ /**
+ * Creates a new NotificationChannel instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NotificationChannel instance
+ */
+ public static create(properties?: google.monitoring.v3.INotificationChannel): google.monitoring.v3.NotificationChannel;
+
+ /**
+ * Encodes the specified NotificationChannel message. Does not implicitly {@link google.monitoring.v3.NotificationChannel.verify|verify} messages.
+ * @param message NotificationChannel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.INotificationChannel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NotificationChannel message, length delimited. Does not implicitly {@link google.monitoring.v3.NotificationChannel.verify|verify} messages.
+ * @param message NotificationChannel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.INotificationChannel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NotificationChannel message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NotificationChannel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.NotificationChannel;
+
+ /**
+ * Decodes a NotificationChannel message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NotificationChannel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.NotificationChannel;
+
+ /**
+ * Verifies a NotificationChannel message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NotificationChannel message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NotificationChannel
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.NotificationChannel;
+
+ /**
+ * Creates a plain object from a NotificationChannel message. Also converts values to other types if specified.
+ * @param message NotificationChannel
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.NotificationChannel, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NotificationChannel to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NotificationChannel
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace NotificationChannel {
+
+ /** VerificationStatus enum. */
+ enum VerificationStatus {
+ VERIFICATION_STATUS_UNSPECIFIED = 0,
+ UNVERIFIED = 1,
+ VERIFIED = 2
+ }
+ }
+
+ /** Represents a NotificationChannelService */
+ class NotificationChannelService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new NotificationChannelService 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 NotificationChannelService 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): NotificationChannelService;
+
+ /**
+ * Calls ListNotificationChannelDescriptors.
+ * @param request ListNotificationChannelDescriptorsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListNotificationChannelDescriptorsResponse
+ */
+ public listNotificationChannelDescriptors(request: google.monitoring.v3.IListNotificationChannelDescriptorsRequest, callback: google.monitoring.v3.NotificationChannelService.ListNotificationChannelDescriptorsCallback): void;
+
+ /**
+ * Calls ListNotificationChannelDescriptors.
+ * @param request ListNotificationChannelDescriptorsRequest message or plain object
+ * @returns Promise
+ */
+ public listNotificationChannelDescriptors(request: google.monitoring.v3.IListNotificationChannelDescriptorsRequest): Promise;
+
+ /**
+ * Calls GetNotificationChannelDescriptor.
+ * @param request GetNotificationChannelDescriptorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and NotificationChannelDescriptor
+ */
+ public getNotificationChannelDescriptor(request: google.monitoring.v3.IGetNotificationChannelDescriptorRequest, callback: google.monitoring.v3.NotificationChannelService.GetNotificationChannelDescriptorCallback): void;
+
+ /**
+ * Calls GetNotificationChannelDescriptor.
+ * @param request GetNotificationChannelDescriptorRequest message or plain object
+ * @returns Promise
+ */
+ public getNotificationChannelDescriptor(request: google.monitoring.v3.IGetNotificationChannelDescriptorRequest): Promise;
+
+ /**
+ * Calls ListNotificationChannels.
+ * @param request ListNotificationChannelsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListNotificationChannelsResponse
+ */
+ public listNotificationChannels(request: google.monitoring.v3.IListNotificationChannelsRequest, callback: google.monitoring.v3.NotificationChannelService.ListNotificationChannelsCallback): void;
+
+ /**
+ * Calls ListNotificationChannels.
+ * @param request ListNotificationChannelsRequest message or plain object
+ * @returns Promise
+ */
+ public listNotificationChannels(request: google.monitoring.v3.IListNotificationChannelsRequest): Promise;
+
+ /**
+ * Calls GetNotificationChannel.
+ * @param request GetNotificationChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and NotificationChannel
+ */
+ public getNotificationChannel(request: google.monitoring.v3.IGetNotificationChannelRequest, callback: google.monitoring.v3.NotificationChannelService.GetNotificationChannelCallback): void;
+
+ /**
+ * Calls GetNotificationChannel.
+ * @param request GetNotificationChannelRequest message or plain object
+ * @returns Promise
+ */
+ public getNotificationChannel(request: google.monitoring.v3.IGetNotificationChannelRequest): Promise;
+
+ /**
+ * Calls CreateNotificationChannel.
+ * @param request CreateNotificationChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and NotificationChannel
+ */
+ public createNotificationChannel(request: google.monitoring.v3.ICreateNotificationChannelRequest, callback: google.monitoring.v3.NotificationChannelService.CreateNotificationChannelCallback): void;
+
+ /**
+ * Calls CreateNotificationChannel.
+ * @param request CreateNotificationChannelRequest message or plain object
+ * @returns Promise
+ */
+ public createNotificationChannel(request: google.monitoring.v3.ICreateNotificationChannelRequest): Promise;
+
+ /**
+ * Calls UpdateNotificationChannel.
+ * @param request UpdateNotificationChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and NotificationChannel
+ */
+ public updateNotificationChannel(request: google.monitoring.v3.IUpdateNotificationChannelRequest, callback: google.monitoring.v3.NotificationChannelService.UpdateNotificationChannelCallback): void;
+
+ /**
+ * Calls UpdateNotificationChannel.
+ * @param request UpdateNotificationChannelRequest message or plain object
+ * @returns Promise
+ */
+ public updateNotificationChannel(request: google.monitoring.v3.IUpdateNotificationChannelRequest): Promise;
+
+ /**
+ * Calls DeleteNotificationChannel.
+ * @param request DeleteNotificationChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteNotificationChannel(request: google.monitoring.v3.IDeleteNotificationChannelRequest, callback: google.monitoring.v3.NotificationChannelService.DeleteNotificationChannelCallback): void;
+
+ /**
+ * Calls DeleteNotificationChannel.
+ * @param request DeleteNotificationChannelRequest message or plain object
+ * @returns Promise
+ */
+ public deleteNotificationChannel(request: google.monitoring.v3.IDeleteNotificationChannelRequest): Promise;
+
+ /**
+ * Calls SendNotificationChannelVerificationCode.
+ * @param request SendNotificationChannelVerificationCodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public sendNotificationChannelVerificationCode(request: google.monitoring.v3.ISendNotificationChannelVerificationCodeRequest, callback: google.monitoring.v3.NotificationChannelService.SendNotificationChannelVerificationCodeCallback): void;
+
+ /**
+ * Calls SendNotificationChannelVerificationCode.
+ * @param request SendNotificationChannelVerificationCodeRequest message or plain object
+ * @returns Promise
+ */
+ public sendNotificationChannelVerificationCode(request: google.monitoring.v3.ISendNotificationChannelVerificationCodeRequest): Promise;
+
+ /**
+ * Calls GetNotificationChannelVerificationCode.
+ * @param request GetNotificationChannelVerificationCodeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and GetNotificationChannelVerificationCodeResponse
+ */
+ public getNotificationChannelVerificationCode(request: google.monitoring.v3.IGetNotificationChannelVerificationCodeRequest, callback: google.monitoring.v3.NotificationChannelService.GetNotificationChannelVerificationCodeCallback): void;
+
+ /**
+ * Calls GetNotificationChannelVerificationCode.
+ * @param request GetNotificationChannelVerificationCodeRequest message or plain object
+ * @returns Promise
+ */
+ public getNotificationChannelVerificationCode(request: google.monitoring.v3.IGetNotificationChannelVerificationCodeRequest): Promise;
+
+ /**
+ * Calls VerifyNotificationChannel.
+ * @param request VerifyNotificationChannelRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and NotificationChannel
+ */
+ public verifyNotificationChannel(request: google.monitoring.v3.IVerifyNotificationChannelRequest, callback: google.monitoring.v3.NotificationChannelService.VerifyNotificationChannelCallback): void;
+
+ /**
+ * Calls VerifyNotificationChannel.
+ * @param request VerifyNotificationChannelRequest message or plain object
+ * @returns Promise
+ */
+ public verifyNotificationChannel(request: google.monitoring.v3.IVerifyNotificationChannelRequest): Promise;
+ }
+
+ namespace NotificationChannelService {
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|listNotificationChannelDescriptors}.
+ * @param error Error, if any
+ * @param [response] ListNotificationChannelDescriptorsResponse
+ */
+ type ListNotificationChannelDescriptorsCallback = (error: (Error|null), response?: google.monitoring.v3.ListNotificationChannelDescriptorsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|getNotificationChannelDescriptor}.
+ * @param error Error, if any
+ * @param [response] NotificationChannelDescriptor
+ */
+ type GetNotificationChannelDescriptorCallback = (error: (Error|null), response?: google.monitoring.v3.NotificationChannelDescriptor) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|listNotificationChannels}.
+ * @param error Error, if any
+ * @param [response] ListNotificationChannelsResponse
+ */
+ type ListNotificationChannelsCallback = (error: (Error|null), response?: google.monitoring.v3.ListNotificationChannelsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|getNotificationChannel}.
+ * @param error Error, if any
+ * @param [response] NotificationChannel
+ */
+ type GetNotificationChannelCallback = (error: (Error|null), response?: google.monitoring.v3.NotificationChannel) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|createNotificationChannel}.
+ * @param error Error, if any
+ * @param [response] NotificationChannel
+ */
+ type CreateNotificationChannelCallback = (error: (Error|null), response?: google.monitoring.v3.NotificationChannel) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|updateNotificationChannel}.
+ * @param error Error, if any
+ * @param [response] NotificationChannel
+ */
+ type UpdateNotificationChannelCallback = (error: (Error|null), response?: google.monitoring.v3.NotificationChannel) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|deleteNotificationChannel}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteNotificationChannelCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|sendNotificationChannelVerificationCode}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type SendNotificationChannelVerificationCodeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|getNotificationChannelVerificationCode}.
+ * @param error Error, if any
+ * @param [response] GetNotificationChannelVerificationCodeResponse
+ */
+ type GetNotificationChannelVerificationCodeCallback = (error: (Error|null), response?: google.monitoring.v3.GetNotificationChannelVerificationCodeResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.NotificationChannelService|verifyNotificationChannel}.
+ * @param error Error, if any
+ * @param [response] NotificationChannel
+ */
+ type VerifyNotificationChannelCallback = (error: (Error|null), response?: google.monitoring.v3.NotificationChannel) => void;
+ }
+
+ /** Properties of a ListNotificationChannelDescriptorsRequest. */
+ interface IListNotificationChannelDescriptorsRequest {
+
+ /** ListNotificationChannelDescriptorsRequest name */
+ name?: (string|null);
+
+ /** ListNotificationChannelDescriptorsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListNotificationChannelDescriptorsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListNotificationChannelDescriptorsRequest. */
+ class ListNotificationChannelDescriptorsRequest implements IListNotificationChannelDescriptorsRequest {
+
+ /**
+ * Constructs a new ListNotificationChannelDescriptorsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListNotificationChannelDescriptorsRequest);
+
+ /** ListNotificationChannelDescriptorsRequest name. */
+ public name: string;
+
+ /** ListNotificationChannelDescriptorsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListNotificationChannelDescriptorsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListNotificationChannelDescriptorsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNotificationChannelDescriptorsRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListNotificationChannelDescriptorsRequest): google.monitoring.v3.ListNotificationChannelDescriptorsRequest;
+
+ /**
+ * Encodes the specified ListNotificationChannelDescriptorsRequest message. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelDescriptorsRequest.verify|verify} messages.
+ * @param message ListNotificationChannelDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListNotificationChannelDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNotificationChannelDescriptorsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelDescriptorsRequest.verify|verify} messages.
+ * @param message ListNotificationChannelDescriptorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListNotificationChannelDescriptorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNotificationChannelDescriptorsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNotificationChannelDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListNotificationChannelDescriptorsRequest;
+
+ /**
+ * Decodes a ListNotificationChannelDescriptorsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNotificationChannelDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListNotificationChannelDescriptorsRequest;
+
+ /**
+ * Verifies a ListNotificationChannelDescriptorsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNotificationChannelDescriptorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNotificationChannelDescriptorsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListNotificationChannelDescriptorsRequest;
+
+ /**
+ * Creates a plain object from a ListNotificationChannelDescriptorsRequest message. Also converts values to other types if specified.
+ * @param message ListNotificationChannelDescriptorsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListNotificationChannelDescriptorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNotificationChannelDescriptorsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNotificationChannelDescriptorsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNotificationChannelDescriptorsResponse. */
+ interface IListNotificationChannelDescriptorsResponse {
+
+ /** ListNotificationChannelDescriptorsResponse channelDescriptors */
+ channelDescriptors?: (google.monitoring.v3.INotificationChannelDescriptor[]|null);
+
+ /** ListNotificationChannelDescriptorsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListNotificationChannelDescriptorsResponse. */
+ class ListNotificationChannelDescriptorsResponse implements IListNotificationChannelDescriptorsResponse {
+
+ /**
+ * Constructs a new ListNotificationChannelDescriptorsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListNotificationChannelDescriptorsResponse);
+
+ /** ListNotificationChannelDescriptorsResponse channelDescriptors. */
+ public channelDescriptors: google.monitoring.v3.INotificationChannelDescriptor[];
+
+ /** ListNotificationChannelDescriptorsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListNotificationChannelDescriptorsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNotificationChannelDescriptorsResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListNotificationChannelDescriptorsResponse): google.monitoring.v3.ListNotificationChannelDescriptorsResponse;
+
+ /**
+ * Encodes the specified ListNotificationChannelDescriptorsResponse message. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelDescriptorsResponse.verify|verify} messages.
+ * @param message ListNotificationChannelDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListNotificationChannelDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNotificationChannelDescriptorsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelDescriptorsResponse.verify|verify} messages.
+ * @param message ListNotificationChannelDescriptorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListNotificationChannelDescriptorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNotificationChannelDescriptorsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNotificationChannelDescriptorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListNotificationChannelDescriptorsResponse;
+
+ /**
+ * Decodes a ListNotificationChannelDescriptorsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNotificationChannelDescriptorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListNotificationChannelDescriptorsResponse;
+
+ /**
+ * Verifies a ListNotificationChannelDescriptorsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNotificationChannelDescriptorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNotificationChannelDescriptorsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListNotificationChannelDescriptorsResponse;
+
+ /**
+ * Creates a plain object from a ListNotificationChannelDescriptorsResponse message. Also converts values to other types if specified.
+ * @param message ListNotificationChannelDescriptorsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListNotificationChannelDescriptorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNotificationChannelDescriptorsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNotificationChannelDescriptorsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNotificationChannelDescriptorRequest. */
+ interface IGetNotificationChannelDescriptorRequest {
+
+ /** GetNotificationChannelDescriptorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetNotificationChannelDescriptorRequest. */
+ class GetNotificationChannelDescriptorRequest implements IGetNotificationChannelDescriptorRequest {
+
+ /**
+ * Constructs a new GetNotificationChannelDescriptorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetNotificationChannelDescriptorRequest);
+
+ /** GetNotificationChannelDescriptorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetNotificationChannelDescriptorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNotificationChannelDescriptorRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetNotificationChannelDescriptorRequest): google.monitoring.v3.GetNotificationChannelDescriptorRequest;
+
+ /**
+ * Encodes the specified GetNotificationChannelDescriptorRequest message. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelDescriptorRequest.verify|verify} messages.
+ * @param message GetNotificationChannelDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetNotificationChannelDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNotificationChannelDescriptorRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelDescriptorRequest.verify|verify} messages.
+ * @param message GetNotificationChannelDescriptorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetNotificationChannelDescriptorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNotificationChannelDescriptorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNotificationChannelDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetNotificationChannelDescriptorRequest;
+
+ /**
+ * Decodes a GetNotificationChannelDescriptorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNotificationChannelDescriptorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetNotificationChannelDescriptorRequest;
+
+ /**
+ * Verifies a GetNotificationChannelDescriptorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNotificationChannelDescriptorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNotificationChannelDescriptorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetNotificationChannelDescriptorRequest;
+
+ /**
+ * Creates a plain object from a GetNotificationChannelDescriptorRequest message. Also converts values to other types if specified.
+ * @param message GetNotificationChannelDescriptorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetNotificationChannelDescriptorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNotificationChannelDescriptorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNotificationChannelDescriptorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateNotificationChannelRequest. */
+ interface ICreateNotificationChannelRequest {
+
+ /** CreateNotificationChannelRequest name */
+ name?: (string|null);
+
+ /** CreateNotificationChannelRequest notificationChannel */
+ notificationChannel?: (google.monitoring.v3.INotificationChannel|null);
+ }
+
+ /** Represents a CreateNotificationChannelRequest. */
+ class CreateNotificationChannelRequest implements ICreateNotificationChannelRequest {
+
+ /**
+ * Constructs a new CreateNotificationChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateNotificationChannelRequest);
+
+ /** CreateNotificationChannelRequest name. */
+ public name: string;
+
+ /** CreateNotificationChannelRequest notificationChannel. */
+ public notificationChannel?: (google.monitoring.v3.INotificationChannel|null);
+
+ /**
+ * Creates a new CreateNotificationChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateNotificationChannelRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateNotificationChannelRequest): google.monitoring.v3.CreateNotificationChannelRequest;
+
+ /**
+ * Encodes the specified CreateNotificationChannelRequest message. Does not implicitly {@link google.monitoring.v3.CreateNotificationChannelRequest.verify|verify} messages.
+ * @param message CreateNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateNotificationChannelRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateNotificationChannelRequest.verify|verify} messages.
+ * @param message CreateNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateNotificationChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateNotificationChannelRequest;
+
+ /**
+ * Decodes a CreateNotificationChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateNotificationChannelRequest;
+
+ /**
+ * Verifies a CreateNotificationChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateNotificationChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateNotificationChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateNotificationChannelRequest;
+
+ /**
+ * Creates a plain object from a CreateNotificationChannelRequest message. Also converts values to other types if specified.
+ * @param message CreateNotificationChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateNotificationChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateNotificationChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateNotificationChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNotificationChannelsRequest. */
+ interface IListNotificationChannelsRequest {
+
+ /** ListNotificationChannelsRequest name */
+ name?: (string|null);
+
+ /** ListNotificationChannelsRequest filter */
+ filter?: (string|null);
+
+ /** ListNotificationChannelsRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListNotificationChannelsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListNotificationChannelsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListNotificationChannelsRequest. */
+ class ListNotificationChannelsRequest implements IListNotificationChannelsRequest {
+
+ /**
+ * Constructs a new ListNotificationChannelsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListNotificationChannelsRequest);
+
+ /** ListNotificationChannelsRequest name. */
+ public name: string;
+
+ /** ListNotificationChannelsRequest filter. */
+ public filter: string;
+
+ /** ListNotificationChannelsRequest orderBy. */
+ public orderBy: string;
+
+ /** ListNotificationChannelsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListNotificationChannelsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListNotificationChannelsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNotificationChannelsRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListNotificationChannelsRequest): google.monitoring.v3.ListNotificationChannelsRequest;
+
+ /**
+ * Encodes the specified ListNotificationChannelsRequest message. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelsRequest.verify|verify} messages.
+ * @param message ListNotificationChannelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListNotificationChannelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNotificationChannelsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelsRequest.verify|verify} messages.
+ * @param message ListNotificationChannelsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListNotificationChannelsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNotificationChannelsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNotificationChannelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListNotificationChannelsRequest;
+
+ /**
+ * Decodes a ListNotificationChannelsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNotificationChannelsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListNotificationChannelsRequest;
+
+ /**
+ * Verifies a ListNotificationChannelsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNotificationChannelsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNotificationChannelsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListNotificationChannelsRequest;
+
+ /**
+ * Creates a plain object from a ListNotificationChannelsRequest message. Also converts values to other types if specified.
+ * @param message ListNotificationChannelsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListNotificationChannelsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNotificationChannelsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNotificationChannelsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNotificationChannelsResponse. */
+ interface IListNotificationChannelsResponse {
+
+ /** ListNotificationChannelsResponse notificationChannels */
+ notificationChannels?: (google.monitoring.v3.INotificationChannel[]|null);
+
+ /** ListNotificationChannelsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListNotificationChannelsResponse totalSize */
+ totalSize?: (number|null);
+ }
+
+ /** Represents a ListNotificationChannelsResponse. */
+ class ListNotificationChannelsResponse implements IListNotificationChannelsResponse {
+
+ /**
+ * Constructs a new ListNotificationChannelsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListNotificationChannelsResponse);
+
+ /** ListNotificationChannelsResponse notificationChannels. */
+ public notificationChannels: google.monitoring.v3.INotificationChannel[];
+
+ /** ListNotificationChannelsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListNotificationChannelsResponse totalSize. */
+ public totalSize: number;
+
+ /**
+ * Creates a new ListNotificationChannelsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNotificationChannelsResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListNotificationChannelsResponse): google.monitoring.v3.ListNotificationChannelsResponse;
+
+ /**
+ * Encodes the specified ListNotificationChannelsResponse message. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelsResponse.verify|verify} messages.
+ * @param message ListNotificationChannelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListNotificationChannelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNotificationChannelsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListNotificationChannelsResponse.verify|verify} messages.
+ * @param message ListNotificationChannelsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListNotificationChannelsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNotificationChannelsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNotificationChannelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListNotificationChannelsResponse;
+
+ /**
+ * Decodes a ListNotificationChannelsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNotificationChannelsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListNotificationChannelsResponse;
+
+ /**
+ * Verifies a ListNotificationChannelsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNotificationChannelsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNotificationChannelsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListNotificationChannelsResponse;
+
+ /**
+ * Creates a plain object from a ListNotificationChannelsResponse message. Also converts values to other types if specified.
+ * @param message ListNotificationChannelsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListNotificationChannelsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNotificationChannelsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNotificationChannelsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNotificationChannelRequest. */
+ interface IGetNotificationChannelRequest {
+
+ /** GetNotificationChannelRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetNotificationChannelRequest. */
+ class GetNotificationChannelRequest implements IGetNotificationChannelRequest {
+
+ /**
+ * Constructs a new GetNotificationChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetNotificationChannelRequest);
+
+ /** GetNotificationChannelRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetNotificationChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNotificationChannelRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetNotificationChannelRequest): google.monitoring.v3.GetNotificationChannelRequest;
+
+ /**
+ * Encodes the specified GetNotificationChannelRequest message. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelRequest.verify|verify} messages.
+ * @param message GetNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNotificationChannelRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelRequest.verify|verify} messages.
+ * @param message GetNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNotificationChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetNotificationChannelRequest;
+
+ /**
+ * Decodes a GetNotificationChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetNotificationChannelRequest;
+
+ /**
+ * Verifies a GetNotificationChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNotificationChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNotificationChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetNotificationChannelRequest;
+
+ /**
+ * Creates a plain object from a GetNotificationChannelRequest message. Also converts values to other types if specified.
+ * @param message GetNotificationChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetNotificationChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNotificationChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNotificationChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateNotificationChannelRequest. */
+ interface IUpdateNotificationChannelRequest {
+
+ /** UpdateNotificationChannelRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateNotificationChannelRequest notificationChannel */
+ notificationChannel?: (google.monitoring.v3.INotificationChannel|null);
+ }
+
+ /** Represents an UpdateNotificationChannelRequest. */
+ class UpdateNotificationChannelRequest implements IUpdateNotificationChannelRequest {
+
+ /**
+ * Constructs a new UpdateNotificationChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUpdateNotificationChannelRequest);
+
+ /** UpdateNotificationChannelRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateNotificationChannelRequest notificationChannel. */
+ public notificationChannel?: (google.monitoring.v3.INotificationChannel|null);
+
+ /**
+ * Creates a new UpdateNotificationChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateNotificationChannelRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IUpdateNotificationChannelRequest): google.monitoring.v3.UpdateNotificationChannelRequest;
+
+ /**
+ * Encodes the specified UpdateNotificationChannelRequest message. Does not implicitly {@link google.monitoring.v3.UpdateNotificationChannelRequest.verify|verify} messages.
+ * @param message UpdateNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUpdateNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateNotificationChannelRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateNotificationChannelRequest.verify|verify} messages.
+ * @param message UpdateNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUpdateNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateNotificationChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UpdateNotificationChannelRequest;
+
+ /**
+ * Decodes an UpdateNotificationChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UpdateNotificationChannelRequest;
+
+ /**
+ * Verifies an UpdateNotificationChannelRequest message.
+ * @param message Plain 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 UpdateNotificationChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateNotificationChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UpdateNotificationChannelRequest;
+
+ /**
+ * Creates a plain object from an UpdateNotificationChannelRequest message. Also converts values to other types if specified.
+ * @param message UpdateNotificationChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UpdateNotificationChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateNotificationChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateNotificationChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteNotificationChannelRequest. */
+ interface IDeleteNotificationChannelRequest {
+
+ /** DeleteNotificationChannelRequest name */
+ name?: (string|null);
+
+ /** DeleteNotificationChannelRequest force */
+ force?: (boolean|null);
+ }
+
+ /** Represents a DeleteNotificationChannelRequest. */
+ class DeleteNotificationChannelRequest implements IDeleteNotificationChannelRequest {
+
+ /**
+ * Constructs a new DeleteNotificationChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDeleteNotificationChannelRequest);
+
+ /** DeleteNotificationChannelRequest name. */
+ public name: string;
+
+ /** DeleteNotificationChannelRequest force. */
+ public force: boolean;
+
+ /**
+ * Creates a new DeleteNotificationChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteNotificationChannelRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IDeleteNotificationChannelRequest): google.monitoring.v3.DeleteNotificationChannelRequest;
+
+ /**
+ * Encodes the specified DeleteNotificationChannelRequest message. Does not implicitly {@link google.monitoring.v3.DeleteNotificationChannelRequest.verify|verify} messages.
+ * @param message DeleteNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDeleteNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteNotificationChannelRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteNotificationChannelRequest.verify|verify} messages.
+ * @param message DeleteNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDeleteNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteNotificationChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DeleteNotificationChannelRequest;
+
+ /**
+ * Decodes a DeleteNotificationChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DeleteNotificationChannelRequest;
+
+ /**
+ * Verifies a DeleteNotificationChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteNotificationChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteNotificationChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DeleteNotificationChannelRequest;
+
+ /**
+ * Creates a plain object from a DeleteNotificationChannelRequest message. Also converts values to other types if specified.
+ * @param message DeleteNotificationChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DeleteNotificationChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteNotificationChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteNotificationChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SendNotificationChannelVerificationCodeRequest. */
+ interface ISendNotificationChannelVerificationCodeRequest {
+
+ /** SendNotificationChannelVerificationCodeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a SendNotificationChannelVerificationCodeRequest. */
+ class SendNotificationChannelVerificationCodeRequest implements ISendNotificationChannelVerificationCodeRequest {
+
+ /**
+ * Constructs a new SendNotificationChannelVerificationCodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ISendNotificationChannelVerificationCodeRequest);
+
+ /** SendNotificationChannelVerificationCodeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new SendNotificationChannelVerificationCodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SendNotificationChannelVerificationCodeRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ISendNotificationChannelVerificationCodeRequest): google.monitoring.v3.SendNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Encodes the specified SendNotificationChannelVerificationCodeRequest message. Does not implicitly {@link google.monitoring.v3.SendNotificationChannelVerificationCodeRequest.verify|verify} messages.
+ * @param message SendNotificationChannelVerificationCodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ISendNotificationChannelVerificationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SendNotificationChannelVerificationCodeRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.SendNotificationChannelVerificationCodeRequest.verify|verify} messages.
+ * @param message SendNotificationChannelVerificationCodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ISendNotificationChannelVerificationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SendNotificationChannelVerificationCodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SendNotificationChannelVerificationCodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.SendNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Decodes a SendNotificationChannelVerificationCodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SendNotificationChannelVerificationCodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.SendNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Verifies a SendNotificationChannelVerificationCodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SendNotificationChannelVerificationCodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SendNotificationChannelVerificationCodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.SendNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Creates a plain object from a SendNotificationChannelVerificationCodeRequest message. Also converts values to other types if specified.
+ * @param message SendNotificationChannelVerificationCodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.SendNotificationChannelVerificationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SendNotificationChannelVerificationCodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SendNotificationChannelVerificationCodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNotificationChannelVerificationCodeRequest. */
+ interface IGetNotificationChannelVerificationCodeRequest {
+
+ /** GetNotificationChannelVerificationCodeRequest name */
+ name?: (string|null);
+
+ /** GetNotificationChannelVerificationCodeRequest expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a GetNotificationChannelVerificationCodeRequest. */
+ class GetNotificationChannelVerificationCodeRequest implements IGetNotificationChannelVerificationCodeRequest {
+
+ /**
+ * Constructs a new GetNotificationChannelVerificationCodeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetNotificationChannelVerificationCodeRequest);
+
+ /** GetNotificationChannelVerificationCodeRequest name. */
+ public name: string;
+
+ /** GetNotificationChannelVerificationCodeRequest expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new GetNotificationChannelVerificationCodeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNotificationChannelVerificationCodeRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetNotificationChannelVerificationCodeRequest): google.monitoring.v3.GetNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Encodes the specified GetNotificationChannelVerificationCodeRequest message. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelVerificationCodeRequest.verify|verify} messages.
+ * @param message GetNotificationChannelVerificationCodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetNotificationChannelVerificationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNotificationChannelVerificationCodeRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelVerificationCodeRequest.verify|verify} messages.
+ * @param message GetNotificationChannelVerificationCodeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetNotificationChannelVerificationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNotificationChannelVerificationCodeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNotificationChannelVerificationCodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Decodes a GetNotificationChannelVerificationCodeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNotificationChannelVerificationCodeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Verifies a GetNotificationChannelVerificationCodeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNotificationChannelVerificationCodeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNotificationChannelVerificationCodeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetNotificationChannelVerificationCodeRequest;
+
+ /**
+ * Creates a plain object from a GetNotificationChannelVerificationCodeRequest message. Also converts values to other types if specified.
+ * @param message GetNotificationChannelVerificationCodeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetNotificationChannelVerificationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNotificationChannelVerificationCodeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNotificationChannelVerificationCodeRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNotificationChannelVerificationCodeResponse. */
+ interface IGetNotificationChannelVerificationCodeResponse {
+
+ /** GetNotificationChannelVerificationCodeResponse code */
+ code?: (string|null);
+
+ /** GetNotificationChannelVerificationCodeResponse expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a GetNotificationChannelVerificationCodeResponse. */
+ class GetNotificationChannelVerificationCodeResponse implements IGetNotificationChannelVerificationCodeResponse {
+
+ /**
+ * Constructs a new GetNotificationChannelVerificationCodeResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetNotificationChannelVerificationCodeResponse);
+
+ /** GetNotificationChannelVerificationCodeResponse code. */
+ public code: string;
+
+ /** GetNotificationChannelVerificationCodeResponse expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new GetNotificationChannelVerificationCodeResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNotificationChannelVerificationCodeResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetNotificationChannelVerificationCodeResponse): google.monitoring.v3.GetNotificationChannelVerificationCodeResponse;
+
+ /**
+ * Encodes the specified GetNotificationChannelVerificationCodeResponse message. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelVerificationCodeResponse.verify|verify} messages.
+ * @param message GetNotificationChannelVerificationCodeResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetNotificationChannelVerificationCodeResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNotificationChannelVerificationCodeResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.GetNotificationChannelVerificationCodeResponse.verify|verify} messages.
+ * @param message GetNotificationChannelVerificationCodeResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetNotificationChannelVerificationCodeResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNotificationChannelVerificationCodeResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNotificationChannelVerificationCodeResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetNotificationChannelVerificationCodeResponse;
+
+ /**
+ * Decodes a GetNotificationChannelVerificationCodeResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNotificationChannelVerificationCodeResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetNotificationChannelVerificationCodeResponse;
+
+ /**
+ * Verifies a GetNotificationChannelVerificationCodeResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNotificationChannelVerificationCodeResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNotificationChannelVerificationCodeResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetNotificationChannelVerificationCodeResponse;
+
+ /**
+ * Creates a plain object from a GetNotificationChannelVerificationCodeResponse message. Also converts values to other types if specified.
+ * @param message GetNotificationChannelVerificationCodeResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetNotificationChannelVerificationCodeResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNotificationChannelVerificationCodeResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNotificationChannelVerificationCodeResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VerifyNotificationChannelRequest. */
+ interface IVerifyNotificationChannelRequest {
+
+ /** VerifyNotificationChannelRequest name */
+ name?: (string|null);
+
+ /** VerifyNotificationChannelRequest code */
+ code?: (string|null);
+ }
+
+ /** Represents a VerifyNotificationChannelRequest. */
+ class VerifyNotificationChannelRequest implements IVerifyNotificationChannelRequest {
+
+ /**
+ * Constructs a new VerifyNotificationChannelRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IVerifyNotificationChannelRequest);
+
+ /** VerifyNotificationChannelRequest name. */
+ public name: string;
+
+ /** VerifyNotificationChannelRequest code. */
+ public code: string;
+
+ /**
+ * Creates a new VerifyNotificationChannelRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VerifyNotificationChannelRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IVerifyNotificationChannelRequest): google.monitoring.v3.VerifyNotificationChannelRequest;
+
+ /**
+ * Encodes the specified VerifyNotificationChannelRequest message. Does not implicitly {@link google.monitoring.v3.VerifyNotificationChannelRequest.verify|verify} messages.
+ * @param message VerifyNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IVerifyNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VerifyNotificationChannelRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.VerifyNotificationChannelRequest.verify|verify} messages.
+ * @param message VerifyNotificationChannelRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IVerifyNotificationChannelRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VerifyNotificationChannelRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VerifyNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.VerifyNotificationChannelRequest;
+
+ /**
+ * Decodes a VerifyNotificationChannelRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VerifyNotificationChannelRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.VerifyNotificationChannelRequest;
+
+ /**
+ * Verifies a VerifyNotificationChannelRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VerifyNotificationChannelRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VerifyNotificationChannelRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.VerifyNotificationChannelRequest;
+
+ /**
+ * Creates a plain object from a VerifyNotificationChannelRequest message. Also converts values to other types if specified.
+ * @param message VerifyNotificationChannelRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.VerifyNotificationChannelRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VerifyNotificationChannelRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VerifyNotificationChannelRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a QueryService */
+ class QueryService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new QueryService 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 QueryService 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): QueryService;
+
+ /**
+ * Calls QueryTimeSeries.
+ * @param request QueryTimeSeriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and QueryTimeSeriesResponse
+ */
+ public queryTimeSeries(request: google.monitoring.v3.IQueryTimeSeriesRequest, callback: google.monitoring.v3.QueryService.QueryTimeSeriesCallback): void;
+
+ /**
+ * Calls QueryTimeSeries.
+ * @param request QueryTimeSeriesRequest message or plain object
+ * @returns Promise
+ */
+ public queryTimeSeries(request: google.monitoring.v3.IQueryTimeSeriesRequest): Promise;
+ }
+
+ namespace QueryService {
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.QueryService|queryTimeSeries}.
+ * @param error Error, if any
+ * @param [response] QueryTimeSeriesResponse
+ */
+ type QueryTimeSeriesCallback = (error: (Error|null), response?: google.monitoring.v3.QueryTimeSeriesResponse) => void;
+ }
+
+ /** Properties of a Service. */
+ interface IService {
+
+ /** Service name */
+ name?: (string|null);
+
+ /** Service displayName */
+ displayName?: (string|null);
+
+ /** Service custom */
+ custom?: (google.monitoring.v3.Service.ICustom|null);
+
+ /** Service appEngine */
+ appEngine?: (google.monitoring.v3.Service.IAppEngine|null);
+
+ /** Service cloudEndpoints */
+ cloudEndpoints?: (google.monitoring.v3.Service.ICloudEndpoints|null);
+
+ /** Service clusterIstio */
+ clusterIstio?: (google.monitoring.v3.Service.IClusterIstio|null);
+
+ /** Service meshIstio */
+ meshIstio?: (google.monitoring.v3.Service.IMeshIstio|null);
+
+ /** Service istioCanonicalService */
+ istioCanonicalService?: (google.monitoring.v3.Service.IIstioCanonicalService|null);
+
+ /** Service telemetry */
+ telemetry?: (google.monitoring.v3.Service.ITelemetry|null);
+ }
+
+ /** Represents a Service. */
+ class Service implements IService {
+
+ /**
+ * Constructs a new Service.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IService);
+
+ /** Service name. */
+ public name: string;
+
+ /** Service displayName. */
+ public displayName: string;
+
+ /** Service custom. */
+ public custom?: (google.monitoring.v3.Service.ICustom|null);
+
+ /** Service appEngine. */
+ public appEngine?: (google.monitoring.v3.Service.IAppEngine|null);
+
+ /** Service cloudEndpoints. */
+ public cloudEndpoints?: (google.monitoring.v3.Service.ICloudEndpoints|null);
+
+ /** Service clusterIstio. */
+ public clusterIstio?: (google.monitoring.v3.Service.IClusterIstio|null);
+
+ /** Service meshIstio. */
+ public meshIstio?: (google.monitoring.v3.Service.IMeshIstio|null);
+
+ /** Service istioCanonicalService. */
+ public istioCanonicalService?: (google.monitoring.v3.Service.IIstioCanonicalService|null);
+
+ /** Service telemetry. */
+ public telemetry?: (google.monitoring.v3.Service.ITelemetry|null);
+
+ /** Service identifier. */
+ public identifier?: ("custom"|"appEngine"|"cloudEndpoints"|"clusterIstio"|"meshIstio"|"istioCanonicalService");
+
+ /**
+ * Creates a new Service instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Service instance
+ */
+ public static create(properties?: google.monitoring.v3.IService): google.monitoring.v3.Service;
+
+ /**
+ * Encodes the specified Service message. Does not implicitly {@link google.monitoring.v3.Service.verify|verify} messages.
+ * @param message Service message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Service message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.verify|verify} messages.
+ * @param message Service message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Service message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service;
+
+ /**
+ * Decodes a Service message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service;
+
+ /**
+ * Verifies a Service message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Service message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Service
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service;
+
+ /**
+ * Creates a plain object from a Service message. Also converts values to other types if specified.
+ * @param message Service
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Service to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Service
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Service {
+
+ /** Properties of a Custom. */
+ interface ICustom {
+ }
+
+ /** Represents a Custom. */
+ class Custom implements ICustom {
+
+ /**
+ * Constructs a new Custom.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.Service.ICustom);
+
+ /**
+ * Creates a new Custom instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Custom instance
+ */
+ public static create(properties?: google.monitoring.v3.Service.ICustom): google.monitoring.v3.Service.Custom;
+
+ /**
+ * Encodes the specified Custom message. Does not implicitly {@link google.monitoring.v3.Service.Custom.verify|verify} messages.
+ * @param message Custom message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.Service.ICustom, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Custom message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.Custom.verify|verify} messages.
+ * @param message Custom message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.Service.ICustom, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Custom message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Custom
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service.Custom;
+
+ /**
+ * Decodes a Custom message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Custom
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service.Custom;
+
+ /**
+ * Verifies a Custom message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Custom message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Custom
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service.Custom;
+
+ /**
+ * Creates a plain object from a Custom message. Also converts values to other types if specified.
+ * @param message Custom
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service.Custom, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Custom to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Custom
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AppEngine. */
+ interface IAppEngine {
+
+ /** AppEngine moduleId */
+ moduleId?: (string|null);
+ }
+
+ /** Represents an AppEngine. */
+ class AppEngine implements IAppEngine {
+
+ /**
+ * Constructs a new AppEngine.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.Service.IAppEngine);
+
+ /** AppEngine moduleId. */
+ public moduleId: string;
+
+ /**
+ * Creates a new AppEngine instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AppEngine instance
+ */
+ public static create(properties?: google.monitoring.v3.Service.IAppEngine): google.monitoring.v3.Service.AppEngine;
+
+ /**
+ * Encodes the specified AppEngine message. Does not implicitly {@link google.monitoring.v3.Service.AppEngine.verify|verify} messages.
+ * @param message AppEngine message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.Service.IAppEngine, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AppEngine message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.AppEngine.verify|verify} messages.
+ * @param message AppEngine message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.Service.IAppEngine, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AppEngine message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AppEngine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service.AppEngine;
+
+ /**
+ * Decodes an AppEngine message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AppEngine
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service.AppEngine;
+
+ /**
+ * Verifies an AppEngine message.
+ * @param message Plain 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 AppEngine message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AppEngine
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service.AppEngine;
+
+ /**
+ * Creates a plain object from an AppEngine message. Also converts values to other types if specified.
+ * @param message AppEngine
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service.AppEngine, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AppEngine to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AppEngine
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CloudEndpoints. */
+ interface ICloudEndpoints {
+
+ /** CloudEndpoints service */
+ service?: (string|null);
+ }
+
+ /** Represents a CloudEndpoints. */
+ class CloudEndpoints implements ICloudEndpoints {
+
+ /**
+ * Constructs a new CloudEndpoints.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.Service.ICloudEndpoints);
+
+ /** CloudEndpoints service. */
+ public service: string;
+
+ /**
+ * Creates a new CloudEndpoints instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudEndpoints instance
+ */
+ public static create(properties?: google.monitoring.v3.Service.ICloudEndpoints): google.monitoring.v3.Service.CloudEndpoints;
+
+ /**
+ * Encodes the specified CloudEndpoints message. Does not implicitly {@link google.monitoring.v3.Service.CloudEndpoints.verify|verify} messages.
+ * @param message CloudEndpoints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.Service.ICloudEndpoints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudEndpoints message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.CloudEndpoints.verify|verify} messages.
+ * @param message CloudEndpoints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.Service.ICloudEndpoints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudEndpoints message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudEndpoints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service.CloudEndpoints;
+
+ /**
+ * Decodes a CloudEndpoints message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudEndpoints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service.CloudEndpoints;
+
+ /**
+ * Verifies a CloudEndpoints message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudEndpoints message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudEndpoints
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service.CloudEndpoints;
+
+ /**
+ * Creates a plain object from a CloudEndpoints message. Also converts values to other types if specified.
+ * @param message CloudEndpoints
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service.CloudEndpoints, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudEndpoints to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CloudEndpoints
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ClusterIstio. */
+ interface IClusterIstio {
+
+ /** ClusterIstio location */
+ location?: (string|null);
+
+ /** ClusterIstio clusterName */
+ clusterName?: (string|null);
+
+ /** ClusterIstio serviceNamespace */
+ serviceNamespace?: (string|null);
+
+ /** ClusterIstio serviceName */
+ serviceName?: (string|null);
+ }
+
+ /** Represents a ClusterIstio. */
+ class ClusterIstio implements IClusterIstio {
+
+ /**
+ * Constructs a new ClusterIstio.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.Service.IClusterIstio);
+
+ /** ClusterIstio location. */
+ public location: string;
+
+ /** ClusterIstio clusterName. */
+ public clusterName: string;
+
+ /** ClusterIstio serviceNamespace. */
+ public serviceNamespace: string;
+
+ /** ClusterIstio serviceName. */
+ public serviceName: string;
+
+ /**
+ * Creates a new ClusterIstio instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ClusterIstio instance
+ */
+ public static create(properties?: google.monitoring.v3.Service.IClusterIstio): google.monitoring.v3.Service.ClusterIstio;
+
+ /**
+ * Encodes the specified ClusterIstio message. Does not implicitly {@link google.monitoring.v3.Service.ClusterIstio.verify|verify} messages.
+ * @param message ClusterIstio message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.Service.IClusterIstio, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ClusterIstio message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.ClusterIstio.verify|verify} messages.
+ * @param message ClusterIstio message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.Service.IClusterIstio, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ClusterIstio message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ClusterIstio
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service.ClusterIstio;
+
+ /**
+ * Decodes a ClusterIstio message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ClusterIstio
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service.ClusterIstio;
+
+ /**
+ * Verifies a ClusterIstio message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ClusterIstio message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ClusterIstio
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service.ClusterIstio;
+
+ /**
+ * Creates a plain object from a ClusterIstio message. Also converts values to other types if specified.
+ * @param message ClusterIstio
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service.ClusterIstio, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ClusterIstio to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ClusterIstio
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MeshIstio. */
+ interface IMeshIstio {
+
+ /** MeshIstio meshUid */
+ meshUid?: (string|null);
+
+ /** MeshIstio serviceNamespace */
+ serviceNamespace?: (string|null);
+
+ /** MeshIstio serviceName */
+ serviceName?: (string|null);
+ }
+
+ /** Represents a MeshIstio. */
+ class MeshIstio implements IMeshIstio {
+
+ /**
+ * Constructs a new MeshIstio.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.Service.IMeshIstio);
+
+ /** MeshIstio meshUid. */
+ public meshUid: string;
+
+ /** MeshIstio serviceNamespace. */
+ public serviceNamespace: string;
+
+ /** MeshIstio serviceName. */
+ public serviceName: string;
+
+ /**
+ * Creates a new MeshIstio instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MeshIstio instance
+ */
+ public static create(properties?: google.monitoring.v3.Service.IMeshIstio): google.monitoring.v3.Service.MeshIstio;
+
+ /**
+ * Encodes the specified MeshIstio message. Does not implicitly {@link google.monitoring.v3.Service.MeshIstio.verify|verify} messages.
+ * @param message MeshIstio message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.Service.IMeshIstio, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MeshIstio message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.MeshIstio.verify|verify} messages.
+ * @param message MeshIstio message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.Service.IMeshIstio, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MeshIstio message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MeshIstio
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service.MeshIstio;
+
+ /**
+ * Decodes a MeshIstio message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MeshIstio
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service.MeshIstio;
+
+ /**
+ * Verifies a MeshIstio message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MeshIstio message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MeshIstio
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service.MeshIstio;
+
+ /**
+ * Creates a plain object from a MeshIstio message. Also converts values to other types if specified.
+ * @param message MeshIstio
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service.MeshIstio, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MeshIstio to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MeshIstio
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IstioCanonicalService. */
+ interface IIstioCanonicalService {
+
+ /** IstioCanonicalService meshUid */
+ meshUid?: (string|null);
+
+ /** IstioCanonicalService canonicalServiceNamespace */
+ canonicalServiceNamespace?: (string|null);
+
+ /** IstioCanonicalService canonicalService */
+ canonicalService?: (string|null);
+ }
+
+ /** Represents an IstioCanonicalService. */
+ class IstioCanonicalService implements IIstioCanonicalService {
+
+ /**
+ * Constructs a new IstioCanonicalService.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.Service.IIstioCanonicalService);
+
+ /** IstioCanonicalService meshUid. */
+ public meshUid: string;
+
+ /** IstioCanonicalService canonicalServiceNamespace. */
+ public canonicalServiceNamespace: string;
+
+ /** IstioCanonicalService canonicalService. */
+ public canonicalService: string;
+
+ /**
+ * Creates a new IstioCanonicalService instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IstioCanonicalService instance
+ */
+ public static create(properties?: google.monitoring.v3.Service.IIstioCanonicalService): google.monitoring.v3.Service.IstioCanonicalService;
+
+ /**
+ * Encodes the specified IstioCanonicalService message. Does not implicitly {@link google.monitoring.v3.Service.IstioCanonicalService.verify|verify} messages.
+ * @param message IstioCanonicalService message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.Service.IIstioCanonicalService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IstioCanonicalService message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.IstioCanonicalService.verify|verify} messages.
+ * @param message IstioCanonicalService message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.Service.IIstioCanonicalService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IstioCanonicalService message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IstioCanonicalService
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service.IstioCanonicalService;
+
+ /**
+ * Decodes an IstioCanonicalService message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IstioCanonicalService
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service.IstioCanonicalService;
+
+ /**
+ * Verifies an IstioCanonicalService message.
+ * @param message Plain 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 IstioCanonicalService message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IstioCanonicalService
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service.IstioCanonicalService;
+
+ /**
+ * Creates a plain object from an IstioCanonicalService message. Also converts values to other types if specified.
+ * @param message IstioCanonicalService
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service.IstioCanonicalService, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IstioCanonicalService to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IstioCanonicalService
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Telemetry. */
+ interface ITelemetry {
+
+ /** Telemetry resourceName */
+ resourceName?: (string|null);
+ }
+
+ /** Represents a Telemetry. */
+ class Telemetry implements ITelemetry {
+
+ /**
+ * Constructs a new Telemetry.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.Service.ITelemetry);
+
+ /** Telemetry resourceName. */
+ public resourceName: string;
+
+ /**
+ * Creates a new Telemetry instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Telemetry instance
+ */
+ public static create(properties?: google.monitoring.v3.Service.ITelemetry): google.monitoring.v3.Service.Telemetry;
+
+ /**
+ * Encodes the specified Telemetry message. Does not implicitly {@link google.monitoring.v3.Service.Telemetry.verify|verify} messages.
+ * @param message Telemetry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.Service.ITelemetry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Telemetry message, length delimited. Does not implicitly {@link google.monitoring.v3.Service.Telemetry.verify|verify} messages.
+ * @param message Telemetry message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.Service.ITelemetry, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Telemetry message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Telemetry
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Service.Telemetry;
+
+ /**
+ * Decodes a Telemetry message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Telemetry
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Service.Telemetry;
+
+ /**
+ * Verifies a Telemetry message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Telemetry message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Telemetry
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Service.Telemetry;
+
+ /**
+ * Creates a plain object from a Telemetry message. Also converts values to other types if specified.
+ * @param message Telemetry
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Service.Telemetry, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Telemetry to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Telemetry
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a ServiceLevelObjective. */
+ interface IServiceLevelObjective {
+
+ /** ServiceLevelObjective name */
+ name?: (string|null);
+
+ /** ServiceLevelObjective displayName */
+ displayName?: (string|null);
+
+ /** ServiceLevelObjective serviceLevelIndicator */
+ serviceLevelIndicator?: (google.monitoring.v3.IServiceLevelIndicator|null);
+
+ /** ServiceLevelObjective goal */
+ goal?: (number|null);
+
+ /** ServiceLevelObjective rollingPeriod */
+ rollingPeriod?: (google.protobuf.IDuration|null);
+
+ /** ServiceLevelObjective calendarPeriod */
+ calendarPeriod?: (google.type.CalendarPeriod|keyof typeof google.type.CalendarPeriod|null);
+ }
+
+ /** Represents a ServiceLevelObjective. */
+ class ServiceLevelObjective implements IServiceLevelObjective {
+
+ /**
+ * Constructs a new ServiceLevelObjective.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IServiceLevelObjective);
+
+ /** ServiceLevelObjective name. */
+ public name: string;
+
+ /** ServiceLevelObjective displayName. */
+ public displayName: string;
+
+ /** ServiceLevelObjective serviceLevelIndicator. */
+ public serviceLevelIndicator?: (google.monitoring.v3.IServiceLevelIndicator|null);
+
+ /** ServiceLevelObjective goal. */
+ public goal: number;
+
+ /** ServiceLevelObjective rollingPeriod. */
+ public rollingPeriod?: (google.protobuf.IDuration|null);
+
+ /** ServiceLevelObjective calendarPeriod. */
+ public calendarPeriod?: (google.type.CalendarPeriod|keyof typeof google.type.CalendarPeriod|null);
+
+ /** ServiceLevelObjective period. */
+ public period?: ("rollingPeriod"|"calendarPeriod");
+
+ /**
+ * Creates a new ServiceLevelObjective instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceLevelObjective instance
+ */
+ public static create(properties?: google.monitoring.v3.IServiceLevelObjective): google.monitoring.v3.ServiceLevelObjective;
+
+ /**
+ * Encodes the specified ServiceLevelObjective message. Does not implicitly {@link google.monitoring.v3.ServiceLevelObjective.verify|verify} messages.
+ * @param message ServiceLevelObjective message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IServiceLevelObjective, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceLevelObjective message, length delimited. Does not implicitly {@link google.monitoring.v3.ServiceLevelObjective.verify|verify} messages.
+ * @param message ServiceLevelObjective message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IServiceLevelObjective, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceLevelObjective message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceLevelObjective
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ServiceLevelObjective;
+
+ /**
+ * Decodes a ServiceLevelObjective message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceLevelObjective
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ServiceLevelObjective;
+
+ /**
+ * Verifies a ServiceLevelObjective message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceLevelObjective message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceLevelObjective
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ServiceLevelObjective;
+
+ /**
+ * Creates a plain object from a ServiceLevelObjective message. Also converts values to other types if specified.
+ * @param message ServiceLevelObjective
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ServiceLevelObjective, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceLevelObjective to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceLevelObjective
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ServiceLevelObjective {
+
+ /** View enum. */
+ enum View {
+ VIEW_UNSPECIFIED = 0,
+ FULL = 2,
+ EXPLICIT = 1
+ }
+ }
+
+ /** Properties of a ServiceLevelIndicator. */
+ interface IServiceLevelIndicator {
+
+ /** ServiceLevelIndicator basicSli */
+ basicSli?: (google.monitoring.v3.IBasicSli|null);
+
+ /** ServiceLevelIndicator requestBased */
+ requestBased?: (google.monitoring.v3.IRequestBasedSli|null);
+
+ /** ServiceLevelIndicator windowsBased */
+ windowsBased?: (google.monitoring.v3.IWindowsBasedSli|null);
+ }
+
+ /** Represents a ServiceLevelIndicator. */
+ class ServiceLevelIndicator implements IServiceLevelIndicator {
+
+ /**
+ * Constructs a new ServiceLevelIndicator.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IServiceLevelIndicator);
+
+ /** ServiceLevelIndicator basicSli. */
+ public basicSli?: (google.monitoring.v3.IBasicSli|null);
+
+ /** ServiceLevelIndicator requestBased. */
+ public requestBased?: (google.monitoring.v3.IRequestBasedSli|null);
+
+ /** ServiceLevelIndicator windowsBased. */
+ public windowsBased?: (google.monitoring.v3.IWindowsBasedSli|null);
+
+ /** ServiceLevelIndicator type. */
+ public type?: ("basicSli"|"requestBased"|"windowsBased");
+
+ /**
+ * Creates a new ServiceLevelIndicator instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceLevelIndicator instance
+ */
+ public static create(properties?: google.monitoring.v3.IServiceLevelIndicator): google.monitoring.v3.ServiceLevelIndicator;
+
+ /**
+ * Encodes the specified ServiceLevelIndicator message. Does not implicitly {@link google.monitoring.v3.ServiceLevelIndicator.verify|verify} messages.
+ * @param message ServiceLevelIndicator message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IServiceLevelIndicator, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceLevelIndicator message, length delimited. Does not implicitly {@link google.monitoring.v3.ServiceLevelIndicator.verify|verify} messages.
+ * @param message ServiceLevelIndicator message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IServiceLevelIndicator, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceLevelIndicator message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceLevelIndicator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ServiceLevelIndicator;
+
+ /**
+ * Decodes a ServiceLevelIndicator message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceLevelIndicator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ServiceLevelIndicator;
+
+ /**
+ * Verifies a ServiceLevelIndicator message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceLevelIndicator message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceLevelIndicator
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ServiceLevelIndicator;
+
+ /**
+ * Creates a plain object from a ServiceLevelIndicator message. Also converts values to other types if specified.
+ * @param message ServiceLevelIndicator
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ServiceLevelIndicator, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceLevelIndicator to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceLevelIndicator
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BasicSli. */
+ interface IBasicSli {
+
+ /** BasicSli method */
+ method?: (string[]|null);
+
+ /** BasicSli location */
+ location?: (string[]|null);
+
+ /** BasicSli version */
+ version?: (string[]|null);
+
+ /** BasicSli availability */
+ availability?: (google.monitoring.v3.BasicSli.IAvailabilityCriteria|null);
+
+ /** BasicSli latency */
+ latency?: (google.monitoring.v3.BasicSli.ILatencyCriteria|null);
+ }
+
+ /** Represents a BasicSli. */
+ class BasicSli implements IBasicSli {
+
+ /**
+ * Constructs a new BasicSli.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IBasicSli);
+
+ /** BasicSli method. */
+ public method: string[];
+
+ /** BasicSli location. */
+ public location: string[];
+
+ /** BasicSli version. */
+ public version: string[];
+
+ /** BasicSli availability. */
+ public availability?: (google.monitoring.v3.BasicSli.IAvailabilityCriteria|null);
+
+ /** BasicSli latency. */
+ public latency?: (google.monitoring.v3.BasicSli.ILatencyCriteria|null);
+
+ /** BasicSli sliCriteria. */
+ public sliCriteria?: ("availability"|"latency");
+
+ /**
+ * Creates a new BasicSli instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BasicSli instance
+ */
+ public static create(properties?: google.monitoring.v3.IBasicSli): google.monitoring.v3.BasicSli;
+
+ /**
+ * Encodes the specified BasicSli message. Does not implicitly {@link google.monitoring.v3.BasicSli.verify|verify} messages.
+ * @param message BasicSli message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IBasicSli, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BasicSli message, length delimited. Does not implicitly {@link google.monitoring.v3.BasicSli.verify|verify} messages.
+ * @param message BasicSli message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IBasicSli, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BasicSli message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BasicSli
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.BasicSli;
+
+ /**
+ * Decodes a BasicSli message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BasicSli
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.BasicSli;
+
+ /**
+ * Verifies a BasicSli message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BasicSli message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BasicSli
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.BasicSli;
+
+ /**
+ * Creates a plain object from a BasicSli message. Also converts values to other types if specified.
+ * @param message BasicSli
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.BasicSli, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BasicSli to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BasicSli
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BasicSli {
+
+ /** Properties of an AvailabilityCriteria. */
+ interface IAvailabilityCriteria {
+ }
+
+ /** Represents an AvailabilityCriteria. */
+ class AvailabilityCriteria implements IAvailabilityCriteria {
+
+ /**
+ * Constructs a new AvailabilityCriteria.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.BasicSli.IAvailabilityCriteria);
+
+ /**
+ * Creates a new AvailabilityCriteria instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AvailabilityCriteria instance
+ */
+ public static create(properties?: google.monitoring.v3.BasicSli.IAvailabilityCriteria): google.monitoring.v3.BasicSli.AvailabilityCriteria;
+
+ /**
+ * Encodes the specified AvailabilityCriteria message. Does not implicitly {@link google.monitoring.v3.BasicSli.AvailabilityCriteria.verify|verify} messages.
+ * @param message AvailabilityCriteria message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.BasicSli.IAvailabilityCriteria, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AvailabilityCriteria message, length delimited. Does not implicitly {@link google.monitoring.v3.BasicSli.AvailabilityCriteria.verify|verify} messages.
+ * @param message AvailabilityCriteria message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.BasicSli.IAvailabilityCriteria, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AvailabilityCriteria message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AvailabilityCriteria
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.BasicSli.AvailabilityCriteria;
+
+ /**
+ * Decodes an AvailabilityCriteria message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AvailabilityCriteria
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.BasicSli.AvailabilityCriteria;
+
+ /**
+ * Verifies an AvailabilityCriteria message.
+ * @param message Plain 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 AvailabilityCriteria message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AvailabilityCriteria
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.BasicSli.AvailabilityCriteria;
+
+ /**
+ * Creates a plain object from an AvailabilityCriteria message. Also converts values to other types if specified.
+ * @param message AvailabilityCriteria
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.BasicSli.AvailabilityCriteria, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AvailabilityCriteria to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AvailabilityCriteria
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LatencyCriteria. */
+ interface ILatencyCriteria {
+
+ /** LatencyCriteria threshold */
+ threshold?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a LatencyCriteria. */
+ class LatencyCriteria implements ILatencyCriteria {
+
+ /**
+ * Constructs a new LatencyCriteria.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.BasicSli.ILatencyCriteria);
+
+ /** LatencyCriteria threshold. */
+ public threshold?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new LatencyCriteria instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LatencyCriteria instance
+ */
+ public static create(properties?: google.monitoring.v3.BasicSli.ILatencyCriteria): google.monitoring.v3.BasicSli.LatencyCriteria;
+
+ /**
+ * Encodes the specified LatencyCriteria message. Does not implicitly {@link google.monitoring.v3.BasicSli.LatencyCriteria.verify|verify} messages.
+ * @param message LatencyCriteria message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.BasicSli.ILatencyCriteria, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LatencyCriteria message, length delimited. Does not implicitly {@link google.monitoring.v3.BasicSli.LatencyCriteria.verify|verify} messages.
+ * @param message LatencyCriteria message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.BasicSli.ILatencyCriteria, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LatencyCriteria message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LatencyCriteria
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.BasicSli.LatencyCriteria;
+
+ /**
+ * Decodes a LatencyCriteria message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LatencyCriteria
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.BasicSli.LatencyCriteria;
+
+ /**
+ * Verifies a LatencyCriteria message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LatencyCriteria message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LatencyCriteria
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.BasicSli.LatencyCriteria;
+
+ /**
+ * Creates a plain object from a LatencyCriteria message. Also converts values to other types if specified.
+ * @param message LatencyCriteria
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.BasicSli.LatencyCriteria, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LatencyCriteria to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LatencyCriteria
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Range. */
+ interface IRange {
+
+ /** Range min */
+ min?: (number|null);
+
+ /** Range max */
+ max?: (number|null);
+ }
+
+ /** Represents a Range. */
+ class Range implements IRange {
+
+ /**
+ * Constructs a new Range.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IRange);
+
+ /** Range min. */
+ public min: number;
+
+ /** Range max. */
+ public max: number;
+
+ /**
+ * Creates a new Range instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Range instance
+ */
+ public static create(properties?: google.monitoring.v3.IRange): google.monitoring.v3.Range;
+
+ /**
+ * Encodes the specified Range message. Does not implicitly {@link google.monitoring.v3.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Range message, length delimited. Does not implicitly {@link google.monitoring.v3.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Range
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.Range;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Range
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.Range;
+
+ /**
+ * Verifies a Range message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Range message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Range
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.Range;
+
+ /**
+ * Creates a plain object from a Range message. Also converts values to other types if specified.
+ * @param message Range
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.Range, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Range to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Range
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RequestBasedSli. */
+ interface IRequestBasedSli {
+
+ /** RequestBasedSli goodTotalRatio */
+ goodTotalRatio?: (google.monitoring.v3.ITimeSeriesRatio|null);
+
+ /** RequestBasedSli distributionCut */
+ distributionCut?: (google.monitoring.v3.IDistributionCut|null);
+ }
+
+ /** Represents a RequestBasedSli. */
+ class RequestBasedSli implements IRequestBasedSli {
+
+ /**
+ * Constructs a new RequestBasedSli.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IRequestBasedSli);
+
+ /** RequestBasedSli goodTotalRatio. */
+ public goodTotalRatio?: (google.monitoring.v3.ITimeSeriesRatio|null);
+
+ /** RequestBasedSli distributionCut. */
+ public distributionCut?: (google.monitoring.v3.IDistributionCut|null);
+
+ /** RequestBasedSli method. */
+ public method?: ("goodTotalRatio"|"distributionCut");
+
+ /**
+ * Creates a new RequestBasedSli instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RequestBasedSli instance
+ */
+ public static create(properties?: google.monitoring.v3.IRequestBasedSli): google.monitoring.v3.RequestBasedSli;
+
+ /**
+ * Encodes the specified RequestBasedSli message. Does not implicitly {@link google.monitoring.v3.RequestBasedSli.verify|verify} messages.
+ * @param message RequestBasedSli message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IRequestBasedSli, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RequestBasedSli message, length delimited. Does not implicitly {@link google.monitoring.v3.RequestBasedSli.verify|verify} messages.
+ * @param message RequestBasedSli message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IRequestBasedSli, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RequestBasedSli message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RequestBasedSli
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.RequestBasedSli;
+
+ /**
+ * Decodes a RequestBasedSli message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RequestBasedSli
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.RequestBasedSli;
+
+ /**
+ * Verifies a RequestBasedSli message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RequestBasedSli message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RequestBasedSli
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.RequestBasedSli;
+
+ /**
+ * Creates a plain object from a RequestBasedSli message. Also converts values to other types if specified.
+ * @param message RequestBasedSli
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.RequestBasedSli, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RequestBasedSli to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RequestBasedSli
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeSeriesRatio. */
+ interface ITimeSeriesRatio {
+
+ /** TimeSeriesRatio goodServiceFilter */
+ goodServiceFilter?: (string|null);
+
+ /** TimeSeriesRatio badServiceFilter */
+ badServiceFilter?: (string|null);
+
+ /** TimeSeriesRatio totalServiceFilter */
+ totalServiceFilter?: (string|null);
+ }
+
+ /** Represents a TimeSeriesRatio. */
+ class TimeSeriesRatio implements ITimeSeriesRatio {
+
+ /**
+ * Constructs a new TimeSeriesRatio.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ITimeSeriesRatio);
+
+ /** TimeSeriesRatio goodServiceFilter. */
+ public goodServiceFilter: string;
+
+ /** TimeSeriesRatio badServiceFilter. */
+ public badServiceFilter: string;
+
+ /** TimeSeriesRatio totalServiceFilter. */
+ public totalServiceFilter: string;
+
+ /**
+ * Creates a new TimeSeriesRatio instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeSeriesRatio instance
+ */
+ public static create(properties?: google.monitoring.v3.ITimeSeriesRatio): google.monitoring.v3.TimeSeriesRatio;
+
+ /**
+ * Encodes the specified TimeSeriesRatio message. Does not implicitly {@link google.monitoring.v3.TimeSeriesRatio.verify|verify} messages.
+ * @param message TimeSeriesRatio message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ITimeSeriesRatio, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeSeriesRatio message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesRatio.verify|verify} messages.
+ * @param message TimeSeriesRatio message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ITimeSeriesRatio, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeSeriesRatio message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeSeriesRatio
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.TimeSeriesRatio;
+
+ /**
+ * Decodes a TimeSeriesRatio message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeSeriesRatio
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.TimeSeriesRatio;
+
+ /**
+ * Verifies a TimeSeriesRatio message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeSeriesRatio message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeSeriesRatio
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.TimeSeriesRatio;
+
+ /**
+ * Creates a plain object from a TimeSeriesRatio message. Also converts values to other types if specified.
+ * @param message TimeSeriesRatio
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.TimeSeriesRatio, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeSeriesRatio to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeSeriesRatio
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DistributionCut. */
+ interface IDistributionCut {
+
+ /** DistributionCut distributionFilter */
+ distributionFilter?: (string|null);
+
+ /** DistributionCut range */
+ range?: (google.monitoring.v3.IRange|null);
+ }
+
+ /** Represents a DistributionCut. */
+ class DistributionCut implements IDistributionCut {
+
+ /**
+ * Constructs a new DistributionCut.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDistributionCut);
+
+ /** DistributionCut distributionFilter. */
+ public distributionFilter: string;
+
+ /** DistributionCut range. */
+ public range?: (google.monitoring.v3.IRange|null);
+
+ /**
+ * Creates a new DistributionCut instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DistributionCut instance
+ */
+ public static create(properties?: google.monitoring.v3.IDistributionCut): google.monitoring.v3.DistributionCut;
+
+ /**
+ * Encodes the specified DistributionCut message. Does not implicitly {@link google.monitoring.v3.DistributionCut.verify|verify} messages.
+ * @param message DistributionCut message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDistributionCut, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DistributionCut message, length delimited. Does not implicitly {@link google.monitoring.v3.DistributionCut.verify|verify} messages.
+ * @param message DistributionCut message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDistributionCut, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DistributionCut message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DistributionCut
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DistributionCut;
+
+ /**
+ * Decodes a DistributionCut message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DistributionCut
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DistributionCut;
+
+ /**
+ * Verifies a DistributionCut message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DistributionCut message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DistributionCut
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DistributionCut;
+
+ /**
+ * Creates a plain object from a DistributionCut message. Also converts values to other types if specified.
+ * @param message DistributionCut
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DistributionCut, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DistributionCut to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DistributionCut
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WindowsBasedSli. */
+ interface IWindowsBasedSli {
+
+ /** WindowsBasedSli goodBadMetricFilter */
+ goodBadMetricFilter?: (string|null);
+
+ /** WindowsBasedSli goodTotalRatioThreshold */
+ goodTotalRatioThreshold?: (google.monitoring.v3.WindowsBasedSli.IPerformanceThreshold|null);
+
+ /** WindowsBasedSli metricMeanInRange */
+ metricMeanInRange?: (google.monitoring.v3.WindowsBasedSli.IMetricRange|null);
+
+ /** WindowsBasedSli metricSumInRange */
+ metricSumInRange?: (google.monitoring.v3.WindowsBasedSli.IMetricRange|null);
+
+ /** WindowsBasedSli windowPeriod */
+ windowPeriod?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WindowsBasedSli. */
+ class WindowsBasedSli implements IWindowsBasedSli {
+
+ /**
+ * Constructs a new WindowsBasedSli.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IWindowsBasedSli);
+
+ /** WindowsBasedSli goodBadMetricFilter. */
+ public goodBadMetricFilter?: (string|null);
+
+ /** WindowsBasedSli goodTotalRatioThreshold. */
+ public goodTotalRatioThreshold?: (google.monitoring.v3.WindowsBasedSli.IPerformanceThreshold|null);
+
+ /** WindowsBasedSli metricMeanInRange. */
+ public metricMeanInRange?: (google.monitoring.v3.WindowsBasedSli.IMetricRange|null);
+
+ /** WindowsBasedSli metricSumInRange. */
+ public metricSumInRange?: (google.monitoring.v3.WindowsBasedSli.IMetricRange|null);
+
+ /** WindowsBasedSli windowPeriod. */
+ public windowPeriod?: (google.protobuf.IDuration|null);
+
+ /** WindowsBasedSli windowCriterion. */
+ public windowCriterion?: ("goodBadMetricFilter"|"goodTotalRatioThreshold"|"metricMeanInRange"|"metricSumInRange");
+
+ /**
+ * Creates a new WindowsBasedSli instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WindowsBasedSli instance
+ */
+ public static create(properties?: google.monitoring.v3.IWindowsBasedSli): google.monitoring.v3.WindowsBasedSli;
+
+ /**
+ * Encodes the specified WindowsBasedSli message. Does not implicitly {@link google.monitoring.v3.WindowsBasedSli.verify|verify} messages.
+ * @param message WindowsBasedSli message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IWindowsBasedSli, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WindowsBasedSli message, length delimited. Does not implicitly {@link google.monitoring.v3.WindowsBasedSli.verify|verify} messages.
+ * @param message WindowsBasedSli message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IWindowsBasedSli, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WindowsBasedSli message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WindowsBasedSli
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.WindowsBasedSli;
+
+ /**
+ * Decodes a WindowsBasedSli message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WindowsBasedSli
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.WindowsBasedSli;
+
+ /**
+ * Verifies a WindowsBasedSli message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WindowsBasedSli message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WindowsBasedSli
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.WindowsBasedSli;
+
+ /**
+ * Creates a plain object from a WindowsBasedSli message. Also converts values to other types if specified.
+ * @param message WindowsBasedSli
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.WindowsBasedSli, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WindowsBasedSli to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WindowsBasedSli
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace WindowsBasedSli {
+
+ /** Properties of a PerformanceThreshold. */
+ interface IPerformanceThreshold {
+
+ /** PerformanceThreshold performance */
+ performance?: (google.monitoring.v3.IRequestBasedSli|null);
+
+ /** PerformanceThreshold basicSliPerformance */
+ basicSliPerformance?: (google.monitoring.v3.IBasicSli|null);
+
+ /** PerformanceThreshold threshold */
+ threshold?: (number|null);
+ }
+
+ /** Represents a PerformanceThreshold. */
+ class PerformanceThreshold implements IPerformanceThreshold {
+
+ /**
+ * Constructs a new PerformanceThreshold.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.WindowsBasedSli.IPerformanceThreshold);
+
+ /** PerformanceThreshold performance. */
+ public performance?: (google.monitoring.v3.IRequestBasedSli|null);
+
+ /** PerformanceThreshold basicSliPerformance. */
+ public basicSliPerformance?: (google.monitoring.v3.IBasicSli|null);
+
+ /** PerformanceThreshold threshold. */
+ public threshold: number;
+
+ /** PerformanceThreshold type. */
+ public type?: ("performance"|"basicSliPerformance");
+
+ /**
+ * Creates a new PerformanceThreshold instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PerformanceThreshold instance
+ */
+ public static create(properties?: google.monitoring.v3.WindowsBasedSli.IPerformanceThreshold): google.monitoring.v3.WindowsBasedSli.PerformanceThreshold;
+
+ /**
+ * Encodes the specified PerformanceThreshold message. Does not implicitly {@link google.monitoring.v3.WindowsBasedSli.PerformanceThreshold.verify|verify} messages.
+ * @param message PerformanceThreshold message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.WindowsBasedSli.IPerformanceThreshold, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PerformanceThreshold message, length delimited. Does not implicitly {@link google.monitoring.v3.WindowsBasedSli.PerformanceThreshold.verify|verify} messages.
+ * @param message PerformanceThreshold message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.WindowsBasedSli.IPerformanceThreshold, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PerformanceThreshold message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PerformanceThreshold
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.WindowsBasedSli.PerformanceThreshold;
+
+ /**
+ * Decodes a PerformanceThreshold message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PerformanceThreshold
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.WindowsBasedSli.PerformanceThreshold;
+
+ /**
+ * Verifies a PerformanceThreshold message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PerformanceThreshold message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PerformanceThreshold
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.WindowsBasedSli.PerformanceThreshold;
+
+ /**
+ * Creates a plain object from a PerformanceThreshold message. Also converts values to other types if specified.
+ * @param message PerformanceThreshold
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.WindowsBasedSli.PerformanceThreshold, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PerformanceThreshold to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PerformanceThreshold
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MetricRange. */
+ interface IMetricRange {
+
+ /** MetricRange timeSeries */
+ timeSeries?: (string|null);
+
+ /** MetricRange range */
+ range?: (google.monitoring.v3.IRange|null);
+ }
+
+ /** Represents a MetricRange. */
+ class MetricRange implements IMetricRange {
+
+ /**
+ * Constructs a new MetricRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.WindowsBasedSli.IMetricRange);
+
+ /** MetricRange timeSeries. */
+ public timeSeries: string;
+
+ /** MetricRange range. */
+ public range?: (google.monitoring.v3.IRange|null);
+
+ /**
+ * Creates a new MetricRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetricRange instance
+ */
+ public static create(properties?: google.monitoring.v3.WindowsBasedSli.IMetricRange): google.monitoring.v3.WindowsBasedSli.MetricRange;
+
+ /**
+ * Encodes the specified MetricRange message. Does not implicitly {@link google.monitoring.v3.WindowsBasedSli.MetricRange.verify|verify} messages.
+ * @param message MetricRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.WindowsBasedSli.IMetricRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetricRange message, length delimited. Does not implicitly {@link google.monitoring.v3.WindowsBasedSli.MetricRange.verify|verify} messages.
+ * @param message MetricRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.WindowsBasedSli.IMetricRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetricRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetricRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.WindowsBasedSli.MetricRange;
+
+ /**
+ * Decodes a MetricRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetricRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.WindowsBasedSli.MetricRange;
+
+ /**
+ * Verifies a MetricRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MetricRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetricRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.WindowsBasedSli.MetricRange;
+
+ /**
+ * Creates a plain object from a MetricRange message. Also converts values to other types if specified.
+ * @param message MetricRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.WindowsBasedSli.MetricRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetricRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MetricRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Represents a ServiceMonitoringService */
+ class ServiceMonitoringService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ServiceMonitoringService 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 ServiceMonitoringService 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): ServiceMonitoringService;
+
+ /**
+ * Calls CreateService.
+ * @param request CreateServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public createService(request: google.monitoring.v3.ICreateServiceRequest, callback: google.monitoring.v3.ServiceMonitoringService.CreateServiceCallback): void;
+
+ /**
+ * Calls CreateService.
+ * @param request CreateServiceRequest message or plain object
+ * @returns Promise
+ */
+ public createService(request: google.monitoring.v3.ICreateServiceRequest): Promise;
+
+ /**
+ * Calls GetService.
+ * @param request GetServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public getService(request: google.monitoring.v3.IGetServiceRequest, callback: google.monitoring.v3.ServiceMonitoringService.GetServiceCallback): void;
+
+ /**
+ * Calls GetService.
+ * @param request GetServiceRequest message or plain object
+ * @returns Promise
+ */
+ public getService(request: google.monitoring.v3.IGetServiceRequest): Promise;
+
+ /**
+ * Calls ListServices.
+ * @param request ListServicesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListServicesResponse
+ */
+ public listServices(request: google.monitoring.v3.IListServicesRequest, callback: google.monitoring.v3.ServiceMonitoringService.ListServicesCallback): void;
+
+ /**
+ * Calls ListServices.
+ * @param request ListServicesRequest message or plain object
+ * @returns Promise
+ */
+ public listServices(request: google.monitoring.v3.IListServicesRequest): Promise;
+
+ /**
+ * Calls UpdateService.
+ * @param request UpdateServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public updateService(request: google.monitoring.v3.IUpdateServiceRequest, callback: google.monitoring.v3.ServiceMonitoringService.UpdateServiceCallback): void;
+
+ /**
+ * Calls UpdateService.
+ * @param request UpdateServiceRequest message or plain object
+ * @returns Promise
+ */
+ public updateService(request: google.monitoring.v3.IUpdateServiceRequest): Promise;
+
+ /**
+ * Calls DeleteService.
+ * @param request DeleteServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteService(request: google.monitoring.v3.IDeleteServiceRequest, callback: google.monitoring.v3.ServiceMonitoringService.DeleteServiceCallback): void;
+
+ /**
+ * Calls DeleteService.
+ * @param request DeleteServiceRequest message or plain object
+ * @returns Promise
+ */
+ public deleteService(request: google.monitoring.v3.IDeleteServiceRequest): Promise;
+
+ /**
+ * Calls CreateServiceLevelObjective.
+ * @param request CreateServiceLevelObjectiveRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServiceLevelObjective
+ */
+ public createServiceLevelObjective(request: google.monitoring.v3.ICreateServiceLevelObjectiveRequest, callback: google.monitoring.v3.ServiceMonitoringService.CreateServiceLevelObjectiveCallback): void;
+
+ /**
+ * Calls CreateServiceLevelObjective.
+ * @param request CreateServiceLevelObjectiveRequest message or plain object
+ * @returns Promise
+ */
+ public createServiceLevelObjective(request: google.monitoring.v3.ICreateServiceLevelObjectiveRequest): Promise;
+
+ /**
+ * Calls GetServiceLevelObjective.
+ * @param request GetServiceLevelObjectiveRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServiceLevelObjective
+ */
+ public getServiceLevelObjective(request: google.monitoring.v3.IGetServiceLevelObjectiveRequest, callback: google.monitoring.v3.ServiceMonitoringService.GetServiceLevelObjectiveCallback): void;
+
+ /**
+ * Calls GetServiceLevelObjective.
+ * @param request GetServiceLevelObjectiveRequest message or plain object
+ * @returns Promise
+ */
+ public getServiceLevelObjective(request: google.monitoring.v3.IGetServiceLevelObjectiveRequest): Promise;
+
+ /**
+ * Calls ListServiceLevelObjectives.
+ * @param request ListServiceLevelObjectivesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListServiceLevelObjectivesResponse
+ */
+ public listServiceLevelObjectives(request: google.monitoring.v3.IListServiceLevelObjectivesRequest, callback: google.monitoring.v3.ServiceMonitoringService.ListServiceLevelObjectivesCallback): void;
+
+ /**
+ * Calls ListServiceLevelObjectives.
+ * @param request ListServiceLevelObjectivesRequest message or plain object
+ * @returns Promise
+ */
+ public listServiceLevelObjectives(request: google.monitoring.v3.IListServiceLevelObjectivesRequest): Promise;
+
+ /**
+ * Calls UpdateServiceLevelObjective.
+ * @param request UpdateServiceLevelObjectiveRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ServiceLevelObjective
+ */
+ public updateServiceLevelObjective(request: google.monitoring.v3.IUpdateServiceLevelObjectiveRequest, callback: google.monitoring.v3.ServiceMonitoringService.UpdateServiceLevelObjectiveCallback): void;
+
+ /**
+ * Calls UpdateServiceLevelObjective.
+ * @param request UpdateServiceLevelObjectiveRequest message or plain object
+ * @returns Promise
+ */
+ public updateServiceLevelObjective(request: google.monitoring.v3.IUpdateServiceLevelObjectiveRequest): Promise;
+
+ /**
+ * Calls DeleteServiceLevelObjective.
+ * @param request DeleteServiceLevelObjectiveRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteServiceLevelObjective(request: google.monitoring.v3.IDeleteServiceLevelObjectiveRequest, callback: google.monitoring.v3.ServiceMonitoringService.DeleteServiceLevelObjectiveCallback): void;
+
+ /**
+ * Calls DeleteServiceLevelObjective.
+ * @param request DeleteServiceLevelObjectiveRequest message or plain object
+ * @returns Promise
+ */
+ public deleteServiceLevelObjective(request: google.monitoring.v3.IDeleteServiceLevelObjectiveRequest): Promise;
+ }
+
+ namespace ServiceMonitoringService {
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|createService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type CreateServiceCallback = (error: (Error|null), response?: google.monitoring.v3.Service) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|getService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type GetServiceCallback = (error: (Error|null), response?: google.monitoring.v3.Service) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|listServices}.
+ * @param error Error, if any
+ * @param [response] ListServicesResponse
+ */
+ type ListServicesCallback = (error: (Error|null), response?: google.monitoring.v3.ListServicesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|updateService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type UpdateServiceCallback = (error: (Error|null), response?: google.monitoring.v3.Service) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|deleteService}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteServiceCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|createServiceLevelObjective}.
+ * @param error Error, if any
+ * @param [response] ServiceLevelObjective
+ */
+ type CreateServiceLevelObjectiveCallback = (error: (Error|null), response?: google.monitoring.v3.ServiceLevelObjective) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|getServiceLevelObjective}.
+ * @param error Error, if any
+ * @param [response] ServiceLevelObjective
+ */
+ type GetServiceLevelObjectiveCallback = (error: (Error|null), response?: google.monitoring.v3.ServiceLevelObjective) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|listServiceLevelObjectives}.
+ * @param error Error, if any
+ * @param [response] ListServiceLevelObjectivesResponse
+ */
+ type ListServiceLevelObjectivesCallback = (error: (Error|null), response?: google.monitoring.v3.ListServiceLevelObjectivesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|updateServiceLevelObjective}.
+ * @param error Error, if any
+ * @param [response] ServiceLevelObjective
+ */
+ type UpdateServiceLevelObjectiveCallback = (error: (Error|null), response?: google.monitoring.v3.ServiceLevelObjective) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.ServiceMonitoringService|deleteServiceLevelObjective}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteServiceLevelObjectiveCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a CreateServiceRequest. */
+ interface ICreateServiceRequest {
+
+ /** CreateServiceRequest parent */
+ parent?: (string|null);
+
+ /** CreateServiceRequest serviceId */
+ serviceId?: (string|null);
+
+ /** CreateServiceRequest service */
+ service?: (google.monitoring.v3.IService|null);
+ }
+
+ /** Represents a CreateServiceRequest. */
+ class CreateServiceRequest implements ICreateServiceRequest {
+
+ /**
+ * Constructs a new CreateServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateServiceRequest);
+
+ /** CreateServiceRequest parent. */
+ public parent: string;
+
+ /** CreateServiceRequest serviceId. */
+ public serviceId: string;
+
+ /** CreateServiceRequest service. */
+ public service?: (google.monitoring.v3.IService|null);
+
+ /**
+ * Creates a new CreateServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateServiceRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateServiceRequest): google.monitoring.v3.CreateServiceRequest;
+
+ /**
+ * Encodes the specified CreateServiceRequest message. Does not implicitly {@link google.monitoring.v3.CreateServiceRequest.verify|verify} messages.
+ * @param message CreateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateServiceRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateServiceRequest.verify|verify} messages.
+ * @param message CreateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateServiceRequest;
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateServiceRequest;
+
+ /**
+ * Verifies a CreateServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateServiceRequest;
+
+ /**
+ * Creates a plain object from a CreateServiceRequest message. Also converts values to other types if specified.
+ * @param message CreateServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetServiceRequest. */
+ interface IGetServiceRequest {
+
+ /** GetServiceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetServiceRequest. */
+ class GetServiceRequest implements IGetServiceRequest {
+
+ /**
+ * Constructs a new GetServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetServiceRequest);
+
+ /** GetServiceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetServiceRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetServiceRequest): google.monitoring.v3.GetServiceRequest;
+
+ /**
+ * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.monitoring.v3.GetServiceRequest.verify|verify} messages.
+ * @param message GetServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetServiceRequest.verify|verify} messages.
+ * @param message GetServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetServiceRequest;
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetServiceRequest;
+
+ /**
+ * Verifies a GetServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetServiceRequest;
+
+ /**
+ * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified.
+ * @param message GetServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServicesRequest. */
+ interface IListServicesRequest {
+
+ /** ListServicesRequest parent */
+ parent?: (string|null);
+
+ /** ListServicesRequest filter */
+ filter?: (string|null);
+
+ /** ListServicesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListServicesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListServicesRequest. */
+ class ListServicesRequest implements IListServicesRequest {
+
+ /**
+ * Constructs a new ListServicesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListServicesRequest);
+
+ /** ListServicesRequest parent. */
+ public parent: string;
+
+ /** ListServicesRequest filter. */
+ public filter: string;
+
+ /** ListServicesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListServicesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListServicesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServicesRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListServicesRequest): google.monitoring.v3.ListServicesRequest;
+
+ /**
+ * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.monitoring.v3.ListServicesRequest.verify|verify} messages.
+ * @param message ListServicesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListServicesRequest.verify|verify} messages.
+ * @param message ListServicesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListServicesRequest;
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListServicesRequest;
+
+ /**
+ * Verifies a ListServicesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServicesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListServicesRequest;
+
+ /**
+ * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified.
+ * @param message ListServicesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServicesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServicesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServicesResponse. */
+ interface IListServicesResponse {
+
+ /** ListServicesResponse services */
+ services?: (google.monitoring.v3.IService[]|null);
+
+ /** ListServicesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListServicesResponse. */
+ class ListServicesResponse implements IListServicesResponse {
+
+ /**
+ * Constructs a new ListServicesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListServicesResponse);
+
+ /** ListServicesResponse services. */
+ public services: google.monitoring.v3.IService[];
+
+ /** ListServicesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListServicesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServicesResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListServicesResponse): google.monitoring.v3.ListServicesResponse;
+
+ /**
+ * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.monitoring.v3.ListServicesResponse.verify|verify} messages.
+ * @param message ListServicesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListServicesResponse.verify|verify} messages.
+ * @param message ListServicesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListServicesResponse;
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListServicesResponse;
+
+ /**
+ * Verifies a ListServicesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServicesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListServicesResponse;
+
+ /**
+ * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified.
+ * @param message ListServicesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListServicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServicesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServicesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateServiceRequest. */
+ interface IUpdateServiceRequest {
+
+ /** UpdateServiceRequest service */
+ service?: (google.monitoring.v3.IService|null);
+
+ /** UpdateServiceRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateServiceRequest. */
+ class UpdateServiceRequest implements IUpdateServiceRequest {
+
+ /**
+ * Constructs a new UpdateServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUpdateServiceRequest);
+
+ /** UpdateServiceRequest service. */
+ public service?: (google.monitoring.v3.IService|null);
+
+ /** UpdateServiceRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateServiceRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IUpdateServiceRequest): google.monitoring.v3.UpdateServiceRequest;
+
+ /**
+ * Encodes the specified UpdateServiceRequest message. Does not implicitly {@link google.monitoring.v3.UpdateServiceRequest.verify|verify} messages.
+ * @param message UpdateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUpdateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateServiceRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateServiceRequest.verify|verify} messages.
+ * @param message UpdateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUpdateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UpdateServiceRequest;
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UpdateServiceRequest;
+
+ /**
+ * Verifies an UpdateServiceRequest message.
+ * @param message Plain 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 UpdateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UpdateServiceRequest;
+
+ /**
+ * Creates a plain object from an UpdateServiceRequest message. Also converts values to other types if specified.
+ * @param message UpdateServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UpdateServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteServiceRequest. */
+ interface IDeleteServiceRequest {
+
+ /** DeleteServiceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteServiceRequest. */
+ class DeleteServiceRequest implements IDeleteServiceRequest {
+
+ /**
+ * Constructs a new DeleteServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDeleteServiceRequest);
+
+ /** DeleteServiceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteServiceRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IDeleteServiceRequest): google.monitoring.v3.DeleteServiceRequest;
+
+ /**
+ * Encodes the specified DeleteServiceRequest message. Does not implicitly {@link google.monitoring.v3.DeleteServiceRequest.verify|verify} messages.
+ * @param message DeleteServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDeleteServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteServiceRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteServiceRequest.verify|verify} messages.
+ * @param message DeleteServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDeleteServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DeleteServiceRequest;
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DeleteServiceRequest;
+
+ /**
+ * Verifies a DeleteServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DeleteServiceRequest;
+
+ /**
+ * Creates a plain object from a DeleteServiceRequest message. Also converts values to other types if specified.
+ * @param message DeleteServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DeleteServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateServiceLevelObjectiveRequest. */
+ interface ICreateServiceLevelObjectiveRequest {
+
+ /** CreateServiceLevelObjectiveRequest parent */
+ parent?: (string|null);
+
+ /** CreateServiceLevelObjectiveRequest serviceLevelObjectiveId */
+ serviceLevelObjectiveId?: (string|null);
+
+ /** CreateServiceLevelObjectiveRequest serviceLevelObjective */
+ serviceLevelObjective?: (google.monitoring.v3.IServiceLevelObjective|null);
+ }
+
+ /** Represents a CreateServiceLevelObjectiveRequest. */
+ class CreateServiceLevelObjectiveRequest implements ICreateServiceLevelObjectiveRequest {
+
+ /**
+ * Constructs a new CreateServiceLevelObjectiveRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateServiceLevelObjectiveRequest);
+
+ /** CreateServiceLevelObjectiveRequest parent. */
+ public parent: string;
+
+ /** CreateServiceLevelObjectiveRequest serviceLevelObjectiveId. */
+ public serviceLevelObjectiveId: string;
+
+ /** CreateServiceLevelObjectiveRequest serviceLevelObjective. */
+ public serviceLevelObjective?: (google.monitoring.v3.IServiceLevelObjective|null);
+
+ /**
+ * Creates a new CreateServiceLevelObjectiveRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateServiceLevelObjectiveRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateServiceLevelObjectiveRequest): google.monitoring.v3.CreateServiceLevelObjectiveRequest;
+
+ /**
+ * Encodes the specified CreateServiceLevelObjectiveRequest message. Does not implicitly {@link google.monitoring.v3.CreateServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message CreateServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateServiceLevelObjectiveRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message CreateServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateServiceLevelObjectiveRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateServiceLevelObjectiveRequest;
+
+ /**
+ * Decodes a CreateServiceLevelObjectiveRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateServiceLevelObjectiveRequest;
+
+ /**
+ * Verifies a CreateServiceLevelObjectiveRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateServiceLevelObjectiveRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateServiceLevelObjectiveRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateServiceLevelObjectiveRequest;
+
+ /**
+ * Creates a plain object from a CreateServiceLevelObjectiveRequest message. Also converts values to other types if specified.
+ * @param message CreateServiceLevelObjectiveRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateServiceLevelObjectiveRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateServiceLevelObjectiveRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateServiceLevelObjectiveRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetServiceLevelObjectiveRequest. */
+ interface IGetServiceLevelObjectiveRequest {
+
+ /** GetServiceLevelObjectiveRequest name */
+ name?: (string|null);
+
+ /** GetServiceLevelObjectiveRequest view */
+ view?: (google.monitoring.v3.ServiceLevelObjective.View|keyof typeof google.monitoring.v3.ServiceLevelObjective.View|null);
+ }
+
+ /** Represents a GetServiceLevelObjectiveRequest. */
+ class GetServiceLevelObjectiveRequest implements IGetServiceLevelObjectiveRequest {
+
+ /**
+ * Constructs a new GetServiceLevelObjectiveRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetServiceLevelObjectiveRequest);
+
+ /** GetServiceLevelObjectiveRequest name. */
+ public name: string;
+
+ /** GetServiceLevelObjectiveRequest view. */
+ public view: (google.monitoring.v3.ServiceLevelObjective.View|keyof typeof google.monitoring.v3.ServiceLevelObjective.View);
+
+ /**
+ * Creates a new GetServiceLevelObjectiveRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetServiceLevelObjectiveRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetServiceLevelObjectiveRequest): google.monitoring.v3.GetServiceLevelObjectiveRequest;
+
+ /**
+ * Encodes the specified GetServiceLevelObjectiveRequest message. Does not implicitly {@link google.monitoring.v3.GetServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message GetServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetServiceLevelObjectiveRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message GetServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetServiceLevelObjectiveRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetServiceLevelObjectiveRequest;
+
+ /**
+ * Decodes a GetServiceLevelObjectiveRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetServiceLevelObjectiveRequest;
+
+ /**
+ * Verifies a GetServiceLevelObjectiveRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetServiceLevelObjectiveRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetServiceLevelObjectiveRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetServiceLevelObjectiveRequest;
+
+ /**
+ * Creates a plain object from a GetServiceLevelObjectiveRequest message. Also converts values to other types if specified.
+ * @param message GetServiceLevelObjectiveRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetServiceLevelObjectiveRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetServiceLevelObjectiveRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetServiceLevelObjectiveRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServiceLevelObjectivesRequest. */
+ interface IListServiceLevelObjectivesRequest {
+
+ /** ListServiceLevelObjectivesRequest parent */
+ parent?: (string|null);
+
+ /** ListServiceLevelObjectivesRequest filter */
+ filter?: (string|null);
+
+ /** ListServiceLevelObjectivesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListServiceLevelObjectivesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListServiceLevelObjectivesRequest view */
+ view?: (google.monitoring.v3.ServiceLevelObjective.View|keyof typeof google.monitoring.v3.ServiceLevelObjective.View|null);
+ }
+
+ /** Represents a ListServiceLevelObjectivesRequest. */
+ class ListServiceLevelObjectivesRequest implements IListServiceLevelObjectivesRequest {
+
+ /**
+ * Constructs a new ListServiceLevelObjectivesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListServiceLevelObjectivesRequest);
+
+ /** ListServiceLevelObjectivesRequest parent. */
+ public parent: string;
+
+ /** ListServiceLevelObjectivesRequest filter. */
+ public filter: string;
+
+ /** ListServiceLevelObjectivesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListServiceLevelObjectivesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListServiceLevelObjectivesRequest view. */
+ public view: (google.monitoring.v3.ServiceLevelObjective.View|keyof typeof google.monitoring.v3.ServiceLevelObjective.View);
+
+ /**
+ * Creates a new ListServiceLevelObjectivesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServiceLevelObjectivesRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListServiceLevelObjectivesRequest): google.monitoring.v3.ListServiceLevelObjectivesRequest;
+
+ /**
+ * Encodes the specified ListServiceLevelObjectivesRequest message. Does not implicitly {@link google.monitoring.v3.ListServiceLevelObjectivesRequest.verify|verify} messages.
+ * @param message ListServiceLevelObjectivesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListServiceLevelObjectivesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServiceLevelObjectivesRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListServiceLevelObjectivesRequest.verify|verify} messages.
+ * @param message ListServiceLevelObjectivesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListServiceLevelObjectivesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServiceLevelObjectivesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServiceLevelObjectivesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListServiceLevelObjectivesRequest;
+
+ /**
+ * Decodes a ListServiceLevelObjectivesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServiceLevelObjectivesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListServiceLevelObjectivesRequest;
+
+ /**
+ * Verifies a ListServiceLevelObjectivesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServiceLevelObjectivesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServiceLevelObjectivesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListServiceLevelObjectivesRequest;
+
+ /**
+ * Creates a plain object from a ListServiceLevelObjectivesRequest message. Also converts values to other types if specified.
+ * @param message ListServiceLevelObjectivesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListServiceLevelObjectivesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServiceLevelObjectivesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServiceLevelObjectivesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServiceLevelObjectivesResponse. */
+ interface IListServiceLevelObjectivesResponse {
+
+ /** ListServiceLevelObjectivesResponse serviceLevelObjectives */
+ serviceLevelObjectives?: (google.monitoring.v3.IServiceLevelObjective[]|null);
+
+ /** ListServiceLevelObjectivesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListServiceLevelObjectivesResponse. */
+ class ListServiceLevelObjectivesResponse implements IListServiceLevelObjectivesResponse {
+
+ /**
+ * Constructs a new ListServiceLevelObjectivesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListServiceLevelObjectivesResponse);
+
+ /** ListServiceLevelObjectivesResponse serviceLevelObjectives. */
+ public serviceLevelObjectives: google.monitoring.v3.IServiceLevelObjective[];
+
+ /** ListServiceLevelObjectivesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListServiceLevelObjectivesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServiceLevelObjectivesResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListServiceLevelObjectivesResponse): google.monitoring.v3.ListServiceLevelObjectivesResponse;
+
+ /**
+ * Encodes the specified ListServiceLevelObjectivesResponse message. Does not implicitly {@link google.monitoring.v3.ListServiceLevelObjectivesResponse.verify|verify} messages.
+ * @param message ListServiceLevelObjectivesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListServiceLevelObjectivesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServiceLevelObjectivesResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListServiceLevelObjectivesResponse.verify|verify} messages.
+ * @param message ListServiceLevelObjectivesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListServiceLevelObjectivesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServiceLevelObjectivesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServiceLevelObjectivesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListServiceLevelObjectivesResponse;
+
+ /**
+ * Decodes a ListServiceLevelObjectivesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServiceLevelObjectivesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListServiceLevelObjectivesResponse;
+
+ /**
+ * Verifies a ListServiceLevelObjectivesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServiceLevelObjectivesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServiceLevelObjectivesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListServiceLevelObjectivesResponse;
+
+ /**
+ * Creates a plain object from a ListServiceLevelObjectivesResponse message. Also converts values to other types if specified.
+ * @param message ListServiceLevelObjectivesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListServiceLevelObjectivesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServiceLevelObjectivesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServiceLevelObjectivesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateServiceLevelObjectiveRequest. */
+ interface IUpdateServiceLevelObjectiveRequest {
+
+ /** UpdateServiceLevelObjectiveRequest serviceLevelObjective */
+ serviceLevelObjective?: (google.monitoring.v3.IServiceLevelObjective|null);
+
+ /** UpdateServiceLevelObjectiveRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateServiceLevelObjectiveRequest. */
+ class UpdateServiceLevelObjectiveRequest implements IUpdateServiceLevelObjectiveRequest {
+
+ /**
+ * Constructs a new UpdateServiceLevelObjectiveRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUpdateServiceLevelObjectiveRequest);
+
+ /** UpdateServiceLevelObjectiveRequest serviceLevelObjective. */
+ public serviceLevelObjective?: (google.monitoring.v3.IServiceLevelObjective|null);
+
+ /** UpdateServiceLevelObjectiveRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateServiceLevelObjectiveRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateServiceLevelObjectiveRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IUpdateServiceLevelObjectiveRequest): google.monitoring.v3.UpdateServiceLevelObjectiveRequest;
+
+ /**
+ * Encodes the specified UpdateServiceLevelObjectiveRequest message. Does not implicitly {@link google.monitoring.v3.UpdateServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message UpdateServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUpdateServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateServiceLevelObjectiveRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message UpdateServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUpdateServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateServiceLevelObjectiveRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UpdateServiceLevelObjectiveRequest;
+
+ /**
+ * Decodes an UpdateServiceLevelObjectiveRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UpdateServiceLevelObjectiveRequest;
+
+ /**
+ * Verifies an UpdateServiceLevelObjectiveRequest message.
+ * @param message Plain 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 UpdateServiceLevelObjectiveRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateServiceLevelObjectiveRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UpdateServiceLevelObjectiveRequest;
+
+ /**
+ * Creates a plain object from an UpdateServiceLevelObjectiveRequest message. Also converts values to other types if specified.
+ * @param message UpdateServiceLevelObjectiveRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UpdateServiceLevelObjectiveRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateServiceLevelObjectiveRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateServiceLevelObjectiveRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteServiceLevelObjectiveRequest. */
+ interface IDeleteServiceLevelObjectiveRequest {
+
+ /** DeleteServiceLevelObjectiveRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteServiceLevelObjectiveRequest. */
+ class DeleteServiceLevelObjectiveRequest implements IDeleteServiceLevelObjectiveRequest {
+
+ /**
+ * Constructs a new DeleteServiceLevelObjectiveRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDeleteServiceLevelObjectiveRequest);
+
+ /** DeleteServiceLevelObjectiveRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteServiceLevelObjectiveRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteServiceLevelObjectiveRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IDeleteServiceLevelObjectiveRequest): google.monitoring.v3.DeleteServiceLevelObjectiveRequest;
+
+ /**
+ * Encodes the specified DeleteServiceLevelObjectiveRequest message. Does not implicitly {@link google.monitoring.v3.DeleteServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message DeleteServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDeleteServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteServiceLevelObjectiveRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteServiceLevelObjectiveRequest.verify|verify} messages.
+ * @param message DeleteServiceLevelObjectiveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDeleteServiceLevelObjectiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteServiceLevelObjectiveRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DeleteServiceLevelObjectiveRequest;
+
+ /**
+ * Decodes a DeleteServiceLevelObjectiveRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteServiceLevelObjectiveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DeleteServiceLevelObjectiveRequest;
+
+ /**
+ * Verifies a DeleteServiceLevelObjectiveRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteServiceLevelObjectiveRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteServiceLevelObjectiveRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DeleteServiceLevelObjectiveRequest;
+
+ /**
+ * Creates a plain object from a DeleteServiceLevelObjectiveRequest message. Also converts values to other types if specified.
+ * @param message DeleteServiceLevelObjectiveRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DeleteServiceLevelObjectiveRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteServiceLevelObjectiveRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteServiceLevelObjectiveRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SpanContext. */
+ interface ISpanContext {
+
+ /** SpanContext spanName */
+ spanName?: (string|null);
+ }
+
+ /** Represents a SpanContext. */
+ class SpanContext implements ISpanContext {
+
+ /**
+ * Constructs a new SpanContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ISpanContext);
+
+ /** SpanContext spanName. */
+ public spanName: string;
+
+ /**
+ * Creates a new SpanContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SpanContext instance
+ */
+ public static create(properties?: google.monitoring.v3.ISpanContext): google.monitoring.v3.SpanContext;
+
+ /**
+ * Encodes the specified SpanContext message. Does not implicitly {@link google.monitoring.v3.SpanContext.verify|verify} messages.
+ * @param message SpanContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ISpanContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SpanContext message, length delimited. Does not implicitly {@link google.monitoring.v3.SpanContext.verify|verify} messages.
+ * @param message SpanContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ISpanContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SpanContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SpanContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.SpanContext;
+
+ /**
+ * Decodes a SpanContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SpanContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.SpanContext;
+
+ /**
+ * Verifies a SpanContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SpanContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SpanContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.SpanContext;
+
+ /**
+ * Creates a plain object from a SpanContext message. Also converts values to other types if specified.
+ * @param message SpanContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.SpanContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SpanContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SpanContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** UptimeCheckRegion enum. */
+ enum UptimeCheckRegion {
+ REGION_UNSPECIFIED = 0,
+ USA = 1,
+ EUROPE = 2,
+ SOUTH_AMERICA = 3,
+ ASIA_PACIFIC = 4
+ }
+
+ /** Properties of an InternalChecker. */
+ interface IInternalChecker {
+
+ /** InternalChecker name */
+ name?: (string|null);
+
+ /** InternalChecker displayName */
+ displayName?: (string|null);
+
+ /** InternalChecker network */
+ network?: (string|null);
+
+ /** InternalChecker gcpZone */
+ gcpZone?: (string|null);
+
+ /** InternalChecker peerProjectId */
+ peerProjectId?: (string|null);
+
+ /** InternalChecker state */
+ state?: (google.monitoring.v3.InternalChecker.State|keyof typeof google.monitoring.v3.InternalChecker.State|null);
+ }
+
+ /** Represents an InternalChecker. */
+ class InternalChecker implements IInternalChecker {
+
+ /**
+ * Constructs a new InternalChecker.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IInternalChecker);
+
+ /** InternalChecker name. */
+ public name: string;
+
+ /** InternalChecker displayName. */
+ public displayName: string;
+
+ /** InternalChecker network. */
+ public network: string;
+
+ /** InternalChecker gcpZone. */
+ public gcpZone: string;
+
+ /** InternalChecker peerProjectId. */
+ public peerProjectId: string;
+
+ /** InternalChecker state. */
+ public state: (google.monitoring.v3.InternalChecker.State|keyof typeof google.monitoring.v3.InternalChecker.State);
+
+ /**
+ * Creates a new InternalChecker instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InternalChecker instance
+ */
+ public static create(properties?: google.monitoring.v3.IInternalChecker): google.monitoring.v3.InternalChecker;
+
+ /**
+ * Encodes the specified InternalChecker message. Does not implicitly {@link google.monitoring.v3.InternalChecker.verify|verify} messages.
+ * @param message InternalChecker message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IInternalChecker, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InternalChecker message, length delimited. Does not implicitly {@link google.monitoring.v3.InternalChecker.verify|verify} messages.
+ * @param message InternalChecker message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IInternalChecker, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InternalChecker message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InternalChecker
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.InternalChecker;
+
+ /**
+ * Decodes an InternalChecker message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InternalChecker
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.InternalChecker;
+
+ /**
+ * Verifies an InternalChecker message.
+ * @param message Plain 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 InternalChecker message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InternalChecker
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.InternalChecker;
+
+ /**
+ * Creates a plain object from an InternalChecker message. Also converts values to other types if specified.
+ * @param message InternalChecker
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.InternalChecker, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InternalChecker to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for InternalChecker
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace InternalChecker {
+
+ /** State enum. */
+ enum State {
+ UNSPECIFIED = 0,
+ CREATING = 1,
+ RUNNING = 2
+ }
+ }
+
+ /** Properties of an UptimeCheckConfig. */
+ interface IUptimeCheckConfig {
+
+ /** UptimeCheckConfig name */
+ name?: (string|null);
+
+ /** UptimeCheckConfig displayName */
+ displayName?: (string|null);
+
+ /** UptimeCheckConfig monitoredResource */
+ monitoredResource?: (google.api.IMonitoredResource|null);
+
+ /** UptimeCheckConfig resourceGroup */
+ resourceGroup?: (google.monitoring.v3.UptimeCheckConfig.IResourceGroup|null);
+
+ /** UptimeCheckConfig httpCheck */
+ httpCheck?: (google.monitoring.v3.UptimeCheckConfig.IHttpCheck|null);
+
+ /** UptimeCheckConfig tcpCheck */
+ tcpCheck?: (google.monitoring.v3.UptimeCheckConfig.ITcpCheck|null);
+
+ /** UptimeCheckConfig period */
+ period?: (google.protobuf.IDuration|null);
+
+ /** UptimeCheckConfig timeout */
+ timeout?: (google.protobuf.IDuration|null);
+
+ /** UptimeCheckConfig contentMatchers */
+ contentMatchers?: (google.monitoring.v3.UptimeCheckConfig.IContentMatcher[]|null);
+
+ /** UptimeCheckConfig selectedRegions */
+ selectedRegions?: (google.monitoring.v3.UptimeCheckRegion[]|null);
+
+ /** UptimeCheckConfig isInternal */
+ isInternal?: (boolean|null);
+
+ /** UptimeCheckConfig internalCheckers */
+ internalCheckers?: (google.monitoring.v3.IInternalChecker[]|null);
+ }
+
+ /** Represents an UptimeCheckConfig. */
+ class UptimeCheckConfig implements IUptimeCheckConfig {
+
+ /**
+ * Constructs a new UptimeCheckConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUptimeCheckConfig);
+
+ /** UptimeCheckConfig name. */
+ public name: string;
+
+ /** UptimeCheckConfig displayName. */
+ public displayName: string;
+
+ /** UptimeCheckConfig monitoredResource. */
+ public monitoredResource?: (google.api.IMonitoredResource|null);
+
+ /** UptimeCheckConfig resourceGroup. */
+ public resourceGroup?: (google.monitoring.v3.UptimeCheckConfig.IResourceGroup|null);
+
+ /** UptimeCheckConfig httpCheck. */
+ public httpCheck?: (google.monitoring.v3.UptimeCheckConfig.IHttpCheck|null);
+
+ /** UptimeCheckConfig tcpCheck. */
+ public tcpCheck?: (google.monitoring.v3.UptimeCheckConfig.ITcpCheck|null);
+
+ /** UptimeCheckConfig period. */
+ public period?: (google.protobuf.IDuration|null);
+
+ /** UptimeCheckConfig timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /** UptimeCheckConfig contentMatchers. */
+ public contentMatchers: google.monitoring.v3.UptimeCheckConfig.IContentMatcher[];
+
+ /** UptimeCheckConfig selectedRegions. */
+ public selectedRegions: google.monitoring.v3.UptimeCheckRegion[];
+
+ /** UptimeCheckConfig isInternal. */
+ public isInternal: boolean;
+
+ /** UptimeCheckConfig internalCheckers. */
+ public internalCheckers: google.monitoring.v3.IInternalChecker[];
+
+ /** UptimeCheckConfig resource. */
+ public resource?: ("monitoredResource"|"resourceGroup");
+
+ /** UptimeCheckConfig checkRequestType. */
+ public checkRequestType?: ("httpCheck"|"tcpCheck");
+
+ /**
+ * Creates a new UptimeCheckConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UptimeCheckConfig instance
+ */
+ public static create(properties?: google.monitoring.v3.IUptimeCheckConfig): google.monitoring.v3.UptimeCheckConfig;
+
+ /**
+ * Encodes the specified UptimeCheckConfig message. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.verify|verify} messages.
+ * @param message UptimeCheckConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUptimeCheckConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UptimeCheckConfig message, length delimited. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.verify|verify} messages.
+ * @param message UptimeCheckConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUptimeCheckConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UptimeCheckConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UptimeCheckConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UptimeCheckConfig;
+
+ /**
+ * Decodes an UptimeCheckConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UptimeCheckConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UptimeCheckConfig;
+
+ /**
+ * Verifies an UptimeCheckConfig message.
+ * @param message Plain 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 UptimeCheckConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UptimeCheckConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UptimeCheckConfig;
+
+ /**
+ * Creates a plain object from an UptimeCheckConfig message. Also converts values to other types if specified.
+ * @param message UptimeCheckConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UptimeCheckConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UptimeCheckConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UptimeCheckConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UptimeCheckConfig {
+
+ /** Properties of a ResourceGroup. */
+ interface IResourceGroup {
+
+ /** ResourceGroup groupId */
+ groupId?: (string|null);
+
+ /** ResourceGroup resourceType */
+ resourceType?: (google.monitoring.v3.GroupResourceType|keyof typeof google.monitoring.v3.GroupResourceType|null);
+ }
+
+ /** Represents a ResourceGroup. */
+ class ResourceGroup implements IResourceGroup {
+
+ /**
+ * Constructs a new ResourceGroup.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.UptimeCheckConfig.IResourceGroup);
+
+ /** ResourceGroup groupId. */
+ public groupId: string;
+
+ /** ResourceGroup resourceType. */
+ public resourceType: (google.monitoring.v3.GroupResourceType|keyof typeof google.monitoring.v3.GroupResourceType);
+
+ /**
+ * Creates a new ResourceGroup instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceGroup instance
+ */
+ public static create(properties?: google.monitoring.v3.UptimeCheckConfig.IResourceGroup): google.monitoring.v3.UptimeCheckConfig.ResourceGroup;
+
+ /**
+ * Encodes the specified ResourceGroup message. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.ResourceGroup.verify|verify} messages.
+ * @param message ResourceGroup message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.UptimeCheckConfig.IResourceGroup, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceGroup message, length delimited. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.ResourceGroup.verify|verify} messages.
+ * @param message ResourceGroup message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.UptimeCheckConfig.IResourceGroup, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceGroup message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceGroup
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UptimeCheckConfig.ResourceGroup;
+
+ /**
+ * Decodes a ResourceGroup message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceGroup
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UptimeCheckConfig.ResourceGroup;
+
+ /**
+ * Verifies a ResourceGroup message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceGroup message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceGroup
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UptimeCheckConfig.ResourceGroup;
+
+ /**
+ * Creates a plain object from a ResourceGroup message. Also converts values to other types if specified.
+ * @param message ResourceGroup
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UptimeCheckConfig.ResourceGroup, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceGroup to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceGroup
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpCheck. */
+ interface IHttpCheck {
+
+ /** HttpCheck requestMethod */
+ requestMethod?: (google.monitoring.v3.UptimeCheckConfig.HttpCheck.RequestMethod|keyof typeof google.monitoring.v3.UptimeCheckConfig.HttpCheck.RequestMethod|null);
+
+ /** HttpCheck useSsl */
+ useSsl?: (boolean|null);
+
+ /** HttpCheck path */
+ path?: (string|null);
+
+ /** HttpCheck port */
+ port?: (number|null);
+
+ /** HttpCheck authInfo */
+ authInfo?: (google.monitoring.v3.UptimeCheckConfig.HttpCheck.IBasicAuthentication|null);
+
+ /** HttpCheck maskHeaders */
+ maskHeaders?: (boolean|null);
+
+ /** HttpCheck headers */
+ headers?: ({ [k: string]: string }|null);
+
+ /** HttpCheck contentType */
+ contentType?: (google.monitoring.v3.UptimeCheckConfig.HttpCheck.ContentType|keyof typeof google.monitoring.v3.UptimeCheckConfig.HttpCheck.ContentType|null);
+
+ /** HttpCheck validateSsl */
+ validateSsl?: (boolean|null);
+
+ /** HttpCheck body */
+ body?: (Uint8Array|string|null);
+ }
+
+ /** Represents a HttpCheck. */
+ class HttpCheck implements IHttpCheck {
+
+ /**
+ * Constructs a new HttpCheck.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.UptimeCheckConfig.IHttpCheck);
+
+ /** HttpCheck requestMethod. */
+ public requestMethod: (google.monitoring.v3.UptimeCheckConfig.HttpCheck.RequestMethod|keyof typeof google.monitoring.v3.UptimeCheckConfig.HttpCheck.RequestMethod);
+
+ /** HttpCheck useSsl. */
+ public useSsl: boolean;
+
+ /** HttpCheck path. */
+ public path: string;
+
+ /** HttpCheck port. */
+ public port: number;
+
+ /** HttpCheck authInfo. */
+ public authInfo?: (google.monitoring.v3.UptimeCheckConfig.HttpCheck.IBasicAuthentication|null);
+
+ /** HttpCheck maskHeaders. */
+ public maskHeaders: boolean;
+
+ /** HttpCheck headers. */
+ public headers: { [k: string]: string };
+
+ /** HttpCheck contentType. */
+ public contentType: (google.monitoring.v3.UptimeCheckConfig.HttpCheck.ContentType|keyof typeof google.monitoring.v3.UptimeCheckConfig.HttpCheck.ContentType);
+
+ /** HttpCheck validateSsl. */
+ public validateSsl: boolean;
+
+ /** HttpCheck body. */
+ public body: (Uint8Array|string);
+
+ /**
+ * Creates a new HttpCheck instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpCheck instance
+ */
+ public static create(properties?: google.monitoring.v3.UptimeCheckConfig.IHttpCheck): google.monitoring.v3.UptimeCheckConfig.HttpCheck;
+
+ /**
+ * Encodes the specified HttpCheck message. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.HttpCheck.verify|verify} messages.
+ * @param message HttpCheck message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.UptimeCheckConfig.IHttpCheck, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpCheck message, length delimited. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.HttpCheck.verify|verify} messages.
+ * @param message HttpCheck message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.UptimeCheckConfig.IHttpCheck, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpCheck message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpCheck
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UptimeCheckConfig.HttpCheck;
+
+ /**
+ * Decodes a HttpCheck message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpCheck
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UptimeCheckConfig.HttpCheck;
+
+ /**
+ * Verifies a HttpCheck message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpCheck message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpCheck
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UptimeCheckConfig.HttpCheck;
+
+ /**
+ * Creates a plain object from a HttpCheck message. Also converts values to other types if specified.
+ * @param message HttpCheck
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UptimeCheckConfig.HttpCheck, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpCheck to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpCheck
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace HttpCheck {
+
+ /** Properties of a BasicAuthentication. */
+ interface IBasicAuthentication {
+
+ /** BasicAuthentication username */
+ username?: (string|null);
+
+ /** BasicAuthentication password */
+ password?: (string|null);
+ }
+
+ /** Represents a BasicAuthentication. */
+ class BasicAuthentication implements IBasicAuthentication {
+
+ /**
+ * Constructs a new BasicAuthentication.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.UptimeCheckConfig.HttpCheck.IBasicAuthentication);
+
+ /** BasicAuthentication username. */
+ public username: string;
+
+ /** BasicAuthentication password. */
+ public password: string;
+
+ /**
+ * Creates a new BasicAuthentication instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BasicAuthentication instance
+ */
+ public static create(properties?: google.monitoring.v3.UptimeCheckConfig.HttpCheck.IBasicAuthentication): google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication;
+
+ /**
+ * Encodes the specified BasicAuthentication message. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication.verify|verify} messages.
+ * @param message BasicAuthentication message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.UptimeCheckConfig.HttpCheck.IBasicAuthentication, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BasicAuthentication message, length delimited. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication.verify|verify} messages.
+ * @param message BasicAuthentication message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.UptimeCheckConfig.HttpCheck.IBasicAuthentication, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BasicAuthentication message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BasicAuthentication
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication;
+
+ /**
+ * Decodes a BasicAuthentication message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BasicAuthentication
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication;
+
+ /**
+ * Verifies a BasicAuthentication message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BasicAuthentication message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BasicAuthentication
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication;
+
+ /**
+ * Creates a plain object from a BasicAuthentication message. Also converts values to other types if specified.
+ * @param message BasicAuthentication
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UptimeCheckConfig.HttpCheck.BasicAuthentication, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BasicAuthentication to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BasicAuthentication
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** RequestMethod enum. */
+ enum RequestMethod {
+ METHOD_UNSPECIFIED = 0,
+ GET = 1,
+ POST = 2
+ }
+
+ /** ContentType enum. */
+ enum ContentType {
+ TYPE_UNSPECIFIED = 0,
+ URL_ENCODED = 1
+ }
+ }
+
+ /** Properties of a TcpCheck. */
+ interface ITcpCheck {
+
+ /** TcpCheck port */
+ port?: (number|null);
+ }
+
+ /** Represents a TcpCheck. */
+ class TcpCheck implements ITcpCheck {
+
+ /**
+ * Constructs a new TcpCheck.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.UptimeCheckConfig.ITcpCheck);
+
+ /** TcpCheck port. */
+ public port: number;
+
+ /**
+ * Creates a new TcpCheck instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TcpCheck instance
+ */
+ public static create(properties?: google.monitoring.v3.UptimeCheckConfig.ITcpCheck): google.monitoring.v3.UptimeCheckConfig.TcpCheck;
+
+ /**
+ * Encodes the specified TcpCheck message. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.TcpCheck.verify|verify} messages.
+ * @param message TcpCheck message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.UptimeCheckConfig.ITcpCheck, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TcpCheck message, length delimited. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.TcpCheck.verify|verify} messages.
+ * @param message TcpCheck message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.UptimeCheckConfig.ITcpCheck, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TcpCheck message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TcpCheck
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UptimeCheckConfig.TcpCheck;
+
+ /**
+ * Decodes a TcpCheck message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TcpCheck
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UptimeCheckConfig.TcpCheck;
+
+ /**
+ * Verifies a TcpCheck message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TcpCheck message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TcpCheck
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UptimeCheckConfig.TcpCheck;
+
+ /**
+ * Creates a plain object from a TcpCheck message. Also converts values to other types if specified.
+ * @param message TcpCheck
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UptimeCheckConfig.TcpCheck, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TcpCheck to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TcpCheck
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ContentMatcher. */
+ interface IContentMatcher {
+
+ /** ContentMatcher content */
+ content?: (string|null);
+
+ /** ContentMatcher matcher */
+ matcher?: (google.monitoring.v3.UptimeCheckConfig.ContentMatcher.ContentMatcherOption|keyof typeof google.monitoring.v3.UptimeCheckConfig.ContentMatcher.ContentMatcherOption|null);
+ }
+
+ /** Represents a ContentMatcher. */
+ class ContentMatcher implements IContentMatcher {
+
+ /**
+ * Constructs a new ContentMatcher.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.UptimeCheckConfig.IContentMatcher);
+
+ /** ContentMatcher content. */
+ public content: string;
+
+ /** ContentMatcher matcher. */
+ public matcher: (google.monitoring.v3.UptimeCheckConfig.ContentMatcher.ContentMatcherOption|keyof typeof google.monitoring.v3.UptimeCheckConfig.ContentMatcher.ContentMatcherOption);
+
+ /**
+ * Creates a new ContentMatcher instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContentMatcher instance
+ */
+ public static create(properties?: google.monitoring.v3.UptimeCheckConfig.IContentMatcher): google.monitoring.v3.UptimeCheckConfig.ContentMatcher;
+
+ /**
+ * Encodes the specified ContentMatcher message. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.ContentMatcher.verify|verify} messages.
+ * @param message ContentMatcher message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.UptimeCheckConfig.IContentMatcher, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContentMatcher message, length delimited. Does not implicitly {@link google.monitoring.v3.UptimeCheckConfig.ContentMatcher.verify|verify} messages.
+ * @param message ContentMatcher message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.UptimeCheckConfig.IContentMatcher, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContentMatcher message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContentMatcher
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UptimeCheckConfig.ContentMatcher;
+
+ /**
+ * Decodes a ContentMatcher message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContentMatcher
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UptimeCheckConfig.ContentMatcher;
+
+ /**
+ * Verifies a ContentMatcher message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContentMatcher message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContentMatcher
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UptimeCheckConfig.ContentMatcher;
+
+ /**
+ * Creates a plain object from a ContentMatcher message. Also converts values to other types if specified.
+ * @param message ContentMatcher
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UptimeCheckConfig.ContentMatcher, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContentMatcher to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContentMatcher
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ContentMatcher {
+
+ /** ContentMatcherOption enum. */
+ enum ContentMatcherOption {
+ CONTENT_MATCHER_OPTION_UNSPECIFIED = 0,
+ CONTAINS_STRING = 1,
+ NOT_CONTAINS_STRING = 2,
+ MATCHES_REGEX = 3,
+ NOT_MATCHES_REGEX = 4
+ }
+ }
+ }
+
+ /** Properties of an UptimeCheckIp. */
+ interface IUptimeCheckIp {
+
+ /** UptimeCheckIp region */
+ region?: (google.monitoring.v3.UptimeCheckRegion|keyof typeof google.monitoring.v3.UptimeCheckRegion|null);
+
+ /** UptimeCheckIp location */
+ location?: (string|null);
+
+ /** UptimeCheckIp ipAddress */
+ ipAddress?: (string|null);
+ }
+
+ /** Represents an UptimeCheckIp. */
+ class UptimeCheckIp implements IUptimeCheckIp {
+
+ /**
+ * Constructs a new UptimeCheckIp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUptimeCheckIp);
+
+ /** UptimeCheckIp region. */
+ public region: (google.monitoring.v3.UptimeCheckRegion|keyof typeof google.monitoring.v3.UptimeCheckRegion);
+
+ /** UptimeCheckIp location. */
+ public location: string;
+
+ /** UptimeCheckIp ipAddress. */
+ public ipAddress: string;
+
+ /**
+ * Creates a new UptimeCheckIp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UptimeCheckIp instance
+ */
+ public static create(properties?: google.monitoring.v3.IUptimeCheckIp): google.monitoring.v3.UptimeCheckIp;
+
+ /**
+ * Encodes the specified UptimeCheckIp message. Does not implicitly {@link google.monitoring.v3.UptimeCheckIp.verify|verify} messages.
+ * @param message UptimeCheckIp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUptimeCheckIp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UptimeCheckIp message, length delimited. Does not implicitly {@link google.monitoring.v3.UptimeCheckIp.verify|verify} messages.
+ * @param message UptimeCheckIp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUptimeCheckIp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UptimeCheckIp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UptimeCheckIp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UptimeCheckIp;
+
+ /**
+ * Decodes an UptimeCheckIp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UptimeCheckIp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UptimeCheckIp;
+
+ /**
+ * Verifies an UptimeCheckIp message.
+ * @param message Plain 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 UptimeCheckIp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UptimeCheckIp
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UptimeCheckIp;
+
+ /**
+ * Creates a plain object from an UptimeCheckIp message. Also converts values to other types if specified.
+ * @param message UptimeCheckIp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UptimeCheckIp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UptimeCheckIp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UptimeCheckIp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** GroupResourceType enum. */
+ enum GroupResourceType {
+ RESOURCE_TYPE_UNSPECIFIED = 0,
+ INSTANCE = 1,
+ AWS_ELB_LOAD_BALANCER = 2
+ }
+
+ /** Represents an UptimeCheckService */
+ class UptimeCheckService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new UptimeCheckService 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 UptimeCheckService 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): UptimeCheckService;
+
+ /**
+ * Calls ListUptimeCheckConfigs.
+ * @param request ListUptimeCheckConfigsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListUptimeCheckConfigsResponse
+ */
+ public listUptimeCheckConfigs(request: google.monitoring.v3.IListUptimeCheckConfigsRequest, callback: google.monitoring.v3.UptimeCheckService.ListUptimeCheckConfigsCallback): void;
+
+ /**
+ * Calls ListUptimeCheckConfigs.
+ * @param request ListUptimeCheckConfigsRequest message or plain object
+ * @returns Promise
+ */
+ public listUptimeCheckConfigs(request: google.monitoring.v3.IListUptimeCheckConfigsRequest): Promise;
+
+ /**
+ * Calls GetUptimeCheckConfig.
+ * @param request GetUptimeCheckConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and UptimeCheckConfig
+ */
+ public getUptimeCheckConfig(request: google.monitoring.v3.IGetUptimeCheckConfigRequest, callback: google.monitoring.v3.UptimeCheckService.GetUptimeCheckConfigCallback): void;
+
+ /**
+ * Calls GetUptimeCheckConfig.
+ * @param request GetUptimeCheckConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getUptimeCheckConfig(request: google.monitoring.v3.IGetUptimeCheckConfigRequest): Promise;
+
+ /**
+ * Calls CreateUptimeCheckConfig.
+ * @param request CreateUptimeCheckConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and UptimeCheckConfig
+ */
+ public createUptimeCheckConfig(request: google.monitoring.v3.ICreateUptimeCheckConfigRequest, callback: google.monitoring.v3.UptimeCheckService.CreateUptimeCheckConfigCallback): void;
+
+ /**
+ * Calls CreateUptimeCheckConfig.
+ * @param request CreateUptimeCheckConfigRequest message or plain object
+ * @returns Promise
+ */
+ public createUptimeCheckConfig(request: google.monitoring.v3.ICreateUptimeCheckConfigRequest): Promise;
+
+ /**
+ * Calls UpdateUptimeCheckConfig.
+ * @param request UpdateUptimeCheckConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and UptimeCheckConfig
+ */
+ public updateUptimeCheckConfig(request: google.monitoring.v3.IUpdateUptimeCheckConfigRequest, callback: google.monitoring.v3.UptimeCheckService.UpdateUptimeCheckConfigCallback): void;
+
+ /**
+ * Calls UpdateUptimeCheckConfig.
+ * @param request UpdateUptimeCheckConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateUptimeCheckConfig(request: google.monitoring.v3.IUpdateUptimeCheckConfigRequest): Promise;
+
+ /**
+ * Calls DeleteUptimeCheckConfig.
+ * @param request DeleteUptimeCheckConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteUptimeCheckConfig(request: google.monitoring.v3.IDeleteUptimeCheckConfigRequest, callback: google.monitoring.v3.UptimeCheckService.DeleteUptimeCheckConfigCallback): void;
+
+ /**
+ * Calls DeleteUptimeCheckConfig.
+ * @param request DeleteUptimeCheckConfigRequest message or plain object
+ * @returns Promise
+ */
+ public deleteUptimeCheckConfig(request: google.monitoring.v3.IDeleteUptimeCheckConfigRequest): Promise;
+
+ /**
+ * Calls ListUptimeCheckIps.
+ * @param request ListUptimeCheckIpsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListUptimeCheckIpsResponse
+ */
+ public listUptimeCheckIps(request: google.monitoring.v3.IListUptimeCheckIpsRequest, callback: google.monitoring.v3.UptimeCheckService.ListUptimeCheckIpsCallback): void;
+
+ /**
+ * Calls ListUptimeCheckIps.
+ * @param request ListUptimeCheckIpsRequest message or plain object
+ * @returns Promise
+ */
+ public listUptimeCheckIps(request: google.monitoring.v3.IListUptimeCheckIpsRequest): Promise;
+ }
+
+ namespace UptimeCheckService {
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.UptimeCheckService|listUptimeCheckConfigs}.
+ * @param error Error, if any
+ * @param [response] ListUptimeCheckConfigsResponse
+ */
+ type ListUptimeCheckConfigsCallback = (error: (Error|null), response?: google.monitoring.v3.ListUptimeCheckConfigsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.UptimeCheckService|getUptimeCheckConfig}.
+ * @param error Error, if any
+ * @param [response] UptimeCheckConfig
+ */
+ type GetUptimeCheckConfigCallback = (error: (Error|null), response?: google.monitoring.v3.UptimeCheckConfig) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.UptimeCheckService|createUptimeCheckConfig}.
+ * @param error Error, if any
+ * @param [response] UptimeCheckConfig
+ */
+ type CreateUptimeCheckConfigCallback = (error: (Error|null), response?: google.monitoring.v3.UptimeCheckConfig) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.UptimeCheckService|updateUptimeCheckConfig}.
+ * @param error Error, if any
+ * @param [response] UptimeCheckConfig
+ */
+ type UpdateUptimeCheckConfigCallback = (error: (Error|null), response?: google.monitoring.v3.UptimeCheckConfig) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.UptimeCheckService|deleteUptimeCheckConfig}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteUptimeCheckConfigCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.UptimeCheckService|listUptimeCheckIps}.
+ * @param error Error, if any
+ * @param [response] ListUptimeCheckIpsResponse
+ */
+ type ListUptimeCheckIpsCallback = (error: (Error|null), response?: google.monitoring.v3.ListUptimeCheckIpsResponse) => void;
+ }
+
+ /** Properties of a ListUptimeCheckConfigsRequest. */
+ interface IListUptimeCheckConfigsRequest {
+
+ /** ListUptimeCheckConfigsRequest parent */
+ parent?: (string|null);
+
+ /** ListUptimeCheckConfigsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListUptimeCheckConfigsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListUptimeCheckConfigsRequest. */
+ class ListUptimeCheckConfigsRequest implements IListUptimeCheckConfigsRequest {
+
+ /**
+ * Constructs a new ListUptimeCheckConfigsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListUptimeCheckConfigsRequest);
+
+ /** ListUptimeCheckConfigsRequest parent. */
+ public parent: string;
+
+ /** ListUptimeCheckConfigsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListUptimeCheckConfigsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListUptimeCheckConfigsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListUptimeCheckConfigsRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListUptimeCheckConfigsRequest): google.monitoring.v3.ListUptimeCheckConfigsRequest;
+
+ /**
+ * Encodes the specified ListUptimeCheckConfigsRequest message. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckConfigsRequest.verify|verify} messages.
+ * @param message ListUptimeCheckConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListUptimeCheckConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListUptimeCheckConfigsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckConfigsRequest.verify|verify} messages.
+ * @param message ListUptimeCheckConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListUptimeCheckConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListUptimeCheckConfigsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListUptimeCheckConfigsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListUptimeCheckConfigsRequest;
+
+ /**
+ * Decodes a ListUptimeCheckConfigsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListUptimeCheckConfigsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListUptimeCheckConfigsRequest;
+
+ /**
+ * Verifies a ListUptimeCheckConfigsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListUptimeCheckConfigsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListUptimeCheckConfigsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListUptimeCheckConfigsRequest;
+
+ /**
+ * Creates a plain object from a ListUptimeCheckConfigsRequest message. Also converts values to other types if specified.
+ * @param message ListUptimeCheckConfigsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListUptimeCheckConfigsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListUptimeCheckConfigsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListUptimeCheckConfigsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListUptimeCheckConfigsResponse. */
+ interface IListUptimeCheckConfigsResponse {
+
+ /** ListUptimeCheckConfigsResponse uptimeCheckConfigs */
+ uptimeCheckConfigs?: (google.monitoring.v3.IUptimeCheckConfig[]|null);
+
+ /** ListUptimeCheckConfigsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListUptimeCheckConfigsResponse totalSize */
+ totalSize?: (number|null);
+ }
+
+ /** Represents a ListUptimeCheckConfigsResponse. */
+ class ListUptimeCheckConfigsResponse implements IListUptimeCheckConfigsResponse {
+
+ /**
+ * Constructs a new ListUptimeCheckConfigsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListUptimeCheckConfigsResponse);
+
+ /** ListUptimeCheckConfigsResponse uptimeCheckConfigs. */
+ public uptimeCheckConfigs: google.monitoring.v3.IUptimeCheckConfig[];
+
+ /** ListUptimeCheckConfigsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListUptimeCheckConfigsResponse totalSize. */
+ public totalSize: number;
+
+ /**
+ * Creates a new ListUptimeCheckConfigsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListUptimeCheckConfigsResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListUptimeCheckConfigsResponse): google.monitoring.v3.ListUptimeCheckConfigsResponse;
+
+ /**
+ * Encodes the specified ListUptimeCheckConfigsResponse message. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckConfigsResponse.verify|verify} messages.
+ * @param message ListUptimeCheckConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListUptimeCheckConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListUptimeCheckConfigsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckConfigsResponse.verify|verify} messages.
+ * @param message ListUptimeCheckConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListUptimeCheckConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListUptimeCheckConfigsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListUptimeCheckConfigsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListUptimeCheckConfigsResponse;
+
+ /**
+ * Decodes a ListUptimeCheckConfigsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListUptimeCheckConfigsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListUptimeCheckConfigsResponse;
+
+ /**
+ * Verifies a ListUptimeCheckConfigsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListUptimeCheckConfigsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListUptimeCheckConfigsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListUptimeCheckConfigsResponse;
+
+ /**
+ * Creates a plain object from a ListUptimeCheckConfigsResponse message. Also converts values to other types if specified.
+ * @param message ListUptimeCheckConfigsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListUptimeCheckConfigsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListUptimeCheckConfigsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListUptimeCheckConfigsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetUptimeCheckConfigRequest. */
+ interface IGetUptimeCheckConfigRequest {
+
+ /** GetUptimeCheckConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetUptimeCheckConfigRequest. */
+ class GetUptimeCheckConfigRequest implements IGetUptimeCheckConfigRequest {
+
+ /**
+ * Constructs a new GetUptimeCheckConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IGetUptimeCheckConfigRequest);
+
+ /** GetUptimeCheckConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetUptimeCheckConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetUptimeCheckConfigRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IGetUptimeCheckConfigRequest): google.monitoring.v3.GetUptimeCheckConfigRequest;
+
+ /**
+ * Encodes the specified GetUptimeCheckConfigRequest message. Does not implicitly {@link google.monitoring.v3.GetUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message GetUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IGetUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetUptimeCheckConfigRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message GetUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IGetUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetUptimeCheckConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.GetUptimeCheckConfigRequest;
+
+ /**
+ * Decodes a GetUptimeCheckConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.GetUptimeCheckConfigRequest;
+
+ /**
+ * Verifies a GetUptimeCheckConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetUptimeCheckConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetUptimeCheckConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.GetUptimeCheckConfigRequest;
+
+ /**
+ * Creates a plain object from a GetUptimeCheckConfigRequest message. Also converts values to other types if specified.
+ * @param message GetUptimeCheckConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.GetUptimeCheckConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetUptimeCheckConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetUptimeCheckConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateUptimeCheckConfigRequest. */
+ interface ICreateUptimeCheckConfigRequest {
+
+ /** CreateUptimeCheckConfigRequest parent */
+ parent?: (string|null);
+
+ /** CreateUptimeCheckConfigRequest uptimeCheckConfig */
+ uptimeCheckConfig?: (google.monitoring.v3.IUptimeCheckConfig|null);
+ }
+
+ /** Represents a CreateUptimeCheckConfigRequest. */
+ class CreateUptimeCheckConfigRequest implements ICreateUptimeCheckConfigRequest {
+
+ /**
+ * Constructs a new CreateUptimeCheckConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.ICreateUptimeCheckConfigRequest);
+
+ /** CreateUptimeCheckConfigRequest parent. */
+ public parent: string;
+
+ /** CreateUptimeCheckConfigRequest uptimeCheckConfig. */
+ public uptimeCheckConfig?: (google.monitoring.v3.IUptimeCheckConfig|null);
+
+ /**
+ * Creates a new CreateUptimeCheckConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateUptimeCheckConfigRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.ICreateUptimeCheckConfigRequest): google.monitoring.v3.CreateUptimeCheckConfigRequest;
+
+ /**
+ * Encodes the specified CreateUptimeCheckConfigRequest message. Does not implicitly {@link google.monitoring.v3.CreateUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message CreateUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.ICreateUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateUptimeCheckConfigRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message CreateUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.ICreateUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateUptimeCheckConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.CreateUptimeCheckConfigRequest;
+
+ /**
+ * Decodes a CreateUptimeCheckConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.CreateUptimeCheckConfigRequest;
+
+ /**
+ * Verifies a CreateUptimeCheckConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateUptimeCheckConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateUptimeCheckConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.CreateUptimeCheckConfigRequest;
+
+ /**
+ * Creates a plain object from a CreateUptimeCheckConfigRequest message. Also converts values to other types if specified.
+ * @param message CreateUptimeCheckConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.CreateUptimeCheckConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateUptimeCheckConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateUptimeCheckConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateUptimeCheckConfigRequest. */
+ interface IUpdateUptimeCheckConfigRequest {
+
+ /** UpdateUptimeCheckConfigRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateUptimeCheckConfigRequest uptimeCheckConfig */
+ uptimeCheckConfig?: (google.monitoring.v3.IUptimeCheckConfig|null);
+ }
+
+ /** Represents an UpdateUptimeCheckConfigRequest. */
+ class UpdateUptimeCheckConfigRequest implements IUpdateUptimeCheckConfigRequest {
+
+ /**
+ * Constructs a new UpdateUptimeCheckConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IUpdateUptimeCheckConfigRequest);
+
+ /** UpdateUptimeCheckConfigRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateUptimeCheckConfigRequest uptimeCheckConfig. */
+ public uptimeCheckConfig?: (google.monitoring.v3.IUptimeCheckConfig|null);
+
+ /**
+ * Creates a new UpdateUptimeCheckConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateUptimeCheckConfigRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IUpdateUptimeCheckConfigRequest): google.monitoring.v3.UpdateUptimeCheckConfigRequest;
+
+ /**
+ * Encodes the specified UpdateUptimeCheckConfigRequest message. Does not implicitly {@link google.monitoring.v3.UpdateUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message UpdateUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IUpdateUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateUptimeCheckConfigRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message UpdateUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IUpdateUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateUptimeCheckConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.UpdateUptimeCheckConfigRequest;
+
+ /**
+ * Decodes an UpdateUptimeCheckConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.UpdateUptimeCheckConfigRequest;
+
+ /**
+ * Verifies an UpdateUptimeCheckConfigRequest message.
+ * @param message Plain 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 UpdateUptimeCheckConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateUptimeCheckConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.UpdateUptimeCheckConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateUptimeCheckConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateUptimeCheckConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.UpdateUptimeCheckConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateUptimeCheckConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateUptimeCheckConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteUptimeCheckConfigRequest. */
+ interface IDeleteUptimeCheckConfigRequest {
+
+ /** DeleteUptimeCheckConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteUptimeCheckConfigRequest. */
+ class DeleteUptimeCheckConfigRequest implements IDeleteUptimeCheckConfigRequest {
+
+ /**
+ * Constructs a new DeleteUptimeCheckConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IDeleteUptimeCheckConfigRequest);
+
+ /** DeleteUptimeCheckConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteUptimeCheckConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteUptimeCheckConfigRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IDeleteUptimeCheckConfigRequest): google.monitoring.v3.DeleteUptimeCheckConfigRequest;
+
+ /**
+ * Encodes the specified DeleteUptimeCheckConfigRequest message. Does not implicitly {@link google.monitoring.v3.DeleteUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message DeleteUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IDeleteUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteUptimeCheckConfigRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteUptimeCheckConfigRequest.verify|verify} messages.
+ * @param message DeleteUptimeCheckConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IDeleteUptimeCheckConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteUptimeCheckConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.DeleteUptimeCheckConfigRequest;
+
+ /**
+ * Decodes a DeleteUptimeCheckConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteUptimeCheckConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.DeleteUptimeCheckConfigRequest;
+
+ /**
+ * Verifies a DeleteUptimeCheckConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteUptimeCheckConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteUptimeCheckConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.DeleteUptimeCheckConfigRequest;
+
+ /**
+ * Creates a plain object from a DeleteUptimeCheckConfigRequest message. Also converts values to other types if specified.
+ * @param message DeleteUptimeCheckConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.DeleteUptimeCheckConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteUptimeCheckConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteUptimeCheckConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListUptimeCheckIpsRequest. */
+ interface IListUptimeCheckIpsRequest {
+
+ /** ListUptimeCheckIpsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListUptimeCheckIpsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListUptimeCheckIpsRequest. */
+ class ListUptimeCheckIpsRequest implements IListUptimeCheckIpsRequest {
+
+ /**
+ * Constructs a new ListUptimeCheckIpsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListUptimeCheckIpsRequest);
+
+ /** ListUptimeCheckIpsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListUptimeCheckIpsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListUptimeCheckIpsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListUptimeCheckIpsRequest instance
+ */
+ public static create(properties?: google.monitoring.v3.IListUptimeCheckIpsRequest): google.monitoring.v3.ListUptimeCheckIpsRequest;
+
+ /**
+ * Encodes the specified ListUptimeCheckIpsRequest message. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckIpsRequest.verify|verify} messages.
+ * @param message ListUptimeCheckIpsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListUptimeCheckIpsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListUptimeCheckIpsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckIpsRequest.verify|verify} messages.
+ * @param message ListUptimeCheckIpsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListUptimeCheckIpsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListUptimeCheckIpsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListUptimeCheckIpsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListUptimeCheckIpsRequest;
+
+ /**
+ * Decodes a ListUptimeCheckIpsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListUptimeCheckIpsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListUptimeCheckIpsRequest;
+
+ /**
+ * Verifies a ListUptimeCheckIpsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListUptimeCheckIpsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListUptimeCheckIpsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListUptimeCheckIpsRequest;
+
+ /**
+ * Creates a plain object from a ListUptimeCheckIpsRequest message. Also converts values to other types if specified.
+ * @param message ListUptimeCheckIpsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListUptimeCheckIpsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListUptimeCheckIpsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListUptimeCheckIpsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListUptimeCheckIpsResponse. */
+ interface IListUptimeCheckIpsResponse {
+
+ /** ListUptimeCheckIpsResponse uptimeCheckIps */
+ uptimeCheckIps?: (google.monitoring.v3.IUptimeCheckIp[]|null);
+
+ /** ListUptimeCheckIpsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListUptimeCheckIpsResponse. */
+ class ListUptimeCheckIpsResponse implements IListUptimeCheckIpsResponse {
+
+ /**
+ * Constructs a new ListUptimeCheckIpsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.monitoring.v3.IListUptimeCheckIpsResponse);
+
+ /** ListUptimeCheckIpsResponse uptimeCheckIps. */
+ public uptimeCheckIps: google.monitoring.v3.IUptimeCheckIp[];
+
+ /** ListUptimeCheckIpsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListUptimeCheckIpsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListUptimeCheckIpsResponse instance
+ */
+ public static create(properties?: google.monitoring.v3.IListUptimeCheckIpsResponse): google.monitoring.v3.ListUptimeCheckIpsResponse;
+
+ /**
+ * Encodes the specified ListUptimeCheckIpsResponse message. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckIpsResponse.verify|verify} messages.
+ * @param message ListUptimeCheckIpsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.monitoring.v3.IListUptimeCheckIpsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListUptimeCheckIpsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListUptimeCheckIpsResponse.verify|verify} messages.
+ * @param message ListUptimeCheckIpsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.monitoring.v3.IListUptimeCheckIpsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListUptimeCheckIpsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListUptimeCheckIpsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.monitoring.v3.ListUptimeCheckIpsResponse;
+
+ /**
+ * Decodes a ListUptimeCheckIpsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListUptimeCheckIpsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.monitoring.v3.ListUptimeCheckIpsResponse;
+
+ /**
+ * Verifies a ListUptimeCheckIpsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListUptimeCheckIpsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListUptimeCheckIpsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.monitoring.v3.ListUptimeCheckIpsResponse;
+
+ /**
+ * Creates a plain object from a ListUptimeCheckIpsResponse message. Also converts values to other types if specified.
+ * @param message ListUptimeCheckIpsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.monitoring.v3.ListUptimeCheckIpsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListUptimeCheckIpsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListUptimeCheckIpsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Distribution. */
+ interface IDistribution {
+
+ /** Distribution count */
+ count?: (number|Long|string|null);
+
+ /** Distribution mean */
+ mean?: (number|null);
+
+ /** Distribution sumOfSquaredDeviation */
+ sumOfSquaredDeviation?: (number|null);
+
+ /** Distribution range */
+ range?: (google.api.Distribution.IRange|null);
+
+ /** Distribution bucketOptions */
+ bucketOptions?: (google.api.Distribution.IBucketOptions|null);
+
+ /** Distribution bucketCounts */
+ bucketCounts?: ((number|Long|string)[]|null);
+
+ /** Distribution exemplars */
+ exemplars?: (google.api.Distribution.IExemplar[]|null);
+ }
+
+ /** Represents a Distribution. */
+ class Distribution implements IDistribution {
+
+ /**
+ * Constructs a new Distribution.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IDistribution);
+
+ /** Distribution count. */
+ public count: (number|Long|string);
+
+ /** Distribution mean. */
+ public mean: number;
+
+ /** Distribution sumOfSquaredDeviation. */
+ public sumOfSquaredDeviation: number;
+
+ /** Distribution range. */
+ public range?: (google.api.Distribution.IRange|null);
+
+ /** Distribution bucketOptions. */
+ public bucketOptions?: (google.api.Distribution.IBucketOptions|null);
+
+ /** Distribution bucketCounts. */
+ public bucketCounts: (number|Long|string)[];
+
+ /** Distribution exemplars. */
+ public exemplars: google.api.Distribution.IExemplar[];
+
+ /**
+ * Creates a new Distribution instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Distribution instance
+ */
+ public static create(properties?: google.api.IDistribution): google.api.Distribution;
+
+ /**
+ * Encodes the specified Distribution message. Does not implicitly {@link google.api.Distribution.verify|verify} messages.
+ * @param message Distribution message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IDistribution, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Distribution message, length delimited. Does not implicitly {@link google.api.Distribution.verify|verify} messages.
+ * @param message Distribution message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IDistribution, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Distribution message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Distribution
+ * @throws {Error} If the payload is not 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.Distribution;
+
+ /**
+ * Decodes a Distribution message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Distribution
+ * @throws {Error} If the payload 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.Distribution;
+
+ /**
+ * Verifies a Distribution message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Distribution message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Distribution
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution;
+
+ /**
+ * Creates a plain object from a Distribution message. Also converts values to other types if specified.
+ * @param message Distribution
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Distribution to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Distribution
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Distribution {
+
+ /** Properties of a Range. */
+ interface IRange {
+
+ /** Range min */
+ min?: (number|null);
+
+ /** Range max */
+ max?: (number|null);
+ }
+
+ /** Represents a Range. */
+ class Range implements IRange {
+
+ /**
+ * Constructs a new Range.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.IRange);
+
+ /** Range min. */
+ public min: number;
+
+ /** Range max. */
+ public max: number;
+
+ /**
+ * Creates a new Range instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Range instance
+ */
+ public static create(properties?: google.api.Distribution.IRange): google.api.Distribution.Range;
+
+ /**
+ * Encodes the specified Range message. Does not implicitly {@link google.api.Distribution.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Range message, length delimited. Does not implicitly {@link google.api.Distribution.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Range
+ * @throws {Error} If the payload is not 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.Distribution.Range;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Range
+ * @throws {Error} If the payload 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.Distribution.Range;
+
+ /**
+ * Verifies a Range message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Range message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Range
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.Range;
+
+ /**
+ * Creates a plain object from a Range message. Also converts values to other types if specified.
+ * @param message Range
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.Range, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Range to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Range
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BucketOptions. */
+ interface IBucketOptions {
+
+ /** BucketOptions linearBuckets */
+ linearBuckets?: (google.api.Distribution.BucketOptions.ILinear|null);
+
+ /** BucketOptions exponentialBuckets */
+ exponentialBuckets?: (google.api.Distribution.BucketOptions.IExponential|null);
+
+ /** BucketOptions explicitBuckets */
+ explicitBuckets?: (google.api.Distribution.BucketOptions.IExplicit|null);
+ }
+
+ /** Represents a BucketOptions. */
+ class BucketOptions implements IBucketOptions {
+
+ /**
+ * Constructs a new BucketOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.IBucketOptions);
+
+ /** BucketOptions linearBuckets. */
+ public linearBuckets?: (google.api.Distribution.BucketOptions.ILinear|null);
+
+ /** BucketOptions exponentialBuckets. */
+ public exponentialBuckets?: (google.api.Distribution.BucketOptions.IExponential|null);
+
+ /** BucketOptions explicitBuckets. */
+ public explicitBuckets?: (google.api.Distribution.BucketOptions.IExplicit|null);
+
+ /** BucketOptions options. */
+ public options?: ("linearBuckets"|"exponentialBuckets"|"explicitBuckets");
+
+ /**
+ * Creates a new BucketOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BucketOptions instance
+ */
+ public static create(properties?: google.api.Distribution.IBucketOptions): google.api.Distribution.BucketOptions;
+
+ /**
+ * Encodes the specified BucketOptions message. Does not implicitly {@link google.api.Distribution.BucketOptions.verify|verify} messages.
+ * @param message BucketOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.IBucketOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BucketOptions message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.verify|verify} messages.
+ * @param message BucketOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.IBucketOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BucketOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BucketOptions
+ * @throws {Error} If the payload is not 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.Distribution.BucketOptions;
+
+ /**
+ * Decodes a BucketOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BucketOptions
+ * @throws {Error} If the payload 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.Distribution.BucketOptions;
+
+ /**
+ * Verifies a BucketOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BucketOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BucketOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions;
+
+ /**
+ * Creates a plain object from a BucketOptions message. Also converts values to other types if specified.
+ * @param message BucketOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BucketOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BucketOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BucketOptions {
+
+ /** Properties of a Linear. */
+ interface ILinear {
+
+ /** Linear numFiniteBuckets */
+ numFiniteBuckets?: (number|null);
+
+ /** Linear width */
+ width?: (number|null);
+
+ /** Linear offset */
+ offset?: (number|null);
+ }
+
+ /** Represents a Linear. */
+ class Linear implements ILinear {
+
+ /**
+ * Constructs a new Linear.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.BucketOptions.ILinear);
+
+ /** Linear numFiniteBuckets. */
+ public numFiniteBuckets: number;
+
+ /** Linear width. */
+ public width: number;
+
+ /** Linear offset. */
+ public offset: number;
+
+ /**
+ * Creates a new Linear instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Linear instance
+ */
+ public static create(properties?: google.api.Distribution.BucketOptions.ILinear): google.api.Distribution.BucketOptions.Linear;
+
+ /**
+ * Encodes the specified Linear message. Does not implicitly {@link google.api.Distribution.BucketOptions.Linear.verify|verify} messages.
+ * @param message Linear message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.BucketOptions.ILinear, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Linear message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.Linear.verify|verify} messages.
+ * @param message Linear message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.BucketOptions.ILinear, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Linear message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Linear
+ * @throws {Error} If the payload is not 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.Distribution.BucketOptions.Linear;
+
+ /**
+ * Decodes a Linear message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Linear
+ * @throws {Error} If the payload 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.Distribution.BucketOptions.Linear;
+
+ /**
+ * Verifies a Linear message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Linear message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Linear
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions.Linear;
+
+ /**
+ * Creates a plain object from a Linear message. Also converts values to other types if specified.
+ * @param message Linear
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions.Linear, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Linear to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Linear
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Exponential. */
+ interface IExponential {
+
+ /** Exponential numFiniteBuckets */
+ numFiniteBuckets?: (number|null);
+
+ /** Exponential growthFactor */
+ growthFactor?: (number|null);
+
+ /** Exponential scale */
+ scale?: (number|null);
+ }
+
+ /** Represents an Exponential. */
+ class Exponential implements IExponential {
+
+ /**
+ * Constructs a new Exponential.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.BucketOptions.IExponential);
+
+ /** Exponential numFiniteBuckets. */
+ public numFiniteBuckets: number;
+
+ /** Exponential growthFactor. */
+ public growthFactor: number;
+
+ /** Exponential scale. */
+ public scale: number;
+
+ /**
+ * Creates a new Exponential instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Exponential instance
+ */
+ public static create(properties?: google.api.Distribution.BucketOptions.IExponential): google.api.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Encodes the specified Exponential message. Does not implicitly {@link google.api.Distribution.BucketOptions.Exponential.verify|verify} messages.
+ * @param message Exponential message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.BucketOptions.IExponential, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Exponential message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.Exponential.verify|verify} messages.
+ * @param message Exponential message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.BucketOptions.IExponential, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Exponential message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Exponential
+ * @throws {Error} If the payload is not 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.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Decodes an Exponential message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Exponential
+ * @throws {Error} If the payload 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.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Verifies an Exponential message.
+ * @param message Plain 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 Exponential message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Exponential
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions.Exponential;
+
+ /**
+ * Creates a plain object from an Exponential message. Also converts values to other types if specified.
+ * @param message Exponential
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions.Exponential, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Exponential to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Exponential
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Explicit. */
+ interface IExplicit {
+
+ /** Explicit bounds */
+ bounds?: (number[]|null);
+ }
+
+ /** Represents an Explicit. */
+ class Explicit implements IExplicit {
+
+ /**
+ * Constructs a new Explicit.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.BucketOptions.IExplicit);
+
+ /** Explicit bounds. */
+ public bounds: number[];
+
+ /**
+ * Creates a new Explicit instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Explicit instance
+ */
+ public static create(properties?: google.api.Distribution.BucketOptions.IExplicit): google.api.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Encodes the specified Explicit message. Does not implicitly {@link google.api.Distribution.BucketOptions.Explicit.verify|verify} messages.
+ * @param message Explicit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.BucketOptions.IExplicit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Explicit message, length delimited. Does not implicitly {@link google.api.Distribution.BucketOptions.Explicit.verify|verify} messages.
+ * @param message Explicit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.BucketOptions.IExplicit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Explicit message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Explicit
+ * @throws {Error} If the payload is not 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.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Decodes an Explicit message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Explicit
+ * @throws {Error} If the payload 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.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Verifies an Explicit message.
+ * @param message Plain 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 Explicit message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Explicit
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.BucketOptions.Explicit;
+
+ /**
+ * Creates a plain object from an Explicit message. Also converts values to other types if specified.
+ * @param message Explicit
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.BucketOptions.Explicit, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Explicit to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Explicit
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an Exemplar. */
+ interface IExemplar {
+
+ /** Exemplar value */
+ value?: (number|null);
+
+ /** Exemplar timestamp */
+ timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** Exemplar attachments */
+ attachments?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents an Exemplar. */
+ class Exemplar implements IExemplar {
+
+ /**
+ * Constructs a new Exemplar.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.Distribution.IExemplar);
+
+ /** Exemplar value. */
+ public value: number;
+
+ /** Exemplar timestamp. */
+ public timestamp?: (google.protobuf.ITimestamp|null);
+
+ /** Exemplar attachments. */
+ public attachments: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Exemplar instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Exemplar instance
+ */
+ public static create(properties?: google.api.Distribution.IExemplar): google.api.Distribution.Exemplar;
+
+ /**
+ * Encodes the specified Exemplar message. Does not implicitly {@link google.api.Distribution.Exemplar.verify|verify} messages.
+ * @param message Exemplar message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.Distribution.IExemplar, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Exemplar message, length delimited. Does not implicitly {@link google.api.Distribution.Exemplar.verify|verify} messages.
+ * @param message Exemplar message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.Distribution.IExemplar, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Exemplar message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Exemplar
+ * @throws {Error} If the payload is not 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.Distribution.Exemplar;
+
+ /**
+ * Decodes an Exemplar message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Exemplar
+ * @throws {Error} If the payload 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.Distribution.Exemplar;
+
+ /**
+ * Verifies an Exemplar message.
+ * @param message Plain 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 Exemplar message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Exemplar
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Distribution.Exemplar;
+
+ /**
+ * Creates a plain object from an Exemplar message. Also converts values to other types if specified.
+ * @param message Exemplar
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Distribution.Exemplar, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Exemplar to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Exemplar
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MonitoredResourceDescriptor. */
+ interface IMonitoredResourceDescriptor {
+
+ /** MonitoredResourceDescriptor name */
+ name?: (string|null);
+
+ /** MonitoredResourceDescriptor type */
+ type?: (string|null);
+
+ /** MonitoredResourceDescriptor displayName */
+ displayName?: (string|null);
+
+ /** MonitoredResourceDescriptor description */
+ description?: (string|null);
+
+ /** MonitoredResourceDescriptor labels */
+ labels?: (google.api.ILabelDescriptor[]|null);
+
+ /** MonitoredResourceDescriptor launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+ }
+
+ /** Represents a MonitoredResourceDescriptor. */
+ class MonitoredResourceDescriptor implements IMonitoredResourceDescriptor {
+
+ /**
+ * Constructs a new MonitoredResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMonitoredResourceDescriptor);
+
+ /** MonitoredResourceDescriptor name. */
+ public name: string;
+
+ /** MonitoredResourceDescriptor type. */
+ public type: string;
+
+ /** MonitoredResourceDescriptor displayName. */
+ public displayName: string;
+
+ /** MonitoredResourceDescriptor description. */
+ public description: string;
+
+ /** MonitoredResourceDescriptor labels. */
+ public labels: google.api.ILabelDescriptor[];
+
+ /** MonitoredResourceDescriptor launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /**
+ * Creates a new MonitoredResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MonitoredResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IMonitoredResourceDescriptor): google.api.MonitoredResourceDescriptor;
+
+ /**
+ * Encodes the specified MonitoredResourceDescriptor message. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages.
+ * @param message MonitoredResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMonitoredResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MonitoredResourceDescriptor message, length delimited. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages.
+ * @param message MonitoredResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMonitoredResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MonitoredResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MonitoredResourceDescriptor;
+
+ /**
+ * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MonitoredResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MonitoredResourceDescriptor;
+
+ /**
+ * Verifies a MonitoredResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MonitoredResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MonitoredResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MonitoredResourceDescriptor;
+
+ /**
+ * Creates a plain object from a MonitoredResourceDescriptor message. Also converts values to other types if specified.
+ * @param message MonitoredResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MonitoredResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MonitoredResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MonitoredResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MonitoredResource. */
+ interface IMonitoredResource {
+
+ /** MonitoredResource type */
+ type?: (string|null);
+
+ /** MonitoredResource labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a MonitoredResource. */
+ class MonitoredResource implements IMonitoredResource {
+
+ /**
+ * Constructs a new MonitoredResource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMonitoredResource);
+
+ /** MonitoredResource type. */
+ public type: string;
+
+ /** MonitoredResource labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new MonitoredResource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MonitoredResource instance
+ */
+ public static create(properties?: google.api.IMonitoredResource): google.api.MonitoredResource;
+
+ /**
+ * Encodes the specified MonitoredResource message. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages.
+ * @param message MonitoredResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMonitoredResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MonitoredResource message, length delimited. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages.
+ * @param message MonitoredResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMonitoredResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MonitoredResource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MonitoredResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MonitoredResource;
+
+ /**
+ * Decodes a MonitoredResource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MonitoredResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MonitoredResource;
+
+ /**
+ * Verifies a MonitoredResource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MonitoredResource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MonitoredResource
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MonitoredResource;
+
+ /**
+ * Creates a plain object from a MonitoredResource message. Also converts values to other types if specified.
+ * @param message MonitoredResource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MonitoredResource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MonitoredResource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MonitoredResource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MonitoredResourceMetadata. */
+ interface IMonitoredResourceMetadata {
+
+ /** MonitoredResourceMetadata systemLabels */
+ systemLabels?: (google.protobuf.IStruct|null);
+
+ /** MonitoredResourceMetadata userLabels */
+ userLabels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a MonitoredResourceMetadata. */
+ class MonitoredResourceMetadata implements IMonitoredResourceMetadata {
+
+ /**
+ * Constructs a new MonitoredResourceMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMonitoredResourceMetadata);
+
+ /** MonitoredResourceMetadata systemLabels. */
+ public systemLabels?: (google.protobuf.IStruct|null);
+
+ /** MonitoredResourceMetadata userLabels. */
+ public userLabels: { [k: string]: string };
+
+ /**
+ * Creates a new MonitoredResourceMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MonitoredResourceMetadata instance
+ */
+ public static create(properties?: google.api.IMonitoredResourceMetadata): google.api.MonitoredResourceMetadata;
+
+ /**
+ * Encodes the specified MonitoredResourceMetadata message. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages.
+ * @param message MonitoredResourceMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMonitoredResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MonitoredResourceMetadata message, length delimited. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages.
+ * @param message MonitoredResourceMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMonitoredResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MonitoredResourceMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MonitoredResourceMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MonitoredResourceMetadata;
+
+ /**
+ * Decodes a MonitoredResourceMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MonitoredResourceMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MonitoredResourceMetadata;
+
+ /**
+ * Verifies a MonitoredResourceMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MonitoredResourceMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MonitoredResourceMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MonitoredResourceMetadata;
+
+ /**
+ * Creates a plain object from a MonitoredResourceMetadata message. Also converts values to other types if specified.
+ * @param message MonitoredResourceMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MonitoredResourceMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MonitoredResourceMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MonitoredResourceMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LabelDescriptor. */
+ interface ILabelDescriptor {
+
+ /** LabelDescriptor key */
+ key?: (string|null);
+
+ /** LabelDescriptor valueType */
+ valueType?: (google.api.LabelDescriptor.ValueType|keyof typeof google.api.LabelDescriptor.ValueType|null);
+
+ /** LabelDescriptor description */
+ description?: (string|null);
+ }
+
+ /** Represents a LabelDescriptor. */
+ class LabelDescriptor implements ILabelDescriptor {
+
+ /**
+ * Constructs a new LabelDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ILabelDescriptor);
+
+ /** LabelDescriptor key. */
+ public key: string;
+
+ /** LabelDescriptor valueType. */
+ public valueType: (google.api.LabelDescriptor.ValueType|keyof typeof google.api.LabelDescriptor.ValueType);
+
+ /** LabelDescriptor description. */
+ public description: string;
+
+ /**
+ * Creates a new LabelDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LabelDescriptor instance
+ */
+ public static create(properties?: google.api.ILabelDescriptor): google.api.LabelDescriptor;
+
+ /**
+ * Encodes the specified LabelDescriptor message. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages.
+ * @param message LabelDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ILabelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LabelDescriptor message, length delimited. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages.
+ * @param message LabelDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ILabelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LabelDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LabelDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.LabelDescriptor;
+
+ /**
+ * Decodes a LabelDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LabelDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.LabelDescriptor;
+
+ /**
+ * Verifies a LabelDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LabelDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LabelDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.LabelDescriptor;
+
+ /**
+ * Creates a plain object from a LabelDescriptor message. Also converts values to other types if specified.
+ * @param message LabelDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.LabelDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LabelDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LabelDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace LabelDescriptor {
+
+ /** ValueType enum. */
+ enum ValueType {
+ STRING = 0,
+ BOOL = 1,
+ INT64 = 2
+ }
+ }
+
+ /** LaunchStage enum. */
+ enum LaunchStage {
+ LAUNCH_STAGE_UNSPECIFIED = 0,
+ UNIMPLEMENTED = 6,
+ PRELAUNCH = 7,
+ EARLY_ACCESS = 1,
+ ALPHA = 2,
+ BETA = 3,
+ GA = 4,
+ DEPRECATED = 5
+ }
+
+ /** Properties of a MetricDescriptor. */
+ interface IMetricDescriptor {
+
+ /** MetricDescriptor name */
+ name?: (string|null);
+
+ /** MetricDescriptor type */
+ type?: (string|null);
+
+ /** MetricDescriptor labels */
+ labels?: (google.api.ILabelDescriptor[]|null);
+
+ /** MetricDescriptor metricKind */
+ metricKind?: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind|null);
+
+ /** MetricDescriptor valueType */
+ valueType?: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType|null);
+
+ /** MetricDescriptor unit */
+ unit?: (string|null);
+
+ /** MetricDescriptor description */
+ description?: (string|null);
+
+ /** MetricDescriptor displayName */
+ displayName?: (string|null);
+
+ /** MetricDescriptor metadata */
+ metadata?: (google.api.MetricDescriptor.IMetricDescriptorMetadata|null);
+
+ /** MetricDescriptor launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+
+ /** MetricDescriptor monitoredResourceTypes */
+ monitoredResourceTypes?: (string[]|null);
+ }
+
+ /** Represents a MetricDescriptor. */
+ class MetricDescriptor implements IMetricDescriptor {
+
+ /**
+ * Constructs a new MetricDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMetricDescriptor);
+
+ /** MetricDescriptor name. */
+ public name: string;
+
+ /** MetricDescriptor type. */
+ public type: string;
+
+ /** MetricDescriptor labels. */
+ public labels: google.api.ILabelDescriptor[];
+
+ /** MetricDescriptor metricKind. */
+ public metricKind: (google.api.MetricDescriptor.MetricKind|keyof typeof google.api.MetricDescriptor.MetricKind);
+
+ /** MetricDescriptor valueType. */
+ public valueType: (google.api.MetricDescriptor.ValueType|keyof typeof google.api.MetricDescriptor.ValueType);
+
+ /** MetricDescriptor unit. */
+ public unit: string;
+
+ /** MetricDescriptor description. */
+ public description: string;
+
+ /** MetricDescriptor displayName. */
+ public displayName: string;
+
+ /** MetricDescriptor metadata. */
+ public metadata?: (google.api.MetricDescriptor.IMetricDescriptorMetadata|null);
+
+ /** MetricDescriptor launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /** MetricDescriptor monitoredResourceTypes. */
+ public monitoredResourceTypes: string[];
+
+ /**
+ * Creates a new MetricDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetricDescriptor instance
+ */
+ public static create(properties?: google.api.IMetricDescriptor): google.api.MetricDescriptor;
+
+ /**
+ * Encodes the specified MetricDescriptor message. Does not implicitly {@link google.api.MetricDescriptor.verify|verify} messages.
+ * @param message MetricDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMetricDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetricDescriptor message, length delimited. Does not implicitly {@link google.api.MetricDescriptor.verify|verify} messages.
+ * @param message MetricDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMetricDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetricDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetricDescriptor
+ * @throws {Error} If the payload is not 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.MetricDescriptor;
+
+ /**
+ * Decodes a MetricDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetricDescriptor
+ * @throws {Error} If the payload 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.MetricDescriptor;
+
+ /**
+ * Verifies a MetricDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MetricDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetricDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MetricDescriptor;
+
+ /**
+ * Creates a plain object from a MetricDescriptor message. Also converts values to other types if specified.
+ * @param message MetricDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MetricDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetricDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MetricDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MetricDescriptor {
+
+ /** Properties of a MetricDescriptorMetadata. */
+ interface IMetricDescriptorMetadata {
+
+ /** MetricDescriptorMetadata launchStage */
+ launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null);
+
+ /** MetricDescriptorMetadata samplePeriod */
+ samplePeriod?: (google.protobuf.IDuration|null);
+
+ /** MetricDescriptorMetadata ingestDelay */
+ ingestDelay?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a MetricDescriptorMetadata. */
+ class MetricDescriptorMetadata implements IMetricDescriptorMetadata {
+
+ /**
+ * Constructs a new MetricDescriptorMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.MetricDescriptor.IMetricDescriptorMetadata);
+
+ /** MetricDescriptorMetadata launchStage. */
+ public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage);
+
+ /** MetricDescriptorMetadata samplePeriod. */
+ public samplePeriod?: (google.protobuf.IDuration|null);
+
+ /** MetricDescriptorMetadata ingestDelay. */
+ public ingestDelay?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new MetricDescriptorMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetricDescriptorMetadata instance
+ */
+ public static create(properties?: google.api.MetricDescriptor.IMetricDescriptorMetadata): google.api.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Encodes the specified MetricDescriptorMetadata message. Does not implicitly {@link google.api.MetricDescriptor.MetricDescriptorMetadata.verify|verify} messages.
+ * @param message MetricDescriptorMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.MetricDescriptor.IMetricDescriptorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetricDescriptorMetadata message, length delimited. Does not implicitly {@link google.api.MetricDescriptor.MetricDescriptorMetadata.verify|verify} messages.
+ * @param message MetricDescriptorMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.MetricDescriptor.IMetricDescriptorMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetricDescriptorMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetricDescriptorMetadata
+ * @throws {Error} If the payload is not 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.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Decodes a MetricDescriptorMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetricDescriptorMetadata
+ * @throws {Error} If the payload 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.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Verifies a MetricDescriptorMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MetricDescriptorMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetricDescriptorMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.MetricDescriptor.MetricDescriptorMetadata;
+
+ /**
+ * Creates a plain object from a MetricDescriptorMetadata message. Also converts values to other types if specified.
+ * @param message MetricDescriptorMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.MetricDescriptor.MetricDescriptorMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetricDescriptorMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MetricDescriptorMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** MetricKind enum. */
+ enum MetricKind {
+ METRIC_KIND_UNSPECIFIED = 0,
+ GAUGE = 1,
+ DELTA = 2,
+ CUMULATIVE = 3
+ }
+
+ /** ValueType enum. */
+ enum ValueType {
+ VALUE_TYPE_UNSPECIFIED = 0,
+ BOOL = 1,
+ INT64 = 2,
+ DOUBLE = 3,
+ STRING = 4,
+ DISTRIBUTION = 5,
+ MONEY = 6
+ }
+ }
+
+ /** Properties of a Metric. */
+ interface IMetric {
+
+ /** Metric type */
+ type?: (string|null);
+
+ /** Metric labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Metric. */
+ class Metric implements IMetric {
+
+ /**
+ * Constructs a new Metric.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IMetric);
+
+ /** Metric type. */
+ public type: string;
+
+ /** Metric labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new Metric instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Metric instance
+ */
+ public static create(properties?: google.api.IMetric): google.api.Metric;
+
+ /**
+ * Encodes the specified Metric message. Does not implicitly {@link google.api.Metric.verify|verify} messages.
+ * @param message Metric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Metric message, length delimited. Does not implicitly {@link google.api.Metric.verify|verify} messages.
+ * @param message Metric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Metric message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Metric
+ * @throws {Error} If the payload is not 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.Metric;
+
+ /**
+ * Decodes a Metric message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Metric
+ * @throws {Error} If the payload 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.Metric;
+
+ /**
+ * Verifies a Metric message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Metric message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Metric
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Metric;
+
+ /**
+ * Creates a plain object from a Metric message. Also converts values to other types if specified.
+ * @param message Metric
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Metric, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Metric to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Metric
+ * @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);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DoubleValue. */
+ interface IDoubleValue {
+
+ /** DoubleValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a DoubleValue. */
+ class DoubleValue implements IDoubleValue {
+
+ /**
+ * Constructs a new DoubleValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDoubleValue);
+
+ /** DoubleValue value. */
+ public value: number;
+
+ /**
+ * Creates a new DoubleValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DoubleValue instance
+ */
+ public static create(properties?: google.protobuf.IDoubleValue): google.protobuf.DoubleValue;
+
+ /**
+ * Encodes the specified DoubleValue message. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DoubleValue message, length delimited. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DoubleValue
+ * @throws {Error} If the payload is not 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.DoubleValue;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DoubleValue
+ * @throws {Error} If the payload 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.DoubleValue;
+
+ /**
+ * Verifies a DoubleValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DoubleValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DoubleValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DoubleValue;
+
+ /**
+ * Creates a plain object from a DoubleValue message. Also converts values to other types if specified.
+ * @param message DoubleValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DoubleValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DoubleValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DoubleValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FloatValue. */
+ interface IFloatValue {
+
+ /** FloatValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a FloatValue. */
+ class FloatValue implements IFloatValue {
+
+ /**
+ * Constructs a new FloatValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFloatValue);
+
+ /** FloatValue value. */
+ public value: number;
+
+ /**
+ * Creates a new FloatValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FloatValue instance
+ */
+ public static create(properties?: google.protobuf.IFloatValue): google.protobuf.FloatValue;
+
+ /**
+ * Encodes the specified FloatValue message. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FloatValue message, length delimited. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FloatValue
+ * @throws {Error} If the payload is not 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.FloatValue;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FloatValue
+ * @throws {Error} If the payload 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.FloatValue;
+
+ /**
+ * Verifies a FloatValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FloatValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FloatValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FloatValue;
+
+ /**
+ * Creates a plain object from a FloatValue message. Also converts values to other types if specified.
+ * @param message FloatValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FloatValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FloatValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FloatValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int64Value. */
+ interface IInt64Value {
+
+ /** Int64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents an Int64Value. */
+ class Int64Value implements IInt64Value {
+
+ /**
+ * Constructs a new Int64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt64Value);
+
+ /** Int64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new Int64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int64Value instance
+ */
+ public static create(properties?: google.protobuf.IInt64Value): google.protobuf.Int64Value;
+
+ /**
+ * Encodes the specified Int64Value message. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int64Value message, length delimited. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int64Value
+ * @throws {Error} If the payload is not 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.Int64Value;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int64Value
+ * @throws {Error} If the payload 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.Int64Value;
+
+ /**
+ * Verifies an Int64Value message.
+ * @param message Plain 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 Int64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int64Value;
+
+ /**
+ * Creates a plain object from an Int64Value message. Also converts values to other types if specified.
+ * @param message Int64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt64Value. */
+ interface IUInt64Value {
+
+ /** UInt64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents a UInt64Value. */
+ class UInt64Value implements IUInt64Value {
+
+ /**
+ * Constructs a new UInt64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt64Value);
+
+ /** UInt64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new UInt64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt64Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt64Value): google.protobuf.UInt64Value;
+
+ /**
+ * Encodes the specified UInt64Value message. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt64Value message, length delimited. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt64Value
+ * @throws {Error} If the payload is not 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.UInt64Value;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt64Value
+ * @throws {Error} If the payload 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.UInt64Value;
+
+ /**
+ * Verifies a UInt64Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt64Value;
+
+ /**
+ * Creates a plain object from a UInt64Value message. Also converts values to other types if specified.
+ * @param message UInt64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int32Value. */
+ interface IInt32Value {
+
+ /** Int32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents an Int32Value. */
+ class Int32Value implements IInt32Value {
+
+ /**
+ * Constructs a new Int32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt32Value);
+
+ /** Int32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new Int32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int32Value instance
+ */
+ public static create(properties?: google.protobuf.IInt32Value): google.protobuf.Int32Value;
+
+ /**
+ * Encodes the specified Int32Value message. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int32Value message, length delimited. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int32Value
+ * @throws {Error} If the payload is not 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.Int32Value;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int32Value
+ * @throws {Error} If the payload 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.Int32Value;
+
+ /**
+ * Verifies an Int32Value message.
+ * @param message Plain 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 Int32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int32Value;
+
+ /**
+ * Creates a plain object from an Int32Value message. Also converts values to other types if specified.
+ * @param message Int32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt32Value. */
+ interface IUInt32Value {
+
+ /** UInt32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents a UInt32Value. */
+ class UInt32Value implements IUInt32Value {
+
+ /**
+ * Constructs a new UInt32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt32Value);
+
+ /** UInt32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new UInt32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt32Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt32Value): google.protobuf.UInt32Value;
+
+ /**
+ * Encodes the specified UInt32Value message. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt32Value message, length delimited. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt32Value
+ * @throws {Error} If the payload is not 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.UInt32Value;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt32Value
+ * @throws {Error} If the payload 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.UInt32Value;
+
+ /**
+ * Verifies a UInt32Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt32Value;
+
+ /**
+ * Creates a plain object from a UInt32Value message. Also converts values to other types if specified.
+ * @param message UInt32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BoolValue. */
+ interface IBoolValue {
+
+ /** BoolValue value */
+ value?: (boolean|null);
+ }
+
+ /** Represents a BoolValue. */
+ class BoolValue implements IBoolValue {
+
+ /**
+ * Constructs a new BoolValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBoolValue);
+
+ /** BoolValue value. */
+ public value: boolean;
+
+ /**
+ * Creates a new BoolValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoolValue instance
+ */
+ public static create(properties?: google.protobuf.IBoolValue): google.protobuf.BoolValue;
+
+ /**
+ * Encodes the specified BoolValue message. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoolValue message, length delimited. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoolValue
+ * @throws {Error} If the payload is not 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.BoolValue;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoolValue
+ * @throws {Error} If the payload 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.BoolValue;
+
+ /**
+ * Verifies a BoolValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoolValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoolValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BoolValue;
+
+ /**
+ * Creates a plain object from a BoolValue message. Also converts values to other types if specified.
+ * @param message BoolValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BoolValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoolValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoolValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StringValue. */
+ interface IStringValue {
+
+ /** StringValue value */
+ value?: (string|null);
+ }
+
+ /** Represents a StringValue. */
+ class StringValue implements IStringValue {
+
+ /**
+ * Constructs a new StringValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStringValue);
+
+ /** StringValue value. */
+ public value: string;
+
+ /**
+ * Creates a new StringValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StringValue instance
+ */
+ public static create(properties?: google.protobuf.IStringValue): google.protobuf.StringValue;
+
+ /**
+ * Encodes the specified StringValue message. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StringValue message, length delimited. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StringValue
+ * @throws {Error} If the payload is not 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.StringValue;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StringValue
+ * @throws {Error} If the payload 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.StringValue;
+
+ /**
+ * Verifies a StringValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StringValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StringValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.StringValue;
+
+ /**
+ * Creates a plain object from a StringValue message. Also converts values to other types if specified.
+ * @param message StringValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.StringValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StringValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StringValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BytesValue. */
+ interface IBytesValue {
+
+ /** BytesValue value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents a BytesValue. */
+ class BytesValue implements IBytesValue {
+
+ /**
+ * Constructs a new BytesValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBytesValue);
+
+ /** BytesValue value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new BytesValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BytesValue instance
+ */
+ public static create(properties?: google.protobuf.IBytesValue): google.protobuf.BytesValue;
+
+ /**
+ * Encodes the specified BytesValue message. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BytesValue message, length delimited. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BytesValue
+ * @throws {Error} If the payload is not 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.BytesValue;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BytesValue
+ * @throws {Error} If the payload 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.BytesValue;
+
+ /**
+ * Verifies a BytesValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BytesValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BytesValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BytesValue;
+
+ /**
+ * Creates a plain object from a BytesValue message. Also converts values to other types if specified.
+ * @param message BytesValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BytesValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BytesValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BytesValue
+ * @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 Struct. */
+ interface IStruct {
+
+ /** Struct fields */
+ fields?: ({ [k: string]: google.protobuf.IValue }|null);
+ }
+
+ /** Represents a Struct. */
+ class Struct implements IStruct {
+
+ /**
+ * Constructs a new Struct.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStruct);
+
+ /** Struct fields. */
+ public fields: { [k: string]: google.protobuf.IValue };
+
+ /**
+ * Creates a new Struct instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Struct instance
+ */
+ public static create(properties?: google.protobuf.IStruct): google.protobuf.Struct;
+
+ /**
+ * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
+ * @param message Struct message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Struct
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Struct;
+
+ /**
+ * Decodes a Struct message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Struct
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Struct;
+
+ /**
+ * Verifies a Struct message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Struct message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Struct
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Struct;
+
+ /**
+ * Creates a plain object from a Struct message. Also converts values to other types if specified.
+ * @param message Struct
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Struct, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Struct to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Struct
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Value. */
+ interface IValue {
+
+ /** Value nullValue */
+ nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue */
+ numberValue?: (number|null);
+
+ /** Value stringValue */
+ stringValue?: (string|null);
+
+ /** Value boolValue */
+ boolValue?: (boolean|null);
+
+ /** Value structValue */
+ structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue */
+ listValue?: (google.protobuf.IListValue|null);
+ }
+
+ /** Represents a Value. */
+ class Value implements IValue {
+
+ /**
+ * Constructs a new Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IValue);
+
+ /** Value nullValue. */
+ public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);
+
+ /** Value numberValue. */
+ public numberValue?: (number|null);
+
+ /** Value stringValue. */
+ public stringValue?: (string|null);
+
+ /** Value boolValue. */
+ public boolValue?: (boolean|null);
+
+ /** Value structValue. */
+ public structValue?: (google.protobuf.IStruct|null);
+
+ /** Value listValue. */
+ public listValue?: (google.protobuf.IListValue|null);
+
+ /** Value kind. */
+ public kind?: ("nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue");
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Value instance
+ */
+ public static create(properties?: google.protobuf.IValue): google.protobuf.Value;
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Value;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Value;
+
+ /**
+ * Verifies a Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Value;
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @param message Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** NullValue enum. */
+ enum NullValue {
+ NULL_VALUE = 0
+ }
+
+ /** Properties of a ListValue. */
+ interface IListValue {
+
+ /** ListValue values */
+ values?: (google.protobuf.IValue[]|null);
+ }
+
+ /** Represents a ListValue. */
+ class ListValue implements IListValue {
+
+ /**
+ * Constructs a new ListValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IListValue);
+
+ /** ListValue values. */
+ public values: google.protobuf.IValue[];
+
+ /**
+ * Creates a new ListValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListValue instance
+ */
+ public static create(properties?: google.protobuf.IListValue): google.protobuf.ListValue;
+
+ /**
+ * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
+ * @param message ListValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ListValue;
+
+ /**
+ * Decodes a ListValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ListValue;
+
+ /**
+ * Verifies a ListValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ListValue;
+
+ /**
+ * Creates a plain object from a ListValue message. Also converts values to other types if specified.
+ * @param message ListValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ListValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** 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 {
+
+ /** CalendarPeriod enum. */
+ enum CalendarPeriod {
+ CALENDAR_PERIOD_UNSPECIFIED = 0,
+ DAY = 1,
+ WEEK = 2,
+ FORTNIGHT = 3,
+ MONTH = 4,
+ QUARTER = 5,
+ HALF = 6,
+ YEAR = 7
+ }
+ }
+}
diff --git a/packages/google-cloud-monitoring/protos/protos.js b/packages/google-cloud-monitoring/protos/protos.js
new file mode 100644
index 00000000000..1bd8a260358
--- /dev/null
+++ b/packages/google-cloud-monitoring/protos/protos.js
@@ -0,0 +1,54007 @@
+// 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_monitoring_protos || ($protobuf.roots._google_cloud_monitoring_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.monitoring = (function() {
+
+ /**
+ * Namespace monitoring.
+ * @memberof google
+ * @namespace
+ */
+ var monitoring = {};
+
+ monitoring.v3 = (function() {
+
+ /**
+ * Namespace v3.
+ * @memberof google.monitoring
+ * @namespace
+ */
+ var v3 = {};
+
+ v3.AlertPolicy = (function() {
+
+ /**
+ * Properties of an AlertPolicy.
+ * @memberof google.monitoring.v3
+ * @interface IAlertPolicy
+ * @property {string|null} [name] AlertPolicy name
+ * @property {string|null} [displayName] AlertPolicy displayName
+ * @property {google.monitoring.v3.AlertPolicy.IDocumentation|null} [documentation] AlertPolicy documentation
+ * @property {Object.|null} [userLabels] AlertPolicy userLabels
+ * @property {Array.|null} [conditions] AlertPolicy conditions
+ * @property {google.monitoring.v3.AlertPolicy.ConditionCombinerType|null} [combiner] AlertPolicy combiner
+ * @property {google.protobuf.IBoolValue|null} [enabled] AlertPolicy enabled
+ * @property {google.rpc.IStatus|null} [validity] AlertPolicy validity
+ * @property {Array.|null} [notificationChannels] AlertPolicy notificationChannels
+ * @property {google.monitoring.v3.IMutationRecord|null} [creationRecord] AlertPolicy creationRecord
+ * @property {google.monitoring.v3.IMutationRecord|null} [mutationRecord] AlertPolicy mutationRecord
+ */
+
+ /**
+ * Constructs a new AlertPolicy.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents an AlertPolicy.
+ * @implements IAlertPolicy
+ * @constructor
+ * @param {google.monitoring.v3.IAlertPolicy=} [properties] Properties to set
+ */
+ function AlertPolicy(properties) {
+ this.userLabels = {};
+ this.conditions = [];
+ this.notificationChannels = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AlertPolicy name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.name = "";
+
+ /**
+ * AlertPolicy displayName.
+ * @member {string} displayName
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.displayName = "";
+
+ /**
+ * AlertPolicy documentation.
+ * @member {google.monitoring.v3.AlertPolicy.IDocumentation|null|undefined} documentation
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.documentation = null;
+
+ /**
+ * AlertPolicy userLabels.
+ * @member {Object.} userLabels
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.userLabels = $util.emptyObject;
+
+ /**
+ * AlertPolicy conditions.
+ * @member {Array.} conditions
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.conditions = $util.emptyArray;
+
+ /**
+ * AlertPolicy combiner.
+ * @member {google.monitoring.v3.AlertPolicy.ConditionCombinerType} combiner
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.combiner = 0;
+
+ /**
+ * AlertPolicy enabled.
+ * @member {google.protobuf.IBoolValue|null|undefined} enabled
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.enabled = null;
+
+ /**
+ * AlertPolicy validity.
+ * @member {google.rpc.IStatus|null|undefined} validity
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.validity = null;
+
+ /**
+ * AlertPolicy notificationChannels.
+ * @member {Array.} notificationChannels
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.notificationChannels = $util.emptyArray;
+
+ /**
+ * AlertPolicy creationRecord.
+ * @member {google.monitoring.v3.IMutationRecord|null|undefined} creationRecord
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.creationRecord = null;
+
+ /**
+ * AlertPolicy mutationRecord.
+ * @member {google.monitoring.v3.IMutationRecord|null|undefined} mutationRecord
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ */
+ AlertPolicy.prototype.mutationRecord = null;
+
+ /**
+ * Creates a new AlertPolicy instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {google.monitoring.v3.IAlertPolicy=} [properties] Properties to set
+ * @returns {google.monitoring.v3.AlertPolicy} AlertPolicy instance
+ */
+ AlertPolicy.create = function create(properties) {
+ return new AlertPolicy(properties);
+ };
+
+ /**
+ * Encodes the specified AlertPolicy message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {google.monitoring.v3.IAlertPolicy} message AlertPolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AlertPolicy.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.combiner != null && Object.hasOwnProperty.call(message, "combiner"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.combiner);
+ if (message.creationRecord != null && Object.hasOwnProperty.call(message, "creationRecord"))
+ $root.google.monitoring.v3.MutationRecord.encode(message.creationRecord, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.mutationRecord != null && Object.hasOwnProperty.call(message, "mutationRecord"))
+ $root.google.monitoring.v3.MutationRecord.encode(message.mutationRecord, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.conditions != null && message.conditions.length)
+ for (var i = 0; i < message.conditions.length; ++i)
+ $root.google.monitoring.v3.AlertPolicy.Condition.encode(message.conditions[i], writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.documentation != null && Object.hasOwnProperty.call(message, "documentation"))
+ $root.google.monitoring.v3.AlertPolicy.Documentation.encode(message.documentation, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.notificationChannels != null && message.notificationChannels.length)
+ for (var i = 0; i < message.notificationChannels.length; ++i)
+ writer.uint32(/* id 14, wireType 2 =*/114).string(message.notificationChannels[i]);
+ if (message.userLabels != null && Object.hasOwnProperty.call(message, "userLabels"))
+ for (var keys = Object.keys(message.userLabels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 16, wireType 2 =*/130).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.userLabels[keys[i]]).ldelim();
+ if (message.enabled != null && Object.hasOwnProperty.call(message, "enabled"))
+ $root.google.protobuf.BoolValue.encode(message.enabled, writer.uint32(/* id 17, wireType 2 =*/138).fork()).ldelim();
+ if (message.validity != null && Object.hasOwnProperty.call(message, "validity"))
+ $root.google.rpc.Status.encode(message.validity, writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AlertPolicy message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {google.monitoring.v3.IAlertPolicy} message AlertPolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AlertPolicy.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AlertPolicy message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.AlertPolicy} AlertPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AlertPolicy.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.AlertPolicy(), 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 13: {
+ message.documentation = $root.google.monitoring.v3.AlertPolicy.Documentation.decode(reader, reader.uint32());
+ break;
+ }
+ case 16: {
+ if (message.userLabels === $util.emptyObject)
+ message.userLabels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.userLabels[key] = value;
+ break;
+ }
+ case 12: {
+ if (!(message.conditions && message.conditions.length))
+ message.conditions = [];
+ message.conditions.push($root.google.monitoring.v3.AlertPolicy.Condition.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ message.combiner = reader.int32();
+ break;
+ }
+ case 17: {
+ message.enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+ break;
+ }
+ case 18: {
+ message.validity = $root.google.rpc.Status.decode(reader, reader.uint32());
+ break;
+ }
+ case 14: {
+ if (!(message.notificationChannels && message.notificationChannels.length))
+ message.notificationChannels = [];
+ message.notificationChannels.push(reader.string());
+ break;
+ }
+ case 10: {
+ message.creationRecord = $root.google.monitoring.v3.MutationRecord.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.mutationRecord = $root.google.monitoring.v3.MutationRecord.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AlertPolicy message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.AlertPolicy} AlertPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AlertPolicy.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AlertPolicy message.
+ * @function verify
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AlertPolicy.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.documentation != null && message.hasOwnProperty("documentation")) {
+ var error = $root.google.monitoring.v3.AlertPolicy.Documentation.verify(message.documentation);
+ if (error)
+ return "documentation." + error;
+ }
+ if (message.userLabels != null && message.hasOwnProperty("userLabels")) {
+ if (!$util.isObject(message.userLabels))
+ return "userLabels: object expected";
+ var key = Object.keys(message.userLabels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.userLabels[key[i]]))
+ return "userLabels: string{k:string} expected";
+ }
+ if (message.conditions != null && message.hasOwnProperty("conditions")) {
+ if (!Array.isArray(message.conditions))
+ return "conditions: array expected";
+ for (var i = 0; i < message.conditions.length; ++i) {
+ var error = $root.google.monitoring.v3.AlertPolicy.Condition.verify(message.conditions[i]);
+ if (error)
+ return "conditions." + error;
+ }
+ }
+ if (message.combiner != null && message.hasOwnProperty("combiner"))
+ switch (message.combiner) {
+ default:
+ return "combiner: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.enabled != null && message.hasOwnProperty("enabled")) {
+ var error = $root.google.protobuf.BoolValue.verify(message.enabled);
+ if (error)
+ return "enabled." + error;
+ }
+ if (message.validity != null && message.hasOwnProperty("validity")) {
+ var error = $root.google.rpc.Status.verify(message.validity);
+ if (error)
+ return "validity." + error;
+ }
+ if (message.notificationChannels != null && message.hasOwnProperty("notificationChannels")) {
+ if (!Array.isArray(message.notificationChannels))
+ return "notificationChannels: array expected";
+ for (var i = 0; i < message.notificationChannels.length; ++i)
+ if (!$util.isString(message.notificationChannels[i]))
+ return "notificationChannels: string[] expected";
+ }
+ if (message.creationRecord != null && message.hasOwnProperty("creationRecord")) {
+ var error = $root.google.monitoring.v3.MutationRecord.verify(message.creationRecord);
+ if (error)
+ return "creationRecord." + error;
+ }
+ if (message.mutationRecord != null && message.hasOwnProperty("mutationRecord")) {
+ var error = $root.google.monitoring.v3.MutationRecord.verify(message.mutationRecord);
+ if (error)
+ return "mutationRecord." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AlertPolicy message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.AlertPolicy} AlertPolicy
+ */
+ AlertPolicy.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.AlertPolicy)
+ return object;
+ var message = new $root.google.monitoring.v3.AlertPolicy();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.documentation != null) {
+ if (typeof object.documentation !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.documentation: object expected");
+ message.documentation = $root.google.monitoring.v3.AlertPolicy.Documentation.fromObject(object.documentation);
+ }
+ if (object.userLabels) {
+ if (typeof object.userLabels !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.userLabels: object expected");
+ message.userLabels = {};
+ for (var keys = Object.keys(object.userLabels), i = 0; i < keys.length; ++i)
+ message.userLabels[keys[i]] = String(object.userLabels[keys[i]]);
+ }
+ if (object.conditions) {
+ if (!Array.isArray(object.conditions))
+ throw TypeError(".google.monitoring.v3.AlertPolicy.conditions: array expected");
+ message.conditions = [];
+ for (var i = 0; i < object.conditions.length; ++i) {
+ if (typeof object.conditions[i] !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.conditions: object expected");
+ message.conditions[i] = $root.google.monitoring.v3.AlertPolicy.Condition.fromObject(object.conditions[i]);
+ }
+ }
+ switch (object.combiner) {
+ default:
+ if (typeof object.combiner === "number") {
+ message.combiner = object.combiner;
+ break;
+ }
+ break;
+ case "COMBINE_UNSPECIFIED":
+ case 0:
+ message.combiner = 0;
+ break;
+ case "AND":
+ case 1:
+ message.combiner = 1;
+ break;
+ case "OR":
+ case 2:
+ message.combiner = 2;
+ break;
+ case "AND_WITH_MATCHING_RESOURCE":
+ case 3:
+ message.combiner = 3;
+ break;
+ }
+ if (object.enabled != null) {
+ if (typeof object.enabled !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.enabled: object expected");
+ message.enabled = $root.google.protobuf.BoolValue.fromObject(object.enabled);
+ }
+ if (object.validity != null) {
+ if (typeof object.validity !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.validity: object expected");
+ message.validity = $root.google.rpc.Status.fromObject(object.validity);
+ }
+ if (object.notificationChannels) {
+ if (!Array.isArray(object.notificationChannels))
+ throw TypeError(".google.monitoring.v3.AlertPolicy.notificationChannels: array expected");
+ message.notificationChannels = [];
+ for (var i = 0; i < object.notificationChannels.length; ++i)
+ message.notificationChannels[i] = String(object.notificationChannels[i]);
+ }
+ if (object.creationRecord != null) {
+ if (typeof object.creationRecord !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.creationRecord: object expected");
+ message.creationRecord = $root.google.monitoring.v3.MutationRecord.fromObject(object.creationRecord);
+ }
+ if (object.mutationRecord != null) {
+ if (typeof object.mutationRecord !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.mutationRecord: object expected");
+ message.mutationRecord = $root.google.monitoring.v3.MutationRecord.fromObject(object.mutationRecord);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AlertPolicy message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy} message AlertPolicy
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AlertPolicy.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.conditions = [];
+ object.notificationChannels = [];
+ }
+ if (options.objects || options.defaults)
+ object.userLabels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.displayName = "";
+ object.combiner = options.enums === String ? "COMBINE_UNSPECIFIED" : 0;
+ object.creationRecord = null;
+ object.mutationRecord = null;
+ object.documentation = null;
+ object.enabled = null;
+ object.validity = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.combiner != null && message.hasOwnProperty("combiner"))
+ object.combiner = options.enums === String ? $root.google.monitoring.v3.AlertPolicy.ConditionCombinerType[message.combiner] === undefined ? message.combiner : $root.google.monitoring.v3.AlertPolicy.ConditionCombinerType[message.combiner] : message.combiner;
+ if (message.creationRecord != null && message.hasOwnProperty("creationRecord"))
+ object.creationRecord = $root.google.monitoring.v3.MutationRecord.toObject(message.creationRecord, options);
+ if (message.mutationRecord != null && message.hasOwnProperty("mutationRecord"))
+ object.mutationRecord = $root.google.monitoring.v3.MutationRecord.toObject(message.mutationRecord, options);
+ if (message.conditions && message.conditions.length) {
+ object.conditions = [];
+ for (var j = 0; j < message.conditions.length; ++j)
+ object.conditions[j] = $root.google.monitoring.v3.AlertPolicy.Condition.toObject(message.conditions[j], options);
+ }
+ if (message.documentation != null && message.hasOwnProperty("documentation"))
+ object.documentation = $root.google.monitoring.v3.AlertPolicy.Documentation.toObject(message.documentation, options);
+ if (message.notificationChannels && message.notificationChannels.length) {
+ object.notificationChannels = [];
+ for (var j = 0; j < message.notificationChannels.length; ++j)
+ object.notificationChannels[j] = message.notificationChannels[j];
+ }
+ var keys2;
+ if (message.userLabels && (keys2 = Object.keys(message.userLabels)).length) {
+ object.userLabels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.userLabels[keys2[j]] = message.userLabels[keys2[j]];
+ }
+ if (message.enabled != null && message.hasOwnProperty("enabled"))
+ object.enabled = $root.google.protobuf.BoolValue.toObject(message.enabled, options);
+ if (message.validity != null && message.hasOwnProperty("validity"))
+ object.validity = $root.google.rpc.Status.toObject(message.validity, options);
+ return object;
+ };
+
+ /**
+ * Converts this AlertPolicy to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AlertPolicy.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AlertPolicy
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AlertPolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.AlertPolicy";
+ };
+
+ AlertPolicy.Documentation = (function() {
+
+ /**
+ * Properties of a Documentation.
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @interface IDocumentation
+ * @property {string|null} [content] Documentation content
+ * @property {string|null} [mimeType] Documentation mimeType
+ */
+
+ /**
+ * Constructs a new Documentation.
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @classdesc Represents a Documentation.
+ * @implements IDocumentation
+ * @constructor
+ * @param {google.monitoring.v3.AlertPolicy.IDocumentation=} [properties] Properties to set
+ */
+ function Documentation(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]];
+ }
+
+ /**
+ * Documentation content.
+ * @member {string} content
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @instance
+ */
+ Documentation.prototype.content = "";
+
+ /**
+ * Documentation mimeType.
+ * @member {string} mimeType
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @instance
+ */
+ Documentation.prototype.mimeType = "";
+
+ /**
+ * Creates a new Documentation instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.IDocumentation=} [properties] Properties to set
+ * @returns {google.monitoring.v3.AlertPolicy.Documentation} Documentation instance
+ */
+ Documentation.create = function create(properties) {
+ return new Documentation(properties);
+ };
+
+ /**
+ * Encodes the specified Documentation message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Documentation.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.IDocumentation} message Documentation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Documentation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.content != null && Object.hasOwnProperty.call(message, "content"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.content);
+ if (message.mimeType != null && Object.hasOwnProperty.call(message, "mimeType"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.mimeType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Documentation message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Documentation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.IDocumentation} message Documentation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Documentation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Documentation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.AlertPolicy.Documentation} Documentation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Documentation.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.AlertPolicy.Documentation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.content = reader.string();
+ break;
+ }
+ case 2: {
+ message.mimeType = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Documentation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.AlertPolicy.Documentation} Documentation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Documentation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Documentation message.
+ * @function verify
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Documentation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.content != null && message.hasOwnProperty("content"))
+ if (!$util.isString(message.content))
+ return "content: string expected";
+ if (message.mimeType != null && message.hasOwnProperty("mimeType"))
+ if (!$util.isString(message.mimeType))
+ return "mimeType: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Documentation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.AlertPolicy.Documentation} Documentation
+ */
+ Documentation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.AlertPolicy.Documentation)
+ return object;
+ var message = new $root.google.monitoring.v3.AlertPolicy.Documentation();
+ if (object.content != null)
+ message.content = String(object.content);
+ if (object.mimeType != null)
+ message.mimeType = String(object.mimeType);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Documentation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Documentation} message Documentation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Documentation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.content = "";
+ object.mimeType = "";
+ }
+ if (message.content != null && message.hasOwnProperty("content"))
+ object.content = message.content;
+ if (message.mimeType != null && message.hasOwnProperty("mimeType"))
+ object.mimeType = message.mimeType;
+ return object;
+ };
+
+ /**
+ * Converts this Documentation to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Documentation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Documentation
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.AlertPolicy.Documentation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Documentation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.AlertPolicy.Documentation";
+ };
+
+ return Documentation;
+ })();
+
+ AlertPolicy.Condition = (function() {
+
+ /**
+ * Properties of a Condition.
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @interface ICondition
+ * @property {string|null} [name] Condition name
+ * @property {string|null} [displayName] Condition displayName
+ * @property {google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold|null} [conditionThreshold] Condition conditionThreshold
+ * @property {google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence|null} [conditionAbsent] Condition conditionAbsent
+ * @property {google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition|null} [conditionMonitoringQueryLanguage] Condition conditionMonitoringQueryLanguage
+ */
+
+ /**
+ * Constructs a new Condition.
+ * @memberof google.monitoring.v3.AlertPolicy
+ * @classdesc Represents a Condition.
+ * @implements ICondition
+ * @constructor
+ * @param {google.monitoring.v3.AlertPolicy.ICondition=} [properties] Properties to set
+ */
+ function Condition(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]];
+ }
+
+ /**
+ * Condition name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @instance
+ */
+ Condition.prototype.name = "";
+
+ /**
+ * Condition displayName.
+ * @member {string} displayName
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @instance
+ */
+ Condition.prototype.displayName = "";
+
+ /**
+ * Condition conditionThreshold.
+ * @member {google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold|null|undefined} conditionThreshold
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @instance
+ */
+ Condition.prototype.conditionThreshold = null;
+
+ /**
+ * Condition conditionAbsent.
+ * @member {google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence|null|undefined} conditionAbsent
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @instance
+ */
+ Condition.prototype.conditionAbsent = null;
+
+ /**
+ * Condition conditionMonitoringQueryLanguage.
+ * @member {google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition|null|undefined} conditionMonitoringQueryLanguage
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @instance
+ */
+ Condition.prototype.conditionMonitoringQueryLanguage = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Condition condition.
+ * @member {"conditionThreshold"|"conditionAbsent"|"conditionMonitoringQueryLanguage"|undefined} condition
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @instance
+ */
+ Object.defineProperty(Condition.prototype, "condition", {
+ get: $util.oneOfGetter($oneOfFields = ["conditionThreshold", "conditionAbsent", "conditionMonitoringQueryLanguage"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.ICondition=} [properties] Properties to set
+ * @returns {google.monitoring.v3.AlertPolicy.Condition} Condition instance
+ */
+ Condition.create = function create(properties) {
+ return new Condition(properties);
+ };
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.ICondition} message Condition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Condition.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.conditionThreshold != null && Object.hasOwnProperty.call(message, "conditionThreshold"))
+ $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.encode(message.conditionThreshold, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.conditionAbsent != null && Object.hasOwnProperty.call(message, "conditionAbsent"))
+ $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.encode(message.conditionAbsent, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.displayName);
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.name);
+ if (message.conditionMonitoringQueryLanguage != null && Object.hasOwnProperty.call(message, "conditionMonitoringQueryLanguage"))
+ $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.encode(message.conditionMonitoringQueryLanguage, writer.uint32(/* id 19, wireType 2 =*/154).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.ICondition} message Condition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Condition.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.AlertPolicy.Condition} Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Condition.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.AlertPolicy.Condition();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 12: {
+ message.name = reader.string();
+ break;
+ }
+ case 6: {
+ message.displayName = reader.string();
+ break;
+ }
+ case 1: {
+ message.conditionThreshold = $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.conditionAbsent = $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.decode(reader, reader.uint32());
+ break;
+ }
+ case 19: {
+ message.conditionMonitoringQueryLanguage = $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.AlertPolicy.Condition} Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Condition.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Condition message.
+ * @function verify
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Condition.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.conditionThreshold != null && message.hasOwnProperty("conditionThreshold")) {
+ properties.condition = 1;
+ {
+ var error = $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.verify(message.conditionThreshold);
+ if (error)
+ return "conditionThreshold." + error;
+ }
+ }
+ if (message.conditionAbsent != null && message.hasOwnProperty("conditionAbsent")) {
+ if (properties.condition === 1)
+ return "condition: multiple values";
+ properties.condition = 1;
+ {
+ var error = $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.verify(message.conditionAbsent);
+ if (error)
+ return "conditionAbsent." + error;
+ }
+ }
+ if (message.conditionMonitoringQueryLanguage != null && message.hasOwnProperty("conditionMonitoringQueryLanguage")) {
+ if (properties.condition === 1)
+ return "condition: multiple values";
+ properties.condition = 1;
+ {
+ var error = $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.verify(message.conditionMonitoringQueryLanguage);
+ if (error)
+ return "conditionMonitoringQueryLanguage." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Condition message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.AlertPolicy.Condition} Condition
+ */
+ Condition.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.AlertPolicy.Condition)
+ return object;
+ var message = new $root.google.monitoring.v3.AlertPolicy.Condition();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.conditionThreshold != null) {
+ if (typeof object.conditionThreshold !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.conditionThreshold: object expected");
+ message.conditionThreshold = $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.fromObject(object.conditionThreshold);
+ }
+ if (object.conditionAbsent != null) {
+ if (typeof object.conditionAbsent !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.conditionAbsent: object expected");
+ message.conditionAbsent = $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.fromObject(object.conditionAbsent);
+ }
+ if (object.conditionMonitoringQueryLanguage != null) {
+ if (typeof object.conditionMonitoringQueryLanguage !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.conditionMonitoringQueryLanguage: object expected");
+ message.conditionMonitoringQueryLanguage = $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.fromObject(object.conditionMonitoringQueryLanguage);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Condition message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition} message Condition
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Condition.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.displayName = "";
+ object.name = "";
+ }
+ if (message.conditionThreshold != null && message.hasOwnProperty("conditionThreshold")) {
+ object.conditionThreshold = $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.toObject(message.conditionThreshold, options);
+ if (options.oneofs)
+ object.condition = "conditionThreshold";
+ }
+ if (message.conditionAbsent != null && message.hasOwnProperty("conditionAbsent")) {
+ object.conditionAbsent = $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.toObject(message.conditionAbsent, options);
+ if (options.oneofs)
+ object.condition = "conditionAbsent";
+ }
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.conditionMonitoringQueryLanguage != null && message.hasOwnProperty("conditionMonitoringQueryLanguage")) {
+ object.conditionMonitoringQueryLanguage = $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.toObject(message.conditionMonitoringQueryLanguage, options);
+ if (options.oneofs)
+ object.condition = "conditionMonitoringQueryLanguage";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Condition to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Condition.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Condition
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Condition.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.AlertPolicy.Condition";
+ };
+
+ Condition.Trigger = (function() {
+
+ /**
+ * Properties of a Trigger.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @interface ITrigger
+ * @property {number|null} [count] Trigger count
+ * @property {number|null} [percent] Trigger percent
+ */
+
+ /**
+ * Constructs a new Trigger.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @classdesc Represents a Trigger.
+ * @implements ITrigger
+ * @constructor
+ * @param {google.monitoring.v3.AlertPolicy.Condition.ITrigger=} [properties] Properties to set
+ */
+ function Trigger(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]];
+ }
+
+ /**
+ * Trigger count.
+ * @member {number|null|undefined} count
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @instance
+ */
+ Trigger.prototype.count = null;
+
+ /**
+ * Trigger percent.
+ * @member {number|null|undefined} percent
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @instance
+ */
+ Trigger.prototype.percent = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Trigger type.
+ * @member {"count"|"percent"|undefined} type
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @instance
+ */
+ Object.defineProperty(Trigger.prototype, "type", {
+ get: $util.oneOfGetter($oneOfFields = ["count", "percent"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Trigger instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.ITrigger=} [properties] Properties to set
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.Trigger} Trigger instance
+ */
+ Trigger.create = function create(properties) {
+ return new Trigger(properties);
+ };
+
+ /**
+ * Encodes the specified Trigger message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.Trigger.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.ITrigger} message Trigger message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Trigger.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.count != null && Object.hasOwnProperty.call(message, "count"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.count);
+ if (message.percent != null && Object.hasOwnProperty.call(message, "percent"))
+ writer.uint32(/* id 2, wireType 1 =*/17).double(message.percent);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Trigger message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.Trigger.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.ITrigger} message Trigger message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Trigger.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Trigger message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.Trigger} Trigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Trigger.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.AlertPolicy.Condition.Trigger();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.count = reader.int32();
+ break;
+ }
+ case 2: {
+ message.percent = reader.double();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Trigger message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.Trigger} Trigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Trigger.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Trigger message.
+ * @function verify
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Trigger.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.count != null && message.hasOwnProperty("count")) {
+ properties.type = 1;
+ if (!$util.isInteger(message.count))
+ return "count: integer expected";
+ }
+ if (message.percent != null && message.hasOwnProperty("percent")) {
+ if (properties.type === 1)
+ return "type: multiple values";
+ properties.type = 1;
+ if (typeof message.percent !== "number")
+ return "percent: number expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Trigger message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.Trigger} Trigger
+ */
+ Trigger.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.AlertPolicy.Condition.Trigger)
+ return object;
+ var message = new $root.google.monitoring.v3.AlertPolicy.Condition.Trigger();
+ if (object.count != null)
+ message.count = object.count | 0;
+ if (object.percent != null)
+ message.percent = Number(object.percent);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Trigger message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.Trigger} message Trigger
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Trigger.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.count != null && message.hasOwnProperty("count")) {
+ object.count = message.count;
+ if (options.oneofs)
+ object.type = "count";
+ }
+ if (message.percent != null && message.hasOwnProperty("percent")) {
+ object.percent = options.json && !isFinite(message.percent) ? String(message.percent) : message.percent;
+ if (options.oneofs)
+ object.type = "percent";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Trigger to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Trigger.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Trigger
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.Trigger
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Trigger.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.AlertPolicy.Condition.Trigger";
+ };
+
+ return Trigger;
+ })();
+
+ Condition.MetricThreshold = (function() {
+
+ /**
+ * Properties of a MetricThreshold.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @interface IMetricThreshold
+ * @property {string|null} [filter] MetricThreshold filter
+ * @property {Array.|null} [aggregations] MetricThreshold aggregations
+ * @property {string|null} [denominatorFilter] MetricThreshold denominatorFilter
+ * @property {Array.|null} [denominatorAggregations] MetricThreshold denominatorAggregations
+ * @property {google.monitoring.v3.ComparisonType|null} [comparison] MetricThreshold comparison
+ * @property {number|null} [thresholdValue] MetricThreshold thresholdValue
+ * @property {google.protobuf.IDuration|null} [duration] MetricThreshold duration
+ * @property {google.monitoring.v3.AlertPolicy.Condition.ITrigger|null} [trigger] MetricThreshold trigger
+ */
+
+ /**
+ * Constructs a new MetricThreshold.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @classdesc Represents a MetricThreshold.
+ * @implements IMetricThreshold
+ * @constructor
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold=} [properties] Properties to set
+ */
+ function MetricThreshold(properties) {
+ this.aggregations = [];
+ this.denominatorAggregations = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MetricThreshold filter.
+ * @member {string} filter
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.filter = "";
+
+ /**
+ * MetricThreshold aggregations.
+ * @member {Array.} aggregations
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.aggregations = $util.emptyArray;
+
+ /**
+ * MetricThreshold denominatorFilter.
+ * @member {string} denominatorFilter
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.denominatorFilter = "";
+
+ /**
+ * MetricThreshold denominatorAggregations.
+ * @member {Array.} denominatorAggregations
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.denominatorAggregations = $util.emptyArray;
+
+ /**
+ * MetricThreshold comparison.
+ * @member {google.monitoring.v3.ComparisonType} comparison
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.comparison = 0;
+
+ /**
+ * MetricThreshold thresholdValue.
+ * @member {number} thresholdValue
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.thresholdValue = 0;
+
+ /**
+ * MetricThreshold duration.
+ * @member {google.protobuf.IDuration|null|undefined} duration
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.duration = null;
+
+ /**
+ * MetricThreshold trigger.
+ * @member {google.monitoring.v3.AlertPolicy.Condition.ITrigger|null|undefined} trigger
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ */
+ MetricThreshold.prototype.trigger = null;
+
+ /**
+ * Creates a new MetricThreshold instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold=} [properties] Properties to set
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricThreshold} MetricThreshold instance
+ */
+ MetricThreshold.create = function create(properties) {
+ return new MetricThreshold(properties);
+ };
+
+ /**
+ * Encodes the specified MetricThreshold message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold} message MetricThreshold message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MetricThreshold.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.filter);
+ if (message.comparison != null && Object.hasOwnProperty.call(message, "comparison"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.comparison);
+ if (message.thresholdValue != null && Object.hasOwnProperty.call(message, "thresholdValue"))
+ writer.uint32(/* id 5, wireType 1 =*/41).double(message.thresholdValue);
+ if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
+ $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.trigger != null && Object.hasOwnProperty.call(message, "trigger"))
+ $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.encode(message.trigger, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.aggregations != null && message.aggregations.length)
+ for (var i = 0; i < message.aggregations.length; ++i)
+ $root.google.monitoring.v3.Aggregation.encode(message.aggregations[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.denominatorFilter != null && Object.hasOwnProperty.call(message, "denominatorFilter"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.denominatorFilter);
+ if (message.denominatorAggregations != null && message.denominatorAggregations.length)
+ for (var i = 0; i < message.denominatorAggregations.length; ++i)
+ $root.google.monitoring.v3.Aggregation.encode(message.denominatorAggregations[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MetricThreshold message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricThreshold} message MetricThreshold message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MetricThreshold.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MetricThreshold message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricThreshold} MetricThreshold
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MetricThreshold.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.filter = reader.string();
+ break;
+ }
+ case 8: {
+ if (!(message.aggregations && message.aggregations.length))
+ message.aggregations = [];
+ message.aggregations.push($root.google.monitoring.v3.Aggregation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 9: {
+ message.denominatorFilter = reader.string();
+ break;
+ }
+ case 10: {
+ if (!(message.denominatorAggregations && message.denominatorAggregations.length))
+ message.denominatorAggregations = [];
+ message.denominatorAggregations.push($root.google.monitoring.v3.Aggregation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ message.comparison = reader.int32();
+ break;
+ }
+ case 5: {
+ message.thresholdValue = reader.double();
+ break;
+ }
+ case 6: {
+ message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MetricThreshold message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricThreshold} MetricThreshold
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MetricThreshold.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MetricThreshold message.
+ * @function verify
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MetricThreshold.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.aggregations != null && message.hasOwnProperty("aggregations")) {
+ if (!Array.isArray(message.aggregations))
+ return "aggregations: array expected";
+ for (var i = 0; i < message.aggregations.length; ++i) {
+ var error = $root.google.monitoring.v3.Aggregation.verify(message.aggregations[i]);
+ if (error)
+ return "aggregations." + error;
+ }
+ }
+ if (message.denominatorFilter != null && message.hasOwnProperty("denominatorFilter"))
+ if (!$util.isString(message.denominatorFilter))
+ return "denominatorFilter: string expected";
+ if (message.denominatorAggregations != null && message.hasOwnProperty("denominatorAggregations")) {
+ if (!Array.isArray(message.denominatorAggregations))
+ return "denominatorAggregations: array expected";
+ for (var i = 0; i < message.denominatorAggregations.length; ++i) {
+ var error = $root.google.monitoring.v3.Aggregation.verify(message.denominatorAggregations[i]);
+ if (error)
+ return "denominatorAggregations." + error;
+ }
+ }
+ if (message.comparison != null && message.hasOwnProperty("comparison"))
+ switch (message.comparison) {
+ default:
+ return "comparison: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.thresholdValue != null && message.hasOwnProperty("thresholdValue"))
+ if (typeof message.thresholdValue !== "number")
+ return "thresholdValue: number expected";
+ if (message.duration != null && message.hasOwnProperty("duration")) {
+ var error = $root.google.protobuf.Duration.verify(message.duration);
+ if (error)
+ return "duration." + error;
+ }
+ if (message.trigger != null && message.hasOwnProperty("trigger")) {
+ var error = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.verify(message.trigger);
+ if (error)
+ return "trigger." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MetricThreshold message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricThreshold} MetricThreshold
+ */
+ MetricThreshold.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold)
+ return object;
+ var message = new $root.google.monitoring.v3.AlertPolicy.Condition.MetricThreshold();
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.aggregations) {
+ if (!Array.isArray(object.aggregations))
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.aggregations: array expected");
+ message.aggregations = [];
+ for (var i = 0; i < object.aggregations.length; ++i) {
+ if (typeof object.aggregations[i] !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.aggregations: object expected");
+ message.aggregations[i] = $root.google.monitoring.v3.Aggregation.fromObject(object.aggregations[i]);
+ }
+ }
+ if (object.denominatorFilter != null)
+ message.denominatorFilter = String(object.denominatorFilter);
+ if (object.denominatorAggregations) {
+ if (!Array.isArray(object.denominatorAggregations))
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.denominatorAggregations: array expected");
+ message.denominatorAggregations = [];
+ for (var i = 0; i < object.denominatorAggregations.length; ++i) {
+ if (typeof object.denominatorAggregations[i] !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.denominatorAggregations: object expected");
+ message.denominatorAggregations[i] = $root.google.monitoring.v3.Aggregation.fromObject(object.denominatorAggregations[i]);
+ }
+ }
+ switch (object.comparison) {
+ default:
+ if (typeof object.comparison === "number") {
+ message.comparison = object.comparison;
+ break;
+ }
+ break;
+ case "COMPARISON_UNSPECIFIED":
+ case 0:
+ message.comparison = 0;
+ break;
+ case "COMPARISON_GT":
+ case 1:
+ message.comparison = 1;
+ break;
+ case "COMPARISON_GE":
+ case 2:
+ message.comparison = 2;
+ break;
+ case "COMPARISON_LT":
+ case 3:
+ message.comparison = 3;
+ break;
+ case "COMPARISON_LE":
+ case 4:
+ message.comparison = 4;
+ break;
+ case "COMPARISON_EQ":
+ case 5:
+ message.comparison = 5;
+ break;
+ case "COMPARISON_NE":
+ case 6:
+ message.comparison = 6;
+ break;
+ }
+ if (object.thresholdValue != null)
+ message.thresholdValue = Number(object.thresholdValue);
+ if (object.duration != null) {
+ if (typeof object.duration !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.duration: object expected");
+ message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+ }
+ if (object.trigger != null) {
+ if (typeof object.trigger !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricThreshold.trigger: object expected");
+ message.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.fromObject(object.trigger);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MetricThreshold message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.MetricThreshold} message MetricThreshold
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MetricThreshold.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.aggregations = [];
+ object.denominatorAggregations = [];
+ }
+ if (options.defaults) {
+ object.filter = "";
+ object.comparison = options.enums === String ? "COMPARISON_UNSPECIFIED" : 0;
+ object.thresholdValue = 0;
+ object.duration = null;
+ object.trigger = null;
+ object.denominatorFilter = "";
+ }
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.comparison != null && message.hasOwnProperty("comparison"))
+ object.comparison = options.enums === String ? $root.google.monitoring.v3.ComparisonType[message.comparison] === undefined ? message.comparison : $root.google.monitoring.v3.ComparisonType[message.comparison] : message.comparison;
+ if (message.thresholdValue != null && message.hasOwnProperty("thresholdValue"))
+ object.thresholdValue = options.json && !isFinite(message.thresholdValue) ? String(message.thresholdValue) : message.thresholdValue;
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ object.duration = $root.google.protobuf.Duration.toObject(message.duration, options);
+ if (message.trigger != null && message.hasOwnProperty("trigger"))
+ object.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.toObject(message.trigger, options);
+ if (message.aggregations && message.aggregations.length) {
+ object.aggregations = [];
+ for (var j = 0; j < message.aggregations.length; ++j)
+ object.aggregations[j] = $root.google.monitoring.v3.Aggregation.toObject(message.aggregations[j], options);
+ }
+ if (message.denominatorFilter != null && message.hasOwnProperty("denominatorFilter"))
+ object.denominatorFilter = message.denominatorFilter;
+ if (message.denominatorAggregations && message.denominatorAggregations.length) {
+ object.denominatorAggregations = [];
+ for (var j = 0; j < message.denominatorAggregations.length; ++j)
+ object.denominatorAggregations[j] = $root.google.monitoring.v3.Aggregation.toObject(message.denominatorAggregations[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MetricThreshold to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MetricThreshold.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MetricThreshold
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricThreshold
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MetricThreshold.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.AlertPolicy.Condition.MetricThreshold";
+ };
+
+ return MetricThreshold;
+ })();
+
+ Condition.MetricAbsence = (function() {
+
+ /**
+ * Properties of a MetricAbsence.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @interface IMetricAbsence
+ * @property {string|null} [filter] MetricAbsence filter
+ * @property {Array.|null} [aggregations] MetricAbsence aggregations
+ * @property {google.protobuf.IDuration|null} [duration] MetricAbsence duration
+ * @property {google.monitoring.v3.AlertPolicy.Condition.ITrigger|null} [trigger] MetricAbsence trigger
+ */
+
+ /**
+ * Constructs a new MetricAbsence.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @classdesc Represents a MetricAbsence.
+ * @implements IMetricAbsence
+ * @constructor
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence=} [properties] Properties to set
+ */
+ function MetricAbsence(properties) {
+ this.aggregations = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * MetricAbsence filter.
+ * @member {string} filter
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @instance
+ */
+ MetricAbsence.prototype.filter = "";
+
+ /**
+ * MetricAbsence aggregations.
+ * @member {Array.} aggregations
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @instance
+ */
+ MetricAbsence.prototype.aggregations = $util.emptyArray;
+
+ /**
+ * MetricAbsence duration.
+ * @member {google.protobuf.IDuration|null|undefined} duration
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @instance
+ */
+ MetricAbsence.prototype.duration = null;
+
+ /**
+ * MetricAbsence trigger.
+ * @member {google.monitoring.v3.AlertPolicy.Condition.ITrigger|null|undefined} trigger
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @instance
+ */
+ MetricAbsence.prototype.trigger = null;
+
+ /**
+ * Creates a new MetricAbsence instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence=} [properties] Properties to set
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricAbsence} MetricAbsence instance
+ */
+ MetricAbsence.create = function create(properties) {
+ return new MetricAbsence(properties);
+ };
+
+ /**
+ * Encodes the specified MetricAbsence message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence} message MetricAbsence message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MetricAbsence.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter);
+ if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
+ $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.trigger != null && Object.hasOwnProperty.call(message, "trigger"))
+ $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.encode(message.trigger, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.aggregations != null && message.aggregations.length)
+ for (var i = 0; i < message.aggregations.length; ++i)
+ $root.google.monitoring.v3.Aggregation.encode(message.aggregations[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MetricAbsence message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMetricAbsence} message MetricAbsence message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MetricAbsence.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MetricAbsence message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricAbsence} MetricAbsence
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MetricAbsence.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ if (!(message.aggregations && message.aggregations.length))
+ message.aggregations = [];
+ message.aggregations.push($root.google.monitoring.v3.Aggregation.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MetricAbsence message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricAbsence} MetricAbsence
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MetricAbsence.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MetricAbsence message.
+ * @function verify
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MetricAbsence.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.aggregations != null && message.hasOwnProperty("aggregations")) {
+ if (!Array.isArray(message.aggregations))
+ return "aggregations: array expected";
+ for (var i = 0; i < message.aggregations.length; ++i) {
+ var error = $root.google.monitoring.v3.Aggregation.verify(message.aggregations[i]);
+ if (error)
+ return "aggregations." + error;
+ }
+ }
+ if (message.duration != null && message.hasOwnProperty("duration")) {
+ var error = $root.google.protobuf.Duration.verify(message.duration);
+ if (error)
+ return "duration." + error;
+ }
+ if (message.trigger != null && message.hasOwnProperty("trigger")) {
+ var error = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.verify(message.trigger);
+ if (error)
+ return "trigger." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MetricAbsence message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MetricAbsence} MetricAbsence
+ */
+ MetricAbsence.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence)
+ return object;
+ var message = new $root.google.monitoring.v3.AlertPolicy.Condition.MetricAbsence();
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.aggregations) {
+ if (!Array.isArray(object.aggregations))
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.aggregations: array expected");
+ message.aggregations = [];
+ for (var i = 0; i < object.aggregations.length; ++i) {
+ if (typeof object.aggregations[i] !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.aggregations: object expected");
+ message.aggregations[i] = $root.google.monitoring.v3.Aggregation.fromObject(object.aggregations[i]);
+ }
+ }
+ if (object.duration != null) {
+ if (typeof object.duration !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.duration: object expected");
+ message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+ }
+ if (object.trigger != null) {
+ if (typeof object.trigger !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MetricAbsence.trigger: object expected");
+ message.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.fromObject(object.trigger);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MetricAbsence message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.MetricAbsence} message MetricAbsence
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MetricAbsence.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.aggregations = [];
+ if (options.defaults) {
+ object.filter = "";
+ object.duration = null;
+ object.trigger = null;
+ }
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ object.duration = $root.google.protobuf.Duration.toObject(message.duration, options);
+ if (message.trigger != null && message.hasOwnProperty("trigger"))
+ object.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.toObject(message.trigger, options);
+ if (message.aggregations && message.aggregations.length) {
+ object.aggregations = [];
+ for (var j = 0; j < message.aggregations.length; ++j)
+ object.aggregations[j] = $root.google.monitoring.v3.Aggregation.toObject(message.aggregations[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this MetricAbsence to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MetricAbsence.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MetricAbsence
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MetricAbsence
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MetricAbsence.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.AlertPolicy.Condition.MetricAbsence";
+ };
+
+ return MetricAbsence;
+ })();
+
+ Condition.MonitoringQueryLanguageCondition = (function() {
+
+ /**
+ * Properties of a MonitoringQueryLanguageCondition.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @interface IMonitoringQueryLanguageCondition
+ * @property {string|null} [query] MonitoringQueryLanguageCondition query
+ * @property {google.protobuf.IDuration|null} [duration] MonitoringQueryLanguageCondition duration
+ * @property {google.monitoring.v3.AlertPolicy.Condition.ITrigger|null} [trigger] MonitoringQueryLanguageCondition trigger
+ */
+
+ /**
+ * Constructs a new MonitoringQueryLanguageCondition.
+ * @memberof google.monitoring.v3.AlertPolicy.Condition
+ * @classdesc Represents a MonitoringQueryLanguageCondition.
+ * @implements IMonitoringQueryLanguageCondition
+ * @constructor
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition=} [properties] Properties to set
+ */
+ function MonitoringQueryLanguageCondition(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]];
+ }
+
+ /**
+ * MonitoringQueryLanguageCondition query.
+ * @member {string} query
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @instance
+ */
+ MonitoringQueryLanguageCondition.prototype.query = "";
+
+ /**
+ * MonitoringQueryLanguageCondition duration.
+ * @member {google.protobuf.IDuration|null|undefined} duration
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @instance
+ */
+ MonitoringQueryLanguageCondition.prototype.duration = null;
+
+ /**
+ * MonitoringQueryLanguageCondition trigger.
+ * @member {google.monitoring.v3.AlertPolicy.Condition.ITrigger|null|undefined} trigger
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @instance
+ */
+ MonitoringQueryLanguageCondition.prototype.trigger = null;
+
+ /**
+ * Creates a new MonitoringQueryLanguageCondition instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition=} [properties] Properties to set
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition} MonitoringQueryLanguageCondition instance
+ */
+ MonitoringQueryLanguageCondition.create = function create(properties) {
+ return new MonitoringQueryLanguageCondition(properties);
+ };
+
+ /**
+ * Encodes the specified MonitoringQueryLanguageCondition message. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition} message MonitoringQueryLanguageCondition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MonitoringQueryLanguageCondition.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.query != null && Object.hasOwnProperty.call(message, "query"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.query);
+ if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
+ $root.google.protobuf.Duration.encode(message.duration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.trigger != null && Object.hasOwnProperty.call(message, "trigger"))
+ $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.encode(message.trigger, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MonitoringQueryLanguageCondition message, length delimited. Does not implicitly {@link google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.IMonitoringQueryLanguageCondition} message MonitoringQueryLanguageCondition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MonitoringQueryLanguageCondition.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MonitoringQueryLanguageCondition message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition} MonitoringQueryLanguageCondition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MonitoringQueryLanguageCondition.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.query = reader.string();
+ break;
+ }
+ case 2: {
+ message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MonitoringQueryLanguageCondition message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition} MonitoringQueryLanguageCondition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MonitoringQueryLanguageCondition.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MonitoringQueryLanguageCondition message.
+ * @function verify
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MonitoringQueryLanguageCondition.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.query != null && message.hasOwnProperty("query"))
+ if (!$util.isString(message.query))
+ return "query: string expected";
+ if (message.duration != null && message.hasOwnProperty("duration")) {
+ var error = $root.google.protobuf.Duration.verify(message.duration);
+ if (error)
+ return "duration." + error;
+ }
+ if (message.trigger != null && message.hasOwnProperty("trigger")) {
+ var error = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.verify(message.trigger);
+ if (error)
+ return "trigger." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MonitoringQueryLanguageCondition message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition} MonitoringQueryLanguageCondition
+ */
+ MonitoringQueryLanguageCondition.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition)
+ return object;
+ var message = new $root.google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition();
+ if (object.query != null)
+ message.query = String(object.query);
+ if (object.duration != null) {
+ if (typeof object.duration !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.duration: object expected");
+ message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+ }
+ if (object.trigger != null) {
+ if (typeof object.trigger !== "object")
+ throw TypeError(".google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition.trigger: object expected");
+ message.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.fromObject(object.trigger);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MonitoringQueryLanguageCondition message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition} message MonitoringQueryLanguageCondition
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MonitoringQueryLanguageCondition.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.query = "";
+ object.duration = null;
+ object.trigger = null;
+ }
+ if (message.query != null && message.hasOwnProperty("query"))
+ object.query = message.query;
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ object.duration = $root.google.protobuf.Duration.toObject(message.duration, options);
+ if (message.trigger != null && message.hasOwnProperty("trigger"))
+ object.trigger = $root.google.monitoring.v3.AlertPolicy.Condition.Trigger.toObject(message.trigger, options);
+ return object;
+ };
+
+ /**
+ * Converts this MonitoringQueryLanguageCondition to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MonitoringQueryLanguageCondition.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MonitoringQueryLanguageCondition
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MonitoringQueryLanguageCondition.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.AlertPolicy.Condition.MonitoringQueryLanguageCondition";
+ };
+
+ return MonitoringQueryLanguageCondition;
+ })();
+
+ return Condition;
+ })();
+
+ /**
+ * ConditionCombinerType enum.
+ * @name google.monitoring.v3.AlertPolicy.ConditionCombinerType
+ * @enum {number}
+ * @property {number} COMBINE_UNSPECIFIED=0 COMBINE_UNSPECIFIED value
+ * @property {number} AND=1 AND value
+ * @property {number} OR=2 OR value
+ * @property {number} AND_WITH_MATCHING_RESOURCE=3 AND_WITH_MATCHING_RESOURCE value
+ */
+ AlertPolicy.ConditionCombinerType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMBINE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "AND"] = 1;
+ values[valuesById[2] = "OR"] = 2;
+ values[valuesById[3] = "AND_WITH_MATCHING_RESOURCE"] = 3;
+ return values;
+ })();
+
+ return AlertPolicy;
+ })();
+
+ v3.TypedValue = (function() {
+
+ /**
+ * Properties of a TypedValue.
+ * @memberof google.monitoring.v3
+ * @interface ITypedValue
+ * @property {boolean|null} [boolValue] TypedValue boolValue
+ * @property {number|Long|null} [int64Value] TypedValue int64Value
+ * @property {number|null} [doubleValue] TypedValue doubleValue
+ * @property {string|null} [stringValue] TypedValue stringValue
+ * @property {google.api.IDistribution|null} [distributionValue] TypedValue distributionValue
+ */
+
+ /**
+ * Constructs a new TypedValue.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a TypedValue.
+ * @implements ITypedValue
+ * @constructor
+ * @param {google.monitoring.v3.ITypedValue=} [properties] Properties to set
+ */
+ function TypedValue(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]];
+ }
+
+ /**
+ * TypedValue boolValue.
+ * @member {boolean|null|undefined} boolValue
+ * @memberof google.monitoring.v3.TypedValue
+ * @instance
+ */
+ TypedValue.prototype.boolValue = null;
+
+ /**
+ * TypedValue int64Value.
+ * @member {number|Long|null|undefined} int64Value
+ * @memberof google.monitoring.v3.TypedValue
+ * @instance
+ */
+ TypedValue.prototype.int64Value = null;
+
+ /**
+ * TypedValue doubleValue.
+ * @member {number|null|undefined} doubleValue
+ * @memberof google.monitoring.v3.TypedValue
+ * @instance
+ */
+ TypedValue.prototype.doubleValue = null;
+
+ /**
+ * TypedValue stringValue.
+ * @member {string|null|undefined} stringValue
+ * @memberof google.monitoring.v3.TypedValue
+ * @instance
+ */
+ TypedValue.prototype.stringValue = null;
+
+ /**
+ * TypedValue distributionValue.
+ * @member {google.api.IDistribution|null|undefined} distributionValue
+ * @memberof google.monitoring.v3.TypedValue
+ * @instance
+ */
+ TypedValue.prototype.distributionValue = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * TypedValue value.
+ * @member {"boolValue"|"int64Value"|"doubleValue"|"stringValue"|"distributionValue"|undefined} value
+ * @memberof google.monitoring.v3.TypedValue
+ * @instance
+ */
+ Object.defineProperty(TypedValue.prototype, "value", {
+ get: $util.oneOfGetter($oneOfFields = ["boolValue", "int64Value", "doubleValue", "stringValue", "distributionValue"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new TypedValue instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {google.monitoring.v3.ITypedValue=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TypedValue} TypedValue instance
+ */
+ TypedValue.create = function create(properties) {
+ return new TypedValue(properties);
+ };
+
+ /**
+ * Encodes the specified TypedValue message. Does not implicitly {@link google.monitoring.v3.TypedValue.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {google.monitoring.v3.ITypedValue} message TypedValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TypedValue.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.boolValue);
+ if (message.int64Value != null && Object.hasOwnProperty.call(message, "int64Value"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.int64Value);
+ if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue"))
+ writer.uint32(/* id 3, wireType 1 =*/25).double(message.doubleValue);
+ if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.stringValue);
+ if (message.distributionValue != null && Object.hasOwnProperty.call(message, "distributionValue"))
+ $root.google.api.Distribution.encode(message.distributionValue, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TypedValue message, length delimited. Does not implicitly {@link google.monitoring.v3.TypedValue.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {google.monitoring.v3.ITypedValue} message TypedValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TypedValue.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TypedValue message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TypedValue} TypedValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TypedValue.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TypedValue();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.boolValue = reader.bool();
+ break;
+ }
+ case 2: {
+ message.int64Value = reader.int64();
+ break;
+ }
+ case 3: {
+ message.doubleValue = reader.double();
+ break;
+ }
+ case 4: {
+ message.stringValue = reader.string();
+ break;
+ }
+ case 5: {
+ message.distributionValue = $root.google.api.Distribution.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TypedValue message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TypedValue} TypedValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TypedValue.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TypedValue message.
+ * @function verify
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TypedValue.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
+ properties.value = 1;
+ if (typeof message.boolValue !== "boolean")
+ return "boolValue: boolean expected";
+ }
+ if (message.int64Value != null && message.hasOwnProperty("int64Value")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ if (!$util.isInteger(message.int64Value) && !(message.int64Value && $util.isInteger(message.int64Value.low) && $util.isInteger(message.int64Value.high)))
+ return "int64Value: integer|Long expected";
+ }
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ if (typeof message.doubleValue !== "number")
+ return "doubleValue: number expected";
+ }
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ if (!$util.isString(message.stringValue))
+ return "stringValue: string expected";
+ }
+ if (message.distributionValue != null && message.hasOwnProperty("distributionValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ {
+ var error = $root.google.api.Distribution.verify(message.distributionValue);
+ if (error)
+ return "distributionValue." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TypedValue message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TypedValue} TypedValue
+ */
+ TypedValue.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TypedValue)
+ return object;
+ var message = new $root.google.monitoring.v3.TypedValue();
+ if (object.boolValue != null)
+ message.boolValue = Boolean(object.boolValue);
+ if (object.int64Value != null)
+ if ($util.Long)
+ (message.int64Value = $util.Long.fromValue(object.int64Value)).unsigned = false;
+ else if (typeof object.int64Value === "string")
+ message.int64Value = parseInt(object.int64Value, 10);
+ else if (typeof object.int64Value === "number")
+ message.int64Value = object.int64Value;
+ else if (typeof object.int64Value === "object")
+ message.int64Value = new $util.LongBits(object.int64Value.low >>> 0, object.int64Value.high >>> 0).toNumber();
+ if (object.doubleValue != null)
+ message.doubleValue = Number(object.doubleValue);
+ if (object.stringValue != null)
+ message.stringValue = String(object.stringValue);
+ if (object.distributionValue != null) {
+ if (typeof object.distributionValue !== "object")
+ throw TypeError(".google.monitoring.v3.TypedValue.distributionValue: object expected");
+ message.distributionValue = $root.google.api.Distribution.fromObject(object.distributionValue);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TypedValue message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {google.monitoring.v3.TypedValue} message TypedValue
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TypedValue.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
+ object.boolValue = message.boolValue;
+ if (options.oneofs)
+ object.value = "boolValue";
+ }
+ if (message.int64Value != null && message.hasOwnProperty("int64Value")) {
+ if (typeof message.int64Value === "number")
+ object.int64Value = options.longs === String ? String(message.int64Value) : message.int64Value;
+ else
+ object.int64Value = options.longs === String ? $util.Long.prototype.toString.call(message.int64Value) : options.longs === Number ? new $util.LongBits(message.int64Value.low >>> 0, message.int64Value.high >>> 0).toNumber() : message.int64Value;
+ if (options.oneofs)
+ object.value = "int64Value";
+ }
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
+ object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue;
+ if (options.oneofs)
+ object.value = "doubleValue";
+ }
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ object.stringValue = message.stringValue;
+ if (options.oneofs)
+ object.value = "stringValue";
+ }
+ if (message.distributionValue != null && message.hasOwnProperty("distributionValue")) {
+ object.distributionValue = $root.google.api.Distribution.toObject(message.distributionValue, options);
+ if (options.oneofs)
+ object.value = "distributionValue";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TypedValue to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TypedValue
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TypedValue.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TypedValue
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TypedValue
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TypedValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TypedValue";
+ };
+
+ return TypedValue;
+ })();
+
+ v3.TimeInterval = (function() {
+
+ /**
+ * Properties of a TimeInterval.
+ * @memberof google.monitoring.v3
+ * @interface ITimeInterval
+ * @property {google.protobuf.ITimestamp|null} [endTime] TimeInterval endTime
+ * @property {google.protobuf.ITimestamp|null} [startTime] TimeInterval startTime
+ */
+
+ /**
+ * Constructs a new TimeInterval.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a TimeInterval.
+ * @implements ITimeInterval
+ * @constructor
+ * @param {google.monitoring.v3.ITimeInterval=} [properties] Properties to set
+ */
+ function TimeInterval(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]];
+ }
+
+ /**
+ * TimeInterval endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.monitoring.v3.TimeInterval
+ * @instance
+ */
+ TimeInterval.prototype.endTime = null;
+
+ /**
+ * TimeInterval startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.monitoring.v3.TimeInterval
+ * @instance
+ */
+ TimeInterval.prototype.startTime = null;
+
+ /**
+ * Creates a new TimeInterval instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {google.monitoring.v3.ITimeInterval=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TimeInterval} TimeInterval instance
+ */
+ TimeInterval.create = function create(properties) {
+ return new TimeInterval(properties);
+ };
+
+ /**
+ * Encodes the specified TimeInterval message. Does not implicitly {@link google.monitoring.v3.TimeInterval.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {google.monitoring.v3.ITimeInterval} message TimeInterval message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeInterval.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();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TimeInterval message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeInterval.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {google.monitoring.v3.ITimeInterval} message TimeInterval message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeInterval.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TimeInterval message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TimeInterval} TimeInterval
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeInterval.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TimeInterval();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 1: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TimeInterval message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TimeInterval} TimeInterval
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeInterval.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TimeInterval message.
+ * @function verify
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TimeInterval.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TimeInterval message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TimeInterval} TimeInterval
+ */
+ TimeInterval.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TimeInterval)
+ return object;
+ var message = new $root.google.monitoring.v3.TimeInterval();
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.monitoring.v3.TimeInterval.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.monitoring.v3.TimeInterval.startTime: object expected");
+ message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TimeInterval message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {google.monitoring.v3.TimeInterval} message TimeInterval
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TimeInterval.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.startTime = null;
+ object.endTime = 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);
+ return object;
+ };
+
+ /**
+ * Converts this TimeInterval to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TimeInterval
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TimeInterval.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TimeInterval
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TimeInterval
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TimeInterval.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TimeInterval";
+ };
+
+ return TimeInterval;
+ })();
+
+ v3.Aggregation = (function() {
+
+ /**
+ * Properties of an Aggregation.
+ * @memberof google.monitoring.v3
+ * @interface IAggregation
+ * @property {google.protobuf.IDuration|null} [alignmentPeriod] Aggregation alignmentPeriod
+ * @property {google.monitoring.v3.Aggregation.Aligner|null} [perSeriesAligner] Aggregation perSeriesAligner
+ * @property {google.monitoring.v3.Aggregation.Reducer|null} [crossSeriesReducer] Aggregation crossSeriesReducer
+ * @property {Array.|null} [groupByFields] Aggregation groupByFields
+ */
+
+ /**
+ * Constructs a new Aggregation.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents an Aggregation.
+ * @implements IAggregation
+ * @constructor
+ * @param {google.monitoring.v3.IAggregation=} [properties] Properties to set
+ */
+ function Aggregation(properties) {
+ this.groupByFields = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Aggregation alignmentPeriod.
+ * @member {google.protobuf.IDuration|null|undefined} alignmentPeriod
+ * @memberof google.monitoring.v3.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.alignmentPeriod = null;
+
+ /**
+ * Aggregation perSeriesAligner.
+ * @member {google.monitoring.v3.Aggregation.Aligner} perSeriesAligner
+ * @memberof google.monitoring.v3.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.perSeriesAligner = 0;
+
+ /**
+ * Aggregation crossSeriesReducer.
+ * @member {google.monitoring.v3.Aggregation.Reducer} crossSeriesReducer
+ * @memberof google.monitoring.v3.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.crossSeriesReducer = 0;
+
+ /**
+ * Aggregation groupByFields.
+ * @member {Array.} groupByFields
+ * @memberof google.monitoring.v3.Aggregation
+ * @instance
+ */
+ Aggregation.prototype.groupByFields = $util.emptyArray;
+
+ /**
+ * Creates a new Aggregation instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {google.monitoring.v3.IAggregation=} [properties] Properties to set
+ * @returns {google.monitoring.v3.Aggregation} Aggregation instance
+ */
+ Aggregation.create = function create(properties) {
+ return new Aggregation(properties);
+ };
+
+ /**
+ * Encodes the specified Aggregation message. Does not implicitly {@link google.monitoring.v3.Aggregation.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {google.monitoring.v3.IAggregation} message Aggregation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Aggregation.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.alignmentPeriod != null && Object.hasOwnProperty.call(message, "alignmentPeriod"))
+ $root.google.protobuf.Duration.encode(message.alignmentPeriod, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.perSeriesAligner != null && Object.hasOwnProperty.call(message, "perSeriesAligner"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.perSeriesAligner);
+ if (message.crossSeriesReducer != null && Object.hasOwnProperty.call(message, "crossSeriesReducer"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.crossSeriesReducer);
+ if (message.groupByFields != null && message.groupByFields.length)
+ for (var i = 0; i < message.groupByFields.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.groupByFields[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Aggregation message, length delimited. Does not implicitly {@link google.monitoring.v3.Aggregation.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {google.monitoring.v3.IAggregation} message Aggregation message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Aggregation.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.Aggregation} Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Aggregation.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.Aggregation();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.alignmentPeriod = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.perSeriesAligner = reader.int32();
+ break;
+ }
+ case 4: {
+ message.crossSeriesReducer = reader.int32();
+ break;
+ }
+ case 5: {
+ if (!(message.groupByFields && message.groupByFields.length))
+ message.groupByFields = [];
+ message.groupByFields.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Aggregation message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.Aggregation} Aggregation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Aggregation.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Aggregation message.
+ * @function verify
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Aggregation.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.alignmentPeriod != null && message.hasOwnProperty("alignmentPeriod")) {
+ var error = $root.google.protobuf.Duration.verify(message.alignmentPeriod);
+ if (error)
+ return "alignmentPeriod." + error;
+ }
+ if (message.perSeriesAligner != null && message.hasOwnProperty("perSeriesAligner"))
+ switch (message.perSeriesAligner) {
+ default:
+ return "perSeriesAligner: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ case 16:
+ case 24:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 21:
+ case 23:
+ break;
+ }
+ if (message.crossSeriesReducer != null && message.hasOwnProperty("crossSeriesReducer"))
+ switch (message.crossSeriesReducer) {
+ default:
+ return "crossSeriesReducer: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 15:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ break;
+ }
+ if (message.groupByFields != null && message.hasOwnProperty("groupByFields")) {
+ if (!Array.isArray(message.groupByFields))
+ return "groupByFields: array expected";
+ for (var i = 0; i < message.groupByFields.length; ++i)
+ if (!$util.isString(message.groupByFields[i]))
+ return "groupByFields: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Aggregation message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.Aggregation} Aggregation
+ */
+ Aggregation.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.Aggregation)
+ return object;
+ var message = new $root.google.monitoring.v3.Aggregation();
+ if (object.alignmentPeriod != null) {
+ if (typeof object.alignmentPeriod !== "object")
+ throw TypeError(".google.monitoring.v3.Aggregation.alignmentPeriod: object expected");
+ message.alignmentPeriod = $root.google.protobuf.Duration.fromObject(object.alignmentPeriod);
+ }
+ switch (object.perSeriesAligner) {
+ default:
+ if (typeof object.perSeriesAligner === "number") {
+ message.perSeriesAligner = object.perSeriesAligner;
+ break;
+ }
+ break;
+ case "ALIGN_NONE":
+ case 0:
+ message.perSeriesAligner = 0;
+ break;
+ case "ALIGN_DELTA":
+ case 1:
+ message.perSeriesAligner = 1;
+ break;
+ case "ALIGN_RATE":
+ case 2:
+ message.perSeriesAligner = 2;
+ break;
+ case "ALIGN_INTERPOLATE":
+ case 3:
+ message.perSeriesAligner = 3;
+ break;
+ case "ALIGN_NEXT_OLDER":
+ case 4:
+ message.perSeriesAligner = 4;
+ break;
+ case "ALIGN_MIN":
+ case 10:
+ message.perSeriesAligner = 10;
+ break;
+ case "ALIGN_MAX":
+ case 11:
+ message.perSeriesAligner = 11;
+ break;
+ case "ALIGN_MEAN":
+ case 12:
+ message.perSeriesAligner = 12;
+ break;
+ case "ALIGN_COUNT":
+ case 13:
+ message.perSeriesAligner = 13;
+ break;
+ case "ALIGN_SUM":
+ case 14:
+ message.perSeriesAligner = 14;
+ break;
+ case "ALIGN_STDDEV":
+ case 15:
+ message.perSeriesAligner = 15;
+ break;
+ case "ALIGN_COUNT_TRUE":
+ case 16:
+ message.perSeriesAligner = 16;
+ break;
+ case "ALIGN_COUNT_FALSE":
+ case 24:
+ message.perSeriesAligner = 24;
+ break;
+ case "ALIGN_FRACTION_TRUE":
+ case 17:
+ message.perSeriesAligner = 17;
+ break;
+ case "ALIGN_PERCENTILE_99":
+ case 18:
+ message.perSeriesAligner = 18;
+ break;
+ case "ALIGN_PERCENTILE_95":
+ case 19:
+ message.perSeriesAligner = 19;
+ break;
+ case "ALIGN_PERCENTILE_50":
+ case 20:
+ message.perSeriesAligner = 20;
+ break;
+ case "ALIGN_PERCENTILE_05":
+ case 21:
+ message.perSeriesAligner = 21;
+ break;
+ case "ALIGN_PERCENT_CHANGE":
+ case 23:
+ message.perSeriesAligner = 23;
+ break;
+ }
+ switch (object.crossSeriesReducer) {
+ default:
+ if (typeof object.crossSeriesReducer === "number") {
+ message.crossSeriesReducer = object.crossSeriesReducer;
+ break;
+ }
+ break;
+ case "REDUCE_NONE":
+ case 0:
+ message.crossSeriesReducer = 0;
+ break;
+ case "REDUCE_MEAN":
+ case 1:
+ message.crossSeriesReducer = 1;
+ break;
+ case "REDUCE_MIN":
+ case 2:
+ message.crossSeriesReducer = 2;
+ break;
+ case "REDUCE_MAX":
+ case 3:
+ message.crossSeriesReducer = 3;
+ break;
+ case "REDUCE_SUM":
+ case 4:
+ message.crossSeriesReducer = 4;
+ break;
+ case "REDUCE_STDDEV":
+ case 5:
+ message.crossSeriesReducer = 5;
+ break;
+ case "REDUCE_COUNT":
+ case 6:
+ message.crossSeriesReducer = 6;
+ break;
+ case "REDUCE_COUNT_TRUE":
+ case 7:
+ message.crossSeriesReducer = 7;
+ break;
+ case "REDUCE_COUNT_FALSE":
+ case 15:
+ message.crossSeriesReducer = 15;
+ break;
+ case "REDUCE_FRACTION_TRUE":
+ case 8:
+ message.crossSeriesReducer = 8;
+ break;
+ case "REDUCE_PERCENTILE_99":
+ case 9:
+ message.crossSeriesReducer = 9;
+ break;
+ case "REDUCE_PERCENTILE_95":
+ case 10:
+ message.crossSeriesReducer = 10;
+ break;
+ case "REDUCE_PERCENTILE_50":
+ case 11:
+ message.crossSeriesReducer = 11;
+ break;
+ case "REDUCE_PERCENTILE_05":
+ case 12:
+ message.crossSeriesReducer = 12;
+ break;
+ }
+ if (object.groupByFields) {
+ if (!Array.isArray(object.groupByFields))
+ throw TypeError(".google.monitoring.v3.Aggregation.groupByFields: array expected");
+ message.groupByFields = [];
+ for (var i = 0; i < object.groupByFields.length; ++i)
+ message.groupByFields[i] = String(object.groupByFields[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Aggregation message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {google.monitoring.v3.Aggregation} message Aggregation
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Aggregation.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.groupByFields = [];
+ if (options.defaults) {
+ object.alignmentPeriod = null;
+ object.perSeriesAligner = options.enums === String ? "ALIGN_NONE" : 0;
+ object.crossSeriesReducer = options.enums === String ? "REDUCE_NONE" : 0;
+ }
+ if (message.alignmentPeriod != null && message.hasOwnProperty("alignmentPeriod"))
+ object.alignmentPeriod = $root.google.protobuf.Duration.toObject(message.alignmentPeriod, options);
+ if (message.perSeriesAligner != null && message.hasOwnProperty("perSeriesAligner"))
+ object.perSeriesAligner = options.enums === String ? $root.google.monitoring.v3.Aggregation.Aligner[message.perSeriesAligner] === undefined ? message.perSeriesAligner : $root.google.monitoring.v3.Aggregation.Aligner[message.perSeriesAligner] : message.perSeriesAligner;
+ if (message.crossSeriesReducer != null && message.hasOwnProperty("crossSeriesReducer"))
+ object.crossSeriesReducer = options.enums === String ? $root.google.monitoring.v3.Aggregation.Reducer[message.crossSeriesReducer] === undefined ? message.crossSeriesReducer : $root.google.monitoring.v3.Aggregation.Reducer[message.crossSeriesReducer] : message.crossSeriesReducer;
+ if (message.groupByFields && message.groupByFields.length) {
+ object.groupByFields = [];
+ for (var j = 0; j < message.groupByFields.length; ++j)
+ object.groupByFields[j] = message.groupByFields[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Aggregation to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.Aggregation
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Aggregation.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Aggregation
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.Aggregation
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Aggregation.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.Aggregation";
+ };
+
+ /**
+ * Aligner enum.
+ * @name google.monitoring.v3.Aggregation.Aligner
+ * @enum {number}
+ * @property {number} ALIGN_NONE=0 ALIGN_NONE value
+ * @property {number} ALIGN_DELTA=1 ALIGN_DELTA value
+ * @property {number} ALIGN_RATE=2 ALIGN_RATE value
+ * @property {number} ALIGN_INTERPOLATE=3 ALIGN_INTERPOLATE value
+ * @property {number} ALIGN_NEXT_OLDER=4 ALIGN_NEXT_OLDER value
+ * @property {number} ALIGN_MIN=10 ALIGN_MIN value
+ * @property {number} ALIGN_MAX=11 ALIGN_MAX value
+ * @property {number} ALIGN_MEAN=12 ALIGN_MEAN value
+ * @property {number} ALIGN_COUNT=13 ALIGN_COUNT value
+ * @property {number} ALIGN_SUM=14 ALIGN_SUM value
+ * @property {number} ALIGN_STDDEV=15 ALIGN_STDDEV value
+ * @property {number} ALIGN_COUNT_TRUE=16 ALIGN_COUNT_TRUE value
+ * @property {number} ALIGN_COUNT_FALSE=24 ALIGN_COUNT_FALSE value
+ * @property {number} ALIGN_FRACTION_TRUE=17 ALIGN_FRACTION_TRUE value
+ * @property {number} ALIGN_PERCENTILE_99=18 ALIGN_PERCENTILE_99 value
+ * @property {number} ALIGN_PERCENTILE_95=19 ALIGN_PERCENTILE_95 value
+ * @property {number} ALIGN_PERCENTILE_50=20 ALIGN_PERCENTILE_50 value
+ * @property {number} ALIGN_PERCENTILE_05=21 ALIGN_PERCENTILE_05 value
+ * @property {number} ALIGN_PERCENT_CHANGE=23 ALIGN_PERCENT_CHANGE value
+ */
+ Aggregation.Aligner = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ALIGN_NONE"] = 0;
+ values[valuesById[1] = "ALIGN_DELTA"] = 1;
+ values[valuesById[2] = "ALIGN_RATE"] = 2;
+ values[valuesById[3] = "ALIGN_INTERPOLATE"] = 3;
+ values[valuesById[4] = "ALIGN_NEXT_OLDER"] = 4;
+ values[valuesById[10] = "ALIGN_MIN"] = 10;
+ values[valuesById[11] = "ALIGN_MAX"] = 11;
+ values[valuesById[12] = "ALIGN_MEAN"] = 12;
+ values[valuesById[13] = "ALIGN_COUNT"] = 13;
+ values[valuesById[14] = "ALIGN_SUM"] = 14;
+ values[valuesById[15] = "ALIGN_STDDEV"] = 15;
+ values[valuesById[16] = "ALIGN_COUNT_TRUE"] = 16;
+ values[valuesById[24] = "ALIGN_COUNT_FALSE"] = 24;
+ values[valuesById[17] = "ALIGN_FRACTION_TRUE"] = 17;
+ values[valuesById[18] = "ALIGN_PERCENTILE_99"] = 18;
+ values[valuesById[19] = "ALIGN_PERCENTILE_95"] = 19;
+ values[valuesById[20] = "ALIGN_PERCENTILE_50"] = 20;
+ values[valuesById[21] = "ALIGN_PERCENTILE_05"] = 21;
+ values[valuesById[23] = "ALIGN_PERCENT_CHANGE"] = 23;
+ return values;
+ })();
+
+ /**
+ * Reducer enum.
+ * @name google.monitoring.v3.Aggregation.Reducer
+ * @enum {number}
+ * @property {number} REDUCE_NONE=0 REDUCE_NONE value
+ * @property {number} REDUCE_MEAN=1 REDUCE_MEAN value
+ * @property {number} REDUCE_MIN=2 REDUCE_MIN value
+ * @property {number} REDUCE_MAX=3 REDUCE_MAX value
+ * @property {number} REDUCE_SUM=4 REDUCE_SUM value
+ * @property {number} REDUCE_STDDEV=5 REDUCE_STDDEV value
+ * @property {number} REDUCE_COUNT=6 REDUCE_COUNT value
+ * @property {number} REDUCE_COUNT_TRUE=7 REDUCE_COUNT_TRUE value
+ * @property {number} REDUCE_COUNT_FALSE=15 REDUCE_COUNT_FALSE value
+ * @property {number} REDUCE_FRACTION_TRUE=8 REDUCE_FRACTION_TRUE value
+ * @property {number} REDUCE_PERCENTILE_99=9 REDUCE_PERCENTILE_99 value
+ * @property {number} REDUCE_PERCENTILE_95=10 REDUCE_PERCENTILE_95 value
+ * @property {number} REDUCE_PERCENTILE_50=11 REDUCE_PERCENTILE_50 value
+ * @property {number} REDUCE_PERCENTILE_05=12 REDUCE_PERCENTILE_05 value
+ */
+ Aggregation.Reducer = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "REDUCE_NONE"] = 0;
+ values[valuesById[1] = "REDUCE_MEAN"] = 1;
+ values[valuesById[2] = "REDUCE_MIN"] = 2;
+ values[valuesById[3] = "REDUCE_MAX"] = 3;
+ values[valuesById[4] = "REDUCE_SUM"] = 4;
+ values[valuesById[5] = "REDUCE_STDDEV"] = 5;
+ values[valuesById[6] = "REDUCE_COUNT"] = 6;
+ values[valuesById[7] = "REDUCE_COUNT_TRUE"] = 7;
+ values[valuesById[15] = "REDUCE_COUNT_FALSE"] = 15;
+ values[valuesById[8] = "REDUCE_FRACTION_TRUE"] = 8;
+ values[valuesById[9] = "REDUCE_PERCENTILE_99"] = 9;
+ values[valuesById[10] = "REDUCE_PERCENTILE_95"] = 10;
+ values[valuesById[11] = "REDUCE_PERCENTILE_50"] = 11;
+ values[valuesById[12] = "REDUCE_PERCENTILE_05"] = 12;
+ return values;
+ })();
+
+ return Aggregation;
+ })();
+
+ /**
+ * ComparisonType enum.
+ * @name google.monitoring.v3.ComparisonType
+ * @enum {number}
+ * @property {number} COMPARISON_UNSPECIFIED=0 COMPARISON_UNSPECIFIED value
+ * @property {number} COMPARISON_GT=1 COMPARISON_GT value
+ * @property {number} COMPARISON_GE=2 COMPARISON_GE value
+ * @property {number} COMPARISON_LT=3 COMPARISON_LT value
+ * @property {number} COMPARISON_LE=4 COMPARISON_LE value
+ * @property {number} COMPARISON_EQ=5 COMPARISON_EQ value
+ * @property {number} COMPARISON_NE=6 COMPARISON_NE value
+ */
+ v3.ComparisonType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "COMPARISON_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "COMPARISON_GT"] = 1;
+ values[valuesById[2] = "COMPARISON_GE"] = 2;
+ values[valuesById[3] = "COMPARISON_LT"] = 3;
+ values[valuesById[4] = "COMPARISON_LE"] = 4;
+ values[valuesById[5] = "COMPARISON_EQ"] = 5;
+ values[valuesById[6] = "COMPARISON_NE"] = 6;
+ return values;
+ })();
+
+ /**
+ * ServiceTier enum.
+ * @name google.monitoring.v3.ServiceTier
+ * @enum {number}
+ * @property {number} SERVICE_TIER_UNSPECIFIED=0 SERVICE_TIER_UNSPECIFIED value
+ * @property {number} SERVICE_TIER_BASIC=1 SERVICE_TIER_BASIC value
+ * @property {number} SERVICE_TIER_PREMIUM=2 SERVICE_TIER_PREMIUM value
+ */
+ v3.ServiceTier = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SERVICE_TIER_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SERVICE_TIER_BASIC"] = 1;
+ values[valuesById[2] = "SERVICE_TIER_PREMIUM"] = 2;
+ return values;
+ })();
+
+ v3.MutationRecord = (function() {
+
+ /**
+ * Properties of a MutationRecord.
+ * @memberof google.monitoring.v3
+ * @interface IMutationRecord
+ * @property {google.protobuf.ITimestamp|null} [mutateTime] MutationRecord mutateTime
+ * @property {string|null} [mutatedBy] MutationRecord mutatedBy
+ */
+
+ /**
+ * Constructs a new MutationRecord.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a MutationRecord.
+ * @implements IMutationRecord
+ * @constructor
+ * @param {google.monitoring.v3.IMutationRecord=} [properties] Properties to set
+ */
+ function MutationRecord(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]];
+ }
+
+ /**
+ * MutationRecord mutateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} mutateTime
+ * @memberof google.monitoring.v3.MutationRecord
+ * @instance
+ */
+ MutationRecord.prototype.mutateTime = null;
+
+ /**
+ * MutationRecord mutatedBy.
+ * @member {string} mutatedBy
+ * @memberof google.monitoring.v3.MutationRecord
+ * @instance
+ */
+ MutationRecord.prototype.mutatedBy = "";
+
+ /**
+ * Creates a new MutationRecord instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {google.monitoring.v3.IMutationRecord=} [properties] Properties to set
+ * @returns {google.monitoring.v3.MutationRecord} MutationRecord instance
+ */
+ MutationRecord.create = function create(properties) {
+ return new MutationRecord(properties);
+ };
+
+ /**
+ * Encodes the specified MutationRecord message. Does not implicitly {@link google.monitoring.v3.MutationRecord.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {google.monitoring.v3.IMutationRecord} message MutationRecord message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MutationRecord.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.mutateTime != null && Object.hasOwnProperty.call(message, "mutateTime"))
+ $root.google.protobuf.Timestamp.encode(message.mutateTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.mutatedBy != null && Object.hasOwnProperty.call(message, "mutatedBy"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.mutatedBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MutationRecord message, length delimited. Does not implicitly {@link google.monitoring.v3.MutationRecord.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {google.monitoring.v3.IMutationRecord} message MutationRecord message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MutationRecord.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MutationRecord message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.MutationRecord} MutationRecord
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MutationRecord.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.MutationRecord();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.mutateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.mutatedBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MutationRecord message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.MutationRecord} MutationRecord
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MutationRecord.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MutationRecord message.
+ * @function verify
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MutationRecord.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.mutateTime != null && message.hasOwnProperty("mutateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.mutateTime);
+ if (error)
+ return "mutateTime." + error;
+ }
+ if (message.mutatedBy != null && message.hasOwnProperty("mutatedBy"))
+ if (!$util.isString(message.mutatedBy))
+ return "mutatedBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a MutationRecord message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.MutationRecord} MutationRecord
+ */
+ MutationRecord.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.MutationRecord)
+ return object;
+ var message = new $root.google.monitoring.v3.MutationRecord();
+ if (object.mutateTime != null) {
+ if (typeof object.mutateTime !== "object")
+ throw TypeError(".google.monitoring.v3.MutationRecord.mutateTime: object expected");
+ message.mutateTime = $root.google.protobuf.Timestamp.fromObject(object.mutateTime);
+ }
+ if (object.mutatedBy != null)
+ message.mutatedBy = String(object.mutatedBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MutationRecord message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {google.monitoring.v3.MutationRecord} message MutationRecord
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MutationRecord.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.mutateTime = null;
+ object.mutatedBy = "";
+ }
+ if (message.mutateTime != null && message.hasOwnProperty("mutateTime"))
+ object.mutateTime = $root.google.protobuf.Timestamp.toObject(message.mutateTime, options);
+ if (message.mutatedBy != null && message.hasOwnProperty("mutatedBy"))
+ object.mutatedBy = message.mutatedBy;
+ return object;
+ };
+
+ /**
+ * Converts this MutationRecord to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.MutationRecord
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MutationRecord.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MutationRecord
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.MutationRecord
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MutationRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.MutationRecord";
+ };
+
+ return MutationRecord;
+ })();
+
+ v3.AlertPolicyService = (function() {
+
+ /**
+ * Constructs a new AlertPolicyService service.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents an AlertPolicyService
+ * @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 AlertPolicyService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (AlertPolicyService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = AlertPolicyService;
+
+ /**
+ * Creates new AlertPolicyService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @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 {AlertPolicyService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ AlertPolicyService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|listAlertPolicies}.
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @typedef ListAlertPoliciesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.ListAlertPoliciesResponse} [response] ListAlertPoliciesResponse
+ */
+
+ /**
+ * Calls ListAlertPolicies.
+ * @function listAlertPolicies
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IListAlertPoliciesRequest} request ListAlertPoliciesRequest message or plain object
+ * @param {google.monitoring.v3.AlertPolicyService.ListAlertPoliciesCallback} callback Node-style callback called with the error, if any, and ListAlertPoliciesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AlertPolicyService.prototype.listAlertPolicies = function listAlertPolicies(request, callback) {
+ return this.rpcCall(listAlertPolicies, $root.google.monitoring.v3.ListAlertPoliciesRequest, $root.google.monitoring.v3.ListAlertPoliciesResponse, request, callback);
+ }, "name", { value: "ListAlertPolicies" });
+
+ /**
+ * Calls ListAlertPolicies.
+ * @function listAlertPolicies
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IListAlertPoliciesRequest} request ListAlertPoliciesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|getAlertPolicy}.
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @typedef GetAlertPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.AlertPolicy} [response] AlertPolicy
+ */
+
+ /**
+ * Calls GetAlertPolicy.
+ * @function getAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IGetAlertPolicyRequest} request GetAlertPolicyRequest message or plain object
+ * @param {google.monitoring.v3.AlertPolicyService.GetAlertPolicyCallback} callback Node-style callback called with the error, if any, and AlertPolicy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AlertPolicyService.prototype.getAlertPolicy = function getAlertPolicy(request, callback) {
+ return this.rpcCall(getAlertPolicy, $root.google.monitoring.v3.GetAlertPolicyRequest, $root.google.monitoring.v3.AlertPolicy, request, callback);
+ }, "name", { value: "GetAlertPolicy" });
+
+ /**
+ * Calls GetAlertPolicy.
+ * @function getAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IGetAlertPolicyRequest} request GetAlertPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|createAlertPolicy}.
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @typedef CreateAlertPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.AlertPolicy} [response] AlertPolicy
+ */
+
+ /**
+ * Calls CreateAlertPolicy.
+ * @function createAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.ICreateAlertPolicyRequest} request CreateAlertPolicyRequest message or plain object
+ * @param {google.monitoring.v3.AlertPolicyService.CreateAlertPolicyCallback} callback Node-style callback called with the error, if any, and AlertPolicy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AlertPolicyService.prototype.createAlertPolicy = function createAlertPolicy(request, callback) {
+ return this.rpcCall(createAlertPolicy, $root.google.monitoring.v3.CreateAlertPolicyRequest, $root.google.monitoring.v3.AlertPolicy, request, callback);
+ }, "name", { value: "CreateAlertPolicy" });
+
+ /**
+ * Calls CreateAlertPolicy.
+ * @function createAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.ICreateAlertPolicyRequest} request CreateAlertPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|deleteAlertPolicy}.
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @typedef DeleteAlertPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteAlertPolicy.
+ * @function deleteAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IDeleteAlertPolicyRequest} request DeleteAlertPolicyRequest message or plain object
+ * @param {google.monitoring.v3.AlertPolicyService.DeleteAlertPolicyCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AlertPolicyService.prototype.deleteAlertPolicy = function deleteAlertPolicy(request, callback) {
+ return this.rpcCall(deleteAlertPolicy, $root.google.monitoring.v3.DeleteAlertPolicyRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteAlertPolicy" });
+
+ /**
+ * Calls DeleteAlertPolicy.
+ * @function deleteAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IDeleteAlertPolicyRequest} request DeleteAlertPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.AlertPolicyService|updateAlertPolicy}.
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @typedef UpdateAlertPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.AlertPolicy} [response] AlertPolicy
+ */
+
+ /**
+ * Calls UpdateAlertPolicy.
+ * @function updateAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IUpdateAlertPolicyRequest} request UpdateAlertPolicyRequest message or plain object
+ * @param {google.monitoring.v3.AlertPolicyService.UpdateAlertPolicyCallback} callback Node-style callback called with the error, if any, and AlertPolicy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AlertPolicyService.prototype.updateAlertPolicy = function updateAlertPolicy(request, callback) {
+ return this.rpcCall(updateAlertPolicy, $root.google.monitoring.v3.UpdateAlertPolicyRequest, $root.google.monitoring.v3.AlertPolicy, request, callback);
+ }, "name", { value: "UpdateAlertPolicy" });
+
+ /**
+ * Calls UpdateAlertPolicy.
+ * @function updateAlertPolicy
+ * @memberof google.monitoring.v3.AlertPolicyService
+ * @instance
+ * @param {google.monitoring.v3.IUpdateAlertPolicyRequest} request UpdateAlertPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return AlertPolicyService;
+ })();
+
+ v3.CreateAlertPolicyRequest = (function() {
+
+ /**
+ * Properties of a CreateAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @interface ICreateAlertPolicyRequest
+ * @property {string|null} [name] CreateAlertPolicyRequest name
+ * @property {google.monitoring.v3.IAlertPolicy|null} [alertPolicy] CreateAlertPolicyRequest alertPolicy
+ */
+
+ /**
+ * Constructs a new CreateAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a CreateAlertPolicyRequest.
+ * @implements ICreateAlertPolicyRequest
+ * @constructor
+ * @param {google.monitoring.v3.ICreateAlertPolicyRequest=} [properties] Properties to set
+ */
+ function CreateAlertPolicyRequest(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]];
+ }
+
+ /**
+ * CreateAlertPolicyRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @instance
+ */
+ CreateAlertPolicyRequest.prototype.name = "";
+
+ /**
+ * CreateAlertPolicyRequest alertPolicy.
+ * @member {google.monitoring.v3.IAlertPolicy|null|undefined} alertPolicy
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @instance
+ */
+ CreateAlertPolicyRequest.prototype.alertPolicy = null;
+
+ /**
+ * Creates a new CreateAlertPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.ICreateAlertPolicyRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.CreateAlertPolicyRequest} CreateAlertPolicyRequest instance
+ */
+ CreateAlertPolicyRequest.create = function create(properties) {
+ return new CreateAlertPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.CreateAlertPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.ICreateAlertPolicyRequest} message CreateAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateAlertPolicyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.alertPolicy != null && Object.hasOwnProperty.call(message, "alertPolicy"))
+ $root.google.monitoring.v3.AlertPolicy.encode(message.alertPolicy, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateAlertPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.ICreateAlertPolicyRequest} message CreateAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateAlertPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateAlertPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.CreateAlertPolicyRequest} CreateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateAlertPolicyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.CreateAlertPolicyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.alertPolicy = $root.google.monitoring.v3.AlertPolicy.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.CreateAlertPolicyRequest} CreateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateAlertPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateAlertPolicyRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateAlertPolicyRequest.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.alertPolicy != null && message.hasOwnProperty("alertPolicy")) {
+ var error = $root.google.monitoring.v3.AlertPolicy.verify(message.alertPolicy);
+ if (error)
+ return "alertPolicy." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.CreateAlertPolicyRequest} CreateAlertPolicyRequest
+ */
+ CreateAlertPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.CreateAlertPolicyRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.CreateAlertPolicyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.alertPolicy != null) {
+ if (typeof object.alertPolicy !== "object")
+ throw TypeError(".google.monitoring.v3.CreateAlertPolicyRequest.alertPolicy: object expected");
+ message.alertPolicy = $root.google.monitoring.v3.AlertPolicy.fromObject(object.alertPolicy);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateAlertPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.CreateAlertPolicyRequest} message CreateAlertPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateAlertPolicyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.alertPolicy = null;
+ object.name = "";
+ }
+ if (message.alertPolicy != null && message.hasOwnProperty("alertPolicy"))
+ object.alertPolicy = $root.google.monitoring.v3.AlertPolicy.toObject(message.alertPolicy, options);
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this CreateAlertPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateAlertPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateAlertPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.CreateAlertPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateAlertPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.CreateAlertPolicyRequest";
+ };
+
+ return CreateAlertPolicyRequest;
+ })();
+
+ v3.GetAlertPolicyRequest = (function() {
+
+ /**
+ * Properties of a GetAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @interface IGetAlertPolicyRequest
+ * @property {string|null} [name] GetAlertPolicyRequest name
+ */
+
+ /**
+ * Constructs a new GetAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a GetAlertPolicyRequest.
+ * @implements IGetAlertPolicyRequest
+ * @constructor
+ * @param {google.monitoring.v3.IGetAlertPolicyRequest=} [properties] Properties to set
+ */
+ function GetAlertPolicyRequest(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]];
+ }
+
+ /**
+ * GetAlertPolicyRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @instance
+ */
+ GetAlertPolicyRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetAlertPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IGetAlertPolicyRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.GetAlertPolicyRequest} GetAlertPolicyRequest instance
+ */
+ GetAlertPolicyRequest.create = function create(properties) {
+ return new GetAlertPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.GetAlertPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IGetAlertPolicyRequest} message GetAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAlertPolicyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetAlertPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IGetAlertPolicyRequest} message GetAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAlertPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetAlertPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.GetAlertPolicyRequest} GetAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAlertPolicyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.GetAlertPolicyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.GetAlertPolicyRequest} GetAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAlertPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetAlertPolicyRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetAlertPolicyRequest.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 GetAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.GetAlertPolicyRequest} GetAlertPolicyRequest
+ */
+ GetAlertPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.GetAlertPolicyRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.GetAlertPolicyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetAlertPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.GetAlertPolicyRequest} message GetAlertPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetAlertPolicyRequest.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 GetAlertPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetAlertPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetAlertPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.GetAlertPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetAlertPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.GetAlertPolicyRequest";
+ };
+
+ return GetAlertPolicyRequest;
+ })();
+
+ v3.ListAlertPoliciesRequest = (function() {
+
+ /**
+ * Properties of a ListAlertPoliciesRequest.
+ * @memberof google.monitoring.v3
+ * @interface IListAlertPoliciesRequest
+ * @property {string|null} [name] ListAlertPoliciesRequest name
+ * @property {string|null} [filter] ListAlertPoliciesRequest filter
+ * @property {string|null} [orderBy] ListAlertPoliciesRequest orderBy
+ * @property {number|null} [pageSize] ListAlertPoliciesRequest pageSize
+ * @property {string|null} [pageToken] ListAlertPoliciesRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListAlertPoliciesRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a ListAlertPoliciesRequest.
+ * @implements IListAlertPoliciesRequest
+ * @constructor
+ * @param {google.monitoring.v3.IListAlertPoliciesRequest=} [properties] Properties to set
+ */
+ function ListAlertPoliciesRequest(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]];
+ }
+
+ /**
+ * ListAlertPoliciesRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @instance
+ */
+ ListAlertPoliciesRequest.prototype.name = "";
+
+ /**
+ * ListAlertPoliciesRequest filter.
+ * @member {string} filter
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @instance
+ */
+ ListAlertPoliciesRequest.prototype.filter = "";
+
+ /**
+ * ListAlertPoliciesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @instance
+ */
+ ListAlertPoliciesRequest.prototype.orderBy = "";
+
+ /**
+ * ListAlertPoliciesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @instance
+ */
+ ListAlertPoliciesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListAlertPoliciesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @instance
+ */
+ ListAlertPoliciesRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListAlertPoliciesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {google.monitoring.v3.IListAlertPoliciesRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.ListAlertPoliciesRequest} ListAlertPoliciesRequest instance
+ */
+ ListAlertPoliciesRequest.create = function create(properties) {
+ return new ListAlertPoliciesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListAlertPoliciesRequest message. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {google.monitoring.v3.IListAlertPoliciesRequest} message ListAlertPoliciesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAlertPoliciesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.name);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListAlertPoliciesRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {google.monitoring.v3.IListAlertPoliciesRequest} message ListAlertPoliciesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAlertPoliciesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAlertPoliciesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.ListAlertPoliciesRequest} ListAlertPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAlertPoliciesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.ListAlertPoliciesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 4: {
+ message.name = reader.string();
+ break;
+ }
+ case 5: {
+ message.filter = reader.string();
+ break;
+ }
+ case 6: {
+ message.orderBy = 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 ListAlertPoliciesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.ListAlertPoliciesRequest} ListAlertPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAlertPoliciesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAlertPoliciesRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAlertPoliciesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: 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 ListAlertPoliciesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.ListAlertPoliciesRequest} ListAlertPoliciesRequest
+ */
+ ListAlertPoliciesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.ListAlertPoliciesRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.ListAlertPoliciesRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ 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 ListAlertPoliciesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {google.monitoring.v3.ListAlertPoliciesRequest} message ListAlertPoliciesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAlertPoliciesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.name = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListAlertPoliciesRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAlertPoliciesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAlertPoliciesRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.ListAlertPoliciesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAlertPoliciesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.ListAlertPoliciesRequest";
+ };
+
+ return ListAlertPoliciesRequest;
+ })();
+
+ v3.ListAlertPoliciesResponse = (function() {
+
+ /**
+ * Properties of a ListAlertPoliciesResponse.
+ * @memberof google.monitoring.v3
+ * @interface IListAlertPoliciesResponse
+ * @property {Array.|null} [alertPolicies] ListAlertPoliciesResponse alertPolicies
+ * @property {string|null} [nextPageToken] ListAlertPoliciesResponse nextPageToken
+ * @property {number|null} [totalSize] ListAlertPoliciesResponse totalSize
+ */
+
+ /**
+ * Constructs a new ListAlertPoliciesResponse.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a ListAlertPoliciesResponse.
+ * @implements IListAlertPoliciesResponse
+ * @constructor
+ * @param {google.monitoring.v3.IListAlertPoliciesResponse=} [properties] Properties to set
+ */
+ function ListAlertPoliciesResponse(properties) {
+ this.alertPolicies = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListAlertPoliciesResponse alertPolicies.
+ * @member {Array.} alertPolicies
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @instance
+ */
+ ListAlertPoliciesResponse.prototype.alertPolicies = $util.emptyArray;
+
+ /**
+ * ListAlertPoliciesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @instance
+ */
+ ListAlertPoliciesResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListAlertPoliciesResponse totalSize.
+ * @member {number} totalSize
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @instance
+ */
+ ListAlertPoliciesResponse.prototype.totalSize = 0;
+
+ /**
+ * Creates a new ListAlertPoliciesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {google.monitoring.v3.IListAlertPoliciesResponse=} [properties] Properties to set
+ * @returns {google.monitoring.v3.ListAlertPoliciesResponse} ListAlertPoliciesResponse instance
+ */
+ ListAlertPoliciesResponse.create = function create(properties) {
+ return new ListAlertPoliciesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListAlertPoliciesResponse message. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {google.monitoring.v3.IListAlertPoliciesResponse} message ListAlertPoliciesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAlertPoliciesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ if (message.alertPolicies != null && message.alertPolicies.length)
+ for (var i = 0; i < message.alertPolicies.length; ++i)
+ $root.google.monitoring.v3.AlertPolicy.encode(message.alertPolicies[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.totalSize != null && Object.hasOwnProperty.call(message, "totalSize"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.totalSize);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListAlertPoliciesResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListAlertPoliciesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {google.monitoring.v3.IListAlertPoliciesResponse} message ListAlertPoliciesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAlertPoliciesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAlertPoliciesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.ListAlertPoliciesResponse} ListAlertPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAlertPoliciesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.ListAlertPoliciesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ if (!(message.alertPolicies && message.alertPolicies.length))
+ message.alertPolicies = [];
+ message.alertPolicies.push($root.google.monitoring.v3.AlertPolicy.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.totalSize = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAlertPoliciesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.ListAlertPoliciesResponse} ListAlertPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAlertPoliciesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAlertPoliciesResponse message.
+ * @function verify
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAlertPoliciesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.alertPolicies != null && message.hasOwnProperty("alertPolicies")) {
+ if (!Array.isArray(message.alertPolicies))
+ return "alertPolicies: array expected";
+ for (var i = 0; i < message.alertPolicies.length; ++i) {
+ var error = $root.google.monitoring.v3.AlertPolicy.verify(message.alertPolicies[i]);
+ if (error)
+ return "alertPolicies." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.totalSize != null && message.hasOwnProperty("totalSize"))
+ if (!$util.isInteger(message.totalSize))
+ return "totalSize: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListAlertPoliciesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.ListAlertPoliciesResponse} ListAlertPoliciesResponse
+ */
+ ListAlertPoliciesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.ListAlertPoliciesResponse)
+ return object;
+ var message = new $root.google.monitoring.v3.ListAlertPoliciesResponse();
+ if (object.alertPolicies) {
+ if (!Array.isArray(object.alertPolicies))
+ throw TypeError(".google.monitoring.v3.ListAlertPoliciesResponse.alertPolicies: array expected");
+ message.alertPolicies = [];
+ for (var i = 0; i < object.alertPolicies.length; ++i) {
+ if (typeof object.alertPolicies[i] !== "object")
+ throw TypeError(".google.monitoring.v3.ListAlertPoliciesResponse.alertPolicies: object expected");
+ message.alertPolicies[i] = $root.google.monitoring.v3.AlertPolicy.fromObject(object.alertPolicies[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.totalSize != null)
+ message.totalSize = object.totalSize | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListAlertPoliciesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {google.monitoring.v3.ListAlertPoliciesResponse} message ListAlertPoliciesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAlertPoliciesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.alertPolicies = [];
+ if (options.defaults) {
+ object.nextPageToken = "";
+ object.totalSize = 0;
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.alertPolicies && message.alertPolicies.length) {
+ object.alertPolicies = [];
+ for (var j = 0; j < message.alertPolicies.length; ++j)
+ object.alertPolicies[j] = $root.google.monitoring.v3.AlertPolicy.toObject(message.alertPolicies[j], options);
+ }
+ if (message.totalSize != null && message.hasOwnProperty("totalSize"))
+ object.totalSize = message.totalSize;
+ return object;
+ };
+
+ /**
+ * Converts this ListAlertPoliciesResponse to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAlertPoliciesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAlertPoliciesResponse
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.ListAlertPoliciesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAlertPoliciesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.ListAlertPoliciesResponse";
+ };
+
+ return ListAlertPoliciesResponse;
+ })();
+
+ v3.UpdateAlertPolicyRequest = (function() {
+
+ /**
+ * Properties of an UpdateAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @interface IUpdateAlertPolicyRequest
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateAlertPolicyRequest updateMask
+ * @property {google.monitoring.v3.IAlertPolicy|null} [alertPolicy] UpdateAlertPolicyRequest alertPolicy
+ */
+
+ /**
+ * Constructs a new UpdateAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents an UpdateAlertPolicyRequest.
+ * @implements IUpdateAlertPolicyRequest
+ * @constructor
+ * @param {google.monitoring.v3.IUpdateAlertPolicyRequest=} [properties] Properties to set
+ */
+ function UpdateAlertPolicyRequest(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]];
+ }
+
+ /**
+ * UpdateAlertPolicyRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @instance
+ */
+ UpdateAlertPolicyRequest.prototype.updateMask = null;
+
+ /**
+ * UpdateAlertPolicyRequest alertPolicy.
+ * @member {google.monitoring.v3.IAlertPolicy|null|undefined} alertPolicy
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @instance
+ */
+ UpdateAlertPolicyRequest.prototype.alertPolicy = null;
+
+ /**
+ * Creates a new UpdateAlertPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IUpdateAlertPolicyRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.UpdateAlertPolicyRequest} UpdateAlertPolicyRequest instance
+ */
+ UpdateAlertPolicyRequest.create = function create(properties) {
+ return new UpdateAlertPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.UpdateAlertPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IUpdateAlertPolicyRequest} message UpdateAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateAlertPolicyRequest.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 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.alertPolicy != null && Object.hasOwnProperty.call(message, "alertPolicy"))
+ $root.google.monitoring.v3.AlertPolicy.encode(message.alertPolicy, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateAlertPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IUpdateAlertPolicyRequest} message UpdateAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateAlertPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateAlertPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.UpdateAlertPolicyRequest} UpdateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateAlertPolicyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.UpdateAlertPolicyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.alertPolicy = $root.google.monitoring.v3.AlertPolicy.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.UpdateAlertPolicyRequest} UpdateAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateAlertPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateAlertPolicyRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateAlertPolicyRequest.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.alertPolicy != null && message.hasOwnProperty("alertPolicy")) {
+ var error = $root.google.monitoring.v3.AlertPolicy.verify(message.alertPolicy);
+ if (error)
+ return "alertPolicy." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.UpdateAlertPolicyRequest} UpdateAlertPolicyRequest
+ */
+ UpdateAlertPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.UpdateAlertPolicyRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.UpdateAlertPolicyRequest();
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.monitoring.v3.UpdateAlertPolicyRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ if (object.alertPolicy != null) {
+ if (typeof object.alertPolicy !== "object")
+ throw TypeError(".google.monitoring.v3.UpdateAlertPolicyRequest.alertPolicy: object expected");
+ message.alertPolicy = $root.google.monitoring.v3.AlertPolicy.fromObject(object.alertPolicy);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateAlertPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.UpdateAlertPolicyRequest} message UpdateAlertPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateAlertPolicyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.updateMask = null;
+ object.alertPolicy = null;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ if (message.alertPolicy != null && message.hasOwnProperty("alertPolicy"))
+ object.alertPolicy = $root.google.monitoring.v3.AlertPolicy.toObject(message.alertPolicy, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateAlertPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateAlertPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateAlertPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.UpdateAlertPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateAlertPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.UpdateAlertPolicyRequest";
+ };
+
+ return UpdateAlertPolicyRequest;
+ })();
+
+ v3.DeleteAlertPolicyRequest = (function() {
+
+ /**
+ * Properties of a DeleteAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @interface IDeleteAlertPolicyRequest
+ * @property {string|null} [name] DeleteAlertPolicyRequest name
+ */
+
+ /**
+ * Constructs a new DeleteAlertPolicyRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a DeleteAlertPolicyRequest.
+ * @implements IDeleteAlertPolicyRequest
+ * @constructor
+ * @param {google.monitoring.v3.IDeleteAlertPolicyRequest=} [properties] Properties to set
+ */
+ function DeleteAlertPolicyRequest(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]];
+ }
+
+ /**
+ * DeleteAlertPolicyRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @instance
+ */
+ DeleteAlertPolicyRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteAlertPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IDeleteAlertPolicyRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.DeleteAlertPolicyRequest} DeleteAlertPolicyRequest instance
+ */
+ DeleteAlertPolicyRequest.create = function create(properties) {
+ return new DeleteAlertPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteAlertPolicyRequest message. Does not implicitly {@link google.monitoring.v3.DeleteAlertPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IDeleteAlertPolicyRequest} message DeleteAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteAlertPolicyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteAlertPolicyRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteAlertPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.IDeleteAlertPolicyRequest} message DeleteAlertPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteAlertPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteAlertPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.DeleteAlertPolicyRequest} DeleteAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteAlertPolicyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.DeleteAlertPolicyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteAlertPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.DeleteAlertPolicyRequest} DeleteAlertPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteAlertPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteAlertPolicyRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteAlertPolicyRequest.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 DeleteAlertPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.DeleteAlertPolicyRequest} DeleteAlertPolicyRequest
+ */
+ DeleteAlertPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.DeleteAlertPolicyRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.DeleteAlertPolicyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteAlertPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {google.monitoring.v3.DeleteAlertPolicyRequest} message DeleteAlertPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteAlertPolicyRequest.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 DeleteAlertPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteAlertPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteAlertPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.DeleteAlertPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteAlertPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.DeleteAlertPolicyRequest";
+ };
+
+ return DeleteAlertPolicyRequest;
+ })();
+
+ v3.DroppedLabels = (function() {
+
+ /**
+ * Properties of a DroppedLabels.
+ * @memberof google.monitoring.v3
+ * @interface IDroppedLabels
+ * @property {Object.|null} [label] DroppedLabels label
+ */
+
+ /**
+ * Constructs a new DroppedLabels.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a DroppedLabels.
+ * @implements IDroppedLabels
+ * @constructor
+ * @param {google.monitoring.v3.IDroppedLabels=} [properties] Properties to set
+ */
+ function DroppedLabels(properties) {
+ this.label = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * DroppedLabels label.
+ * @member {Object.} label
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @instance
+ */
+ DroppedLabels.prototype.label = $util.emptyObject;
+
+ /**
+ * Creates a new DroppedLabels instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {google.monitoring.v3.IDroppedLabels=} [properties] Properties to set
+ * @returns {google.monitoring.v3.DroppedLabels} DroppedLabels instance
+ */
+ DroppedLabels.create = function create(properties) {
+ return new DroppedLabels(properties);
+ };
+
+ /**
+ * Encodes the specified DroppedLabels message. Does not implicitly {@link google.monitoring.v3.DroppedLabels.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {google.monitoring.v3.IDroppedLabels} message DroppedLabels message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DroppedLabels.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.label != null && Object.hasOwnProperty.call(message, "label"))
+ for (var keys = Object.keys(message.label), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.label[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DroppedLabels message, length delimited. Does not implicitly {@link google.monitoring.v3.DroppedLabels.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {google.monitoring.v3.IDroppedLabels} message DroppedLabels message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DroppedLabels.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DroppedLabels message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.DroppedLabels} DroppedLabels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DroppedLabels.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.DroppedLabels(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (message.label === $util.emptyObject)
+ message.label = {};
+ 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.label[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DroppedLabels message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.DroppedLabels} DroppedLabels
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DroppedLabels.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DroppedLabels message.
+ * @function verify
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DroppedLabels.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.label != null && message.hasOwnProperty("label")) {
+ if (!$util.isObject(message.label))
+ return "label: object expected";
+ var key = Object.keys(message.label);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.label[key[i]]))
+ return "label: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DroppedLabels message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.DroppedLabels} DroppedLabels
+ */
+ DroppedLabels.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.DroppedLabels)
+ return object;
+ var message = new $root.google.monitoring.v3.DroppedLabels();
+ if (object.label) {
+ if (typeof object.label !== "object")
+ throw TypeError(".google.monitoring.v3.DroppedLabels.label: object expected");
+ message.label = {};
+ for (var keys = Object.keys(object.label), i = 0; i < keys.length; ++i)
+ message.label[keys[i]] = String(object.label[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DroppedLabels message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {google.monitoring.v3.DroppedLabels} message DroppedLabels
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DroppedLabels.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.label = {};
+ var keys2;
+ if (message.label && (keys2 = Object.keys(message.label)).length) {
+ object.label = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.label[keys2[j]] = message.label[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this DroppedLabels to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DroppedLabels.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DroppedLabels
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.DroppedLabels
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DroppedLabels.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.DroppedLabels";
+ };
+
+ return DroppedLabels;
+ })();
+
+ v3.Group = (function() {
+
+ /**
+ * Properties of a Group.
+ * @memberof google.monitoring.v3
+ * @interface IGroup
+ * @property {string|null} [name] Group name
+ * @property {string|null} [displayName] Group displayName
+ * @property {string|null} [parentName] Group parentName
+ * @property {string|null} [filter] Group filter
+ * @property {boolean|null} [isCluster] Group isCluster
+ */
+
+ /**
+ * Constructs a new Group.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a Group.
+ * @implements IGroup
+ * @constructor
+ * @param {google.monitoring.v3.IGroup=} [properties] Properties to set
+ */
+ function Group(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]];
+ }
+
+ /**
+ * Group name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.Group
+ * @instance
+ */
+ Group.prototype.name = "";
+
+ /**
+ * Group displayName.
+ * @member {string} displayName
+ * @memberof google.monitoring.v3.Group
+ * @instance
+ */
+ Group.prototype.displayName = "";
+
+ /**
+ * Group parentName.
+ * @member {string} parentName
+ * @memberof google.monitoring.v3.Group
+ * @instance
+ */
+ Group.prototype.parentName = "";
+
+ /**
+ * Group filter.
+ * @member {string} filter
+ * @memberof google.monitoring.v3.Group
+ * @instance
+ */
+ Group.prototype.filter = "";
+
+ /**
+ * Group isCluster.
+ * @member {boolean} isCluster
+ * @memberof google.monitoring.v3.Group
+ * @instance
+ */
+ Group.prototype.isCluster = false;
+
+ /**
+ * Creates a new Group instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {google.monitoring.v3.IGroup=} [properties] Properties to set
+ * @returns {google.monitoring.v3.Group} Group instance
+ */
+ Group.create = function create(properties) {
+ return new Group(properties);
+ };
+
+ /**
+ * Encodes the specified Group message. Does not implicitly {@link google.monitoring.v3.Group.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {google.monitoring.v3.IGroup} message Group message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Group.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.parentName != null && Object.hasOwnProperty.call(message, "parentName"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.parentName);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.filter);
+ if (message.isCluster != null && Object.hasOwnProperty.call(message, "isCluster"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.isCluster);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Group message, length delimited. Does not implicitly {@link google.monitoring.v3.Group.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {google.monitoring.v3.IGroup} message Group message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Group.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Group message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.Group} Group
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Group.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.Group();
+ 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: {
+ message.parentName = reader.string();
+ break;
+ }
+ case 5: {
+ message.filter = reader.string();
+ break;
+ }
+ case 6: {
+ message.isCluster = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Group message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.Group} Group
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Group.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Group message.
+ * @function verify
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Group.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.parentName != null && message.hasOwnProperty("parentName"))
+ if (!$util.isString(message.parentName))
+ return "parentName: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.isCluster != null && message.hasOwnProperty("isCluster"))
+ if (typeof message.isCluster !== "boolean")
+ return "isCluster: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Group message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.Group} Group
+ */
+ Group.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.Group)
+ return object;
+ var message = new $root.google.monitoring.v3.Group();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.parentName != null)
+ message.parentName = String(object.parentName);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.isCluster != null)
+ message.isCluster = Boolean(object.isCluster);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Group message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {google.monitoring.v3.Group} message Group
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Group.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.displayName = "";
+ object.parentName = "";
+ object.filter = "";
+ object.isCluster = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.parentName != null && message.hasOwnProperty("parentName"))
+ object.parentName = message.parentName;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.isCluster != null && message.hasOwnProperty("isCluster"))
+ object.isCluster = message.isCluster;
+ return object;
+ };
+
+ /**
+ * Converts this Group to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.Group
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Group.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Group
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.Group
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Group.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.Group";
+ };
+
+ return Group;
+ })();
+
+ v3.GroupService = (function() {
+
+ /**
+ * Constructs a new GroupService service.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a GroupService
+ * @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 GroupService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (GroupService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = GroupService;
+
+ /**
+ * Creates new GroupService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.monitoring.v3.GroupService
+ * @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 {GroupService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ GroupService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|listGroups}.
+ * @memberof google.monitoring.v3.GroupService
+ * @typedef ListGroupsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.ListGroupsResponse} [response] ListGroupsResponse
+ */
+
+ /**
+ * Calls ListGroups.
+ * @function listGroups
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IListGroupsRequest} request ListGroupsRequest message or plain object
+ * @param {google.monitoring.v3.GroupService.ListGroupsCallback} callback Node-style callback called with the error, if any, and ListGroupsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GroupService.prototype.listGroups = function listGroups(request, callback) {
+ return this.rpcCall(listGroups, $root.google.monitoring.v3.ListGroupsRequest, $root.google.monitoring.v3.ListGroupsResponse, request, callback);
+ }, "name", { value: "ListGroups" });
+
+ /**
+ * Calls ListGroups.
+ * @function listGroups
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IListGroupsRequest} request ListGroupsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|getGroup}.
+ * @memberof google.monitoring.v3.GroupService
+ * @typedef GetGroupCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.Group} [response] Group
+ */
+
+ /**
+ * Calls GetGroup.
+ * @function getGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IGetGroupRequest} request GetGroupRequest message or plain object
+ * @param {google.monitoring.v3.GroupService.GetGroupCallback} callback Node-style callback called with the error, if any, and Group
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GroupService.prototype.getGroup = function getGroup(request, callback) {
+ return this.rpcCall(getGroup, $root.google.monitoring.v3.GetGroupRequest, $root.google.monitoring.v3.Group, request, callback);
+ }, "name", { value: "GetGroup" });
+
+ /**
+ * Calls GetGroup.
+ * @function getGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IGetGroupRequest} request GetGroupRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|createGroup}.
+ * @memberof google.monitoring.v3.GroupService
+ * @typedef CreateGroupCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.Group} [response] Group
+ */
+
+ /**
+ * Calls CreateGroup.
+ * @function createGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.ICreateGroupRequest} request CreateGroupRequest message or plain object
+ * @param {google.monitoring.v3.GroupService.CreateGroupCallback} callback Node-style callback called with the error, if any, and Group
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GroupService.prototype.createGroup = function createGroup(request, callback) {
+ return this.rpcCall(createGroup, $root.google.monitoring.v3.CreateGroupRequest, $root.google.monitoring.v3.Group, request, callback);
+ }, "name", { value: "CreateGroup" });
+
+ /**
+ * Calls CreateGroup.
+ * @function createGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.ICreateGroupRequest} request CreateGroupRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|updateGroup}.
+ * @memberof google.monitoring.v3.GroupService
+ * @typedef UpdateGroupCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.Group} [response] Group
+ */
+
+ /**
+ * Calls UpdateGroup.
+ * @function updateGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IUpdateGroupRequest} request UpdateGroupRequest message or plain object
+ * @param {google.monitoring.v3.GroupService.UpdateGroupCallback} callback Node-style callback called with the error, if any, and Group
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GroupService.prototype.updateGroup = function updateGroup(request, callback) {
+ return this.rpcCall(updateGroup, $root.google.monitoring.v3.UpdateGroupRequest, $root.google.monitoring.v3.Group, request, callback);
+ }, "name", { value: "UpdateGroup" });
+
+ /**
+ * Calls UpdateGroup.
+ * @function updateGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IUpdateGroupRequest} request UpdateGroupRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|deleteGroup}.
+ * @memberof google.monitoring.v3.GroupService
+ * @typedef DeleteGroupCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteGroup.
+ * @function deleteGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IDeleteGroupRequest} request DeleteGroupRequest message or plain object
+ * @param {google.monitoring.v3.GroupService.DeleteGroupCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GroupService.prototype.deleteGroup = function deleteGroup(request, callback) {
+ return this.rpcCall(deleteGroup, $root.google.monitoring.v3.DeleteGroupRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteGroup" });
+
+ /**
+ * Calls DeleteGroup.
+ * @function deleteGroup
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IDeleteGroupRequest} request DeleteGroupRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.GroupService|listGroupMembers}.
+ * @memberof google.monitoring.v3.GroupService
+ * @typedef ListGroupMembersCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.ListGroupMembersResponse} [response] ListGroupMembersResponse
+ */
+
+ /**
+ * Calls ListGroupMembers.
+ * @function listGroupMembers
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IListGroupMembersRequest} request ListGroupMembersRequest message or plain object
+ * @param {google.monitoring.v3.GroupService.ListGroupMembersCallback} callback Node-style callback called with the error, if any, and ListGroupMembersResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(GroupService.prototype.listGroupMembers = function listGroupMembers(request, callback) {
+ return this.rpcCall(listGroupMembers, $root.google.monitoring.v3.ListGroupMembersRequest, $root.google.monitoring.v3.ListGroupMembersResponse, request, callback);
+ }, "name", { value: "ListGroupMembers" });
+
+ /**
+ * Calls ListGroupMembers.
+ * @function listGroupMembers
+ * @memberof google.monitoring.v3.GroupService
+ * @instance
+ * @param {google.monitoring.v3.IListGroupMembersRequest} request ListGroupMembersRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return GroupService;
+ })();
+
+ v3.ListGroupsRequest = (function() {
+
+ /**
+ * Properties of a ListGroupsRequest.
+ * @memberof google.monitoring.v3
+ * @interface IListGroupsRequest
+ * @property {string|null} [name] ListGroupsRequest name
+ * @property {string|null} [childrenOfGroup] ListGroupsRequest childrenOfGroup
+ * @property {string|null} [ancestorsOfGroup] ListGroupsRequest ancestorsOfGroup
+ * @property {string|null} [descendantsOfGroup] ListGroupsRequest descendantsOfGroup
+ * @property {number|null} [pageSize] ListGroupsRequest pageSize
+ * @property {string|null} [pageToken] ListGroupsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListGroupsRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a ListGroupsRequest.
+ * @implements IListGroupsRequest
+ * @constructor
+ * @param {google.monitoring.v3.IListGroupsRequest=} [properties] Properties to set
+ */
+ function ListGroupsRequest(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]];
+ }
+
+ /**
+ * ListGroupsRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ */
+ ListGroupsRequest.prototype.name = "";
+
+ /**
+ * ListGroupsRequest childrenOfGroup.
+ * @member {string|null|undefined} childrenOfGroup
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ */
+ ListGroupsRequest.prototype.childrenOfGroup = null;
+
+ /**
+ * ListGroupsRequest ancestorsOfGroup.
+ * @member {string|null|undefined} ancestorsOfGroup
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ */
+ ListGroupsRequest.prototype.ancestorsOfGroup = null;
+
+ /**
+ * ListGroupsRequest descendantsOfGroup.
+ * @member {string|null|undefined} descendantsOfGroup
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ */
+ ListGroupsRequest.prototype.descendantsOfGroup = null;
+
+ /**
+ * ListGroupsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ */
+ ListGroupsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListGroupsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ */
+ ListGroupsRequest.prototype.pageToken = "";
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ListGroupsRequest filter.
+ * @member {"childrenOfGroup"|"ancestorsOfGroup"|"descendantsOfGroup"|undefined} filter
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ */
+ Object.defineProperty(ListGroupsRequest.prototype, "filter", {
+ get: $util.oneOfGetter($oneOfFields = ["childrenOfGroup", "ancestorsOfGroup", "descendantsOfGroup"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ListGroupsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {google.monitoring.v3.IListGroupsRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.ListGroupsRequest} ListGroupsRequest instance
+ */
+ ListGroupsRequest.create = function create(properties) {
+ return new ListGroupsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListGroupsRequest message. Does not implicitly {@link google.monitoring.v3.ListGroupsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {google.monitoring.v3.IListGroupsRequest} message ListGroupsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.childrenOfGroup != null && Object.hasOwnProperty.call(message, "childrenOfGroup"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.childrenOfGroup);
+ if (message.ancestorsOfGroup != null && Object.hasOwnProperty.call(message, "ancestorsOfGroup"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.ancestorsOfGroup);
+ if (message.descendantsOfGroup != null && Object.hasOwnProperty.call(message, "descendantsOfGroup"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.descendantsOfGroup);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.pageToken);
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListGroupsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {google.monitoring.v3.IListGroupsRequest} message ListGroupsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListGroupsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.ListGroupsRequest} ListGroupsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.ListGroupsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 7: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.childrenOfGroup = reader.string();
+ break;
+ }
+ case 3: {
+ message.ancestorsOfGroup = reader.string();
+ break;
+ }
+ case 4: {
+ message.descendantsOfGroup = reader.string();
+ break;
+ }
+ case 5: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 6: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListGroupsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.ListGroupsRequest} ListGroupsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListGroupsRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListGroupsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.childrenOfGroup != null && message.hasOwnProperty("childrenOfGroup")) {
+ properties.filter = 1;
+ if (!$util.isString(message.childrenOfGroup))
+ return "childrenOfGroup: string expected";
+ }
+ if (message.ancestorsOfGroup != null && message.hasOwnProperty("ancestorsOfGroup")) {
+ if (properties.filter === 1)
+ return "filter: multiple values";
+ properties.filter = 1;
+ if (!$util.isString(message.ancestorsOfGroup))
+ return "ancestorsOfGroup: string expected";
+ }
+ if (message.descendantsOfGroup != null && message.hasOwnProperty("descendantsOfGroup")) {
+ if (properties.filter === 1)
+ return "filter: multiple values";
+ properties.filter = 1;
+ if (!$util.isString(message.descendantsOfGroup))
+ return "descendantsOfGroup: 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 ListGroupsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.ListGroupsRequest} ListGroupsRequest
+ */
+ ListGroupsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.ListGroupsRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.ListGroupsRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.childrenOfGroup != null)
+ message.childrenOfGroup = String(object.childrenOfGroup);
+ if (object.ancestorsOfGroup != null)
+ message.ancestorsOfGroup = String(object.ancestorsOfGroup);
+ if (object.descendantsOfGroup != null)
+ message.descendantsOfGroup = String(object.descendantsOfGroup);
+ 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 ListGroupsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {google.monitoring.v3.ListGroupsRequest} message ListGroupsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListGroupsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.name = "";
+ }
+ if (message.childrenOfGroup != null && message.hasOwnProperty("childrenOfGroup")) {
+ object.childrenOfGroup = message.childrenOfGroup;
+ if (options.oneofs)
+ object.filter = "childrenOfGroup";
+ }
+ if (message.ancestorsOfGroup != null && message.hasOwnProperty("ancestorsOfGroup")) {
+ object.ancestorsOfGroup = message.ancestorsOfGroup;
+ if (options.oneofs)
+ object.filter = "ancestorsOfGroup";
+ }
+ if (message.descendantsOfGroup != null && message.hasOwnProperty("descendantsOfGroup")) {
+ object.descendantsOfGroup = message.descendantsOfGroup;
+ if (options.oneofs)
+ object.filter = "descendantsOfGroup";
+ }
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this ListGroupsRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListGroupsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListGroupsRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.ListGroupsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListGroupsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.ListGroupsRequest";
+ };
+
+ return ListGroupsRequest;
+ })();
+
+ v3.ListGroupsResponse = (function() {
+
+ /**
+ * Properties of a ListGroupsResponse.
+ * @memberof google.monitoring.v3
+ * @interface IListGroupsResponse
+ * @property {Array.|null} [group] ListGroupsResponse group
+ * @property {string|null} [nextPageToken] ListGroupsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListGroupsResponse.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a ListGroupsResponse.
+ * @implements IListGroupsResponse
+ * @constructor
+ * @param {google.monitoring.v3.IListGroupsResponse=} [properties] Properties to set
+ */
+ function ListGroupsResponse(properties) {
+ this.group = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListGroupsResponse group.
+ * @member {Array.} group
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @instance
+ */
+ ListGroupsResponse.prototype.group = $util.emptyArray;
+
+ /**
+ * ListGroupsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @instance
+ */
+ ListGroupsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListGroupsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {google.monitoring.v3.IListGroupsResponse=} [properties] Properties to set
+ * @returns {google.monitoring.v3.ListGroupsResponse} ListGroupsResponse instance
+ */
+ ListGroupsResponse.create = function create(properties) {
+ return new ListGroupsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListGroupsResponse message. Does not implicitly {@link google.monitoring.v3.ListGroupsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {google.monitoring.v3.IListGroupsResponse} message ListGroupsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.group != null && message.group.length)
+ for (var i = 0; i < message.group.length; ++i)
+ $root.google.monitoring.v3.Group.encode(message.group[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListGroupsResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {google.monitoring.v3.IListGroupsResponse} message ListGroupsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListGroupsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.ListGroupsResponse} ListGroupsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.ListGroupsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.group && message.group.length))
+ message.group = [];
+ message.group.push($root.google.monitoring.v3.Group.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListGroupsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.ListGroupsResponse} ListGroupsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListGroupsResponse message.
+ * @function verify
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListGroupsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.group != null && message.hasOwnProperty("group")) {
+ if (!Array.isArray(message.group))
+ return "group: array expected";
+ for (var i = 0; i < message.group.length; ++i) {
+ var error = $root.google.monitoring.v3.Group.verify(message.group[i]);
+ if (error)
+ return "group." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListGroupsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.ListGroupsResponse} ListGroupsResponse
+ */
+ ListGroupsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.ListGroupsResponse)
+ return object;
+ var message = new $root.google.monitoring.v3.ListGroupsResponse();
+ if (object.group) {
+ if (!Array.isArray(object.group))
+ throw TypeError(".google.monitoring.v3.ListGroupsResponse.group: array expected");
+ message.group = [];
+ for (var i = 0; i < object.group.length; ++i) {
+ if (typeof object.group[i] !== "object")
+ throw TypeError(".google.monitoring.v3.ListGroupsResponse.group: object expected");
+ message.group[i] = $root.google.monitoring.v3.Group.fromObject(object.group[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListGroupsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {google.monitoring.v3.ListGroupsResponse} message ListGroupsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListGroupsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.group = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.group && message.group.length) {
+ object.group = [];
+ for (var j = 0; j < message.group.length; ++j)
+ object.group[j] = $root.google.monitoring.v3.Group.toObject(message.group[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListGroupsResponse to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListGroupsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListGroupsResponse
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.ListGroupsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListGroupsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.ListGroupsResponse";
+ };
+
+ return ListGroupsResponse;
+ })();
+
+ v3.GetGroupRequest = (function() {
+
+ /**
+ * Properties of a GetGroupRequest.
+ * @memberof google.monitoring.v3
+ * @interface IGetGroupRequest
+ * @property {string|null} [name] GetGroupRequest name
+ */
+
+ /**
+ * Constructs a new GetGroupRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a GetGroupRequest.
+ * @implements IGetGroupRequest
+ * @constructor
+ * @param {google.monitoring.v3.IGetGroupRequest=} [properties] Properties to set
+ */
+ function GetGroupRequest(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]];
+ }
+
+ /**
+ * GetGroupRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @instance
+ */
+ GetGroupRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetGroupRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IGetGroupRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.GetGroupRequest} GetGroupRequest instance
+ */
+ GetGroupRequest.create = function create(properties) {
+ return new GetGroupRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetGroupRequest message. Does not implicitly {@link google.monitoring.v3.GetGroupRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IGetGroupRequest} message GetGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetGroupRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.GetGroupRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IGetGroupRequest} message GetGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetGroupRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetGroupRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.GetGroupRequest} GetGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetGroupRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.GetGroupRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetGroupRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.GetGroupRequest} GetGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetGroupRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetGroupRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetGroupRequest.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 GetGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.GetGroupRequest} GetGroupRequest
+ */
+ GetGroupRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.GetGroupRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.GetGroupRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetGroupRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {google.monitoring.v3.GetGroupRequest} message GetGroupRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetGroupRequest.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 GetGroupRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetGroupRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetGroupRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.GetGroupRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetGroupRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.GetGroupRequest";
+ };
+
+ return GetGroupRequest;
+ })();
+
+ v3.CreateGroupRequest = (function() {
+
+ /**
+ * Properties of a CreateGroupRequest.
+ * @memberof google.monitoring.v3
+ * @interface ICreateGroupRequest
+ * @property {string|null} [name] CreateGroupRequest name
+ * @property {google.monitoring.v3.IGroup|null} [group] CreateGroupRequest group
+ * @property {boolean|null} [validateOnly] CreateGroupRequest validateOnly
+ */
+
+ /**
+ * Constructs a new CreateGroupRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a CreateGroupRequest.
+ * @implements ICreateGroupRequest
+ * @constructor
+ * @param {google.monitoring.v3.ICreateGroupRequest=} [properties] Properties to set
+ */
+ function CreateGroupRequest(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]];
+ }
+
+ /**
+ * CreateGroupRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @instance
+ */
+ CreateGroupRequest.prototype.name = "";
+
+ /**
+ * CreateGroupRequest group.
+ * @member {google.monitoring.v3.IGroup|null|undefined} group
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @instance
+ */
+ CreateGroupRequest.prototype.group = null;
+
+ /**
+ * CreateGroupRequest validateOnly.
+ * @member {boolean} validateOnly
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @instance
+ */
+ CreateGroupRequest.prototype.validateOnly = false;
+
+ /**
+ * Creates a new CreateGroupRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.ICreateGroupRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.CreateGroupRequest} CreateGroupRequest instance
+ */
+ CreateGroupRequest.create = function create(properties) {
+ return new CreateGroupRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateGroupRequest message. Does not implicitly {@link google.monitoring.v3.CreateGroupRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.ICreateGroupRequest} message CreateGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateGroupRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.group != null && Object.hasOwnProperty.call(message, "group"))
+ $root.google.monitoring.v3.Group.encode(message.group, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.validateOnly);
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.CreateGroupRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.ICreateGroupRequest} message CreateGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateGroupRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateGroupRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.CreateGroupRequest} CreateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateGroupRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.CreateGroupRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 4: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.group = $root.google.monitoring.v3.Group.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.validateOnly = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateGroupRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.CreateGroupRequest} CreateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateGroupRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateGroupRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateGroupRequest.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.group != null && message.hasOwnProperty("group")) {
+ var error = $root.google.monitoring.v3.Group.verify(message.group);
+ if (error)
+ return "group." + error;
+ }
+ if (message.validateOnly != null && message.hasOwnProperty("validateOnly"))
+ if (typeof message.validateOnly !== "boolean")
+ return "validateOnly: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a CreateGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.CreateGroupRequest} CreateGroupRequest
+ */
+ CreateGroupRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.CreateGroupRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.CreateGroupRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.group != null) {
+ if (typeof object.group !== "object")
+ throw TypeError(".google.monitoring.v3.CreateGroupRequest.group: object expected");
+ message.group = $root.google.monitoring.v3.Group.fromObject(object.group);
+ }
+ if (object.validateOnly != null)
+ message.validateOnly = Boolean(object.validateOnly);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateGroupRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.CreateGroupRequest} message CreateGroupRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateGroupRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.group = null;
+ object.validateOnly = false;
+ object.name = "";
+ }
+ if (message.group != null && message.hasOwnProperty("group"))
+ object.group = $root.google.monitoring.v3.Group.toObject(message.group, options);
+ if (message.validateOnly != null && message.hasOwnProperty("validateOnly"))
+ object.validateOnly = message.validateOnly;
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this CreateGroupRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateGroupRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateGroupRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.CreateGroupRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateGroupRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.CreateGroupRequest";
+ };
+
+ return CreateGroupRequest;
+ })();
+
+ v3.UpdateGroupRequest = (function() {
+
+ /**
+ * Properties of an UpdateGroupRequest.
+ * @memberof google.monitoring.v3
+ * @interface IUpdateGroupRequest
+ * @property {google.monitoring.v3.IGroup|null} [group] UpdateGroupRequest group
+ * @property {boolean|null} [validateOnly] UpdateGroupRequest validateOnly
+ */
+
+ /**
+ * Constructs a new UpdateGroupRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents an UpdateGroupRequest.
+ * @implements IUpdateGroupRequest
+ * @constructor
+ * @param {google.monitoring.v3.IUpdateGroupRequest=} [properties] Properties to set
+ */
+ function UpdateGroupRequest(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]];
+ }
+
+ /**
+ * UpdateGroupRequest group.
+ * @member {google.monitoring.v3.IGroup|null|undefined} group
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @instance
+ */
+ UpdateGroupRequest.prototype.group = null;
+
+ /**
+ * UpdateGroupRequest validateOnly.
+ * @member {boolean} validateOnly
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @instance
+ */
+ UpdateGroupRequest.prototype.validateOnly = false;
+
+ /**
+ * Creates a new UpdateGroupRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IUpdateGroupRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.UpdateGroupRequest} UpdateGroupRequest instance
+ */
+ UpdateGroupRequest.create = function create(properties) {
+ return new UpdateGroupRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateGroupRequest message. Does not implicitly {@link google.monitoring.v3.UpdateGroupRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IUpdateGroupRequest} message UpdateGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateGroupRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.group != null && Object.hasOwnProperty.call(message, "group"))
+ $root.google.monitoring.v3.Group.encode(message.group, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.validateOnly);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.UpdateGroupRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IUpdateGroupRequest} message UpdateGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateGroupRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateGroupRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.UpdateGroupRequest} UpdateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateGroupRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.UpdateGroupRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 2: {
+ message.group = $root.google.monitoring.v3.Group.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.validateOnly = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateGroupRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.UpdateGroupRequest} UpdateGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateGroupRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateGroupRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateGroupRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.group != null && message.hasOwnProperty("group")) {
+ var error = $root.google.monitoring.v3.Group.verify(message.group);
+ if (error)
+ return "group." + error;
+ }
+ if (message.validateOnly != null && message.hasOwnProperty("validateOnly"))
+ if (typeof message.validateOnly !== "boolean")
+ return "validateOnly: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates an UpdateGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.UpdateGroupRequest} UpdateGroupRequest
+ */
+ UpdateGroupRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.UpdateGroupRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.UpdateGroupRequest();
+ if (object.group != null) {
+ if (typeof object.group !== "object")
+ throw TypeError(".google.monitoring.v3.UpdateGroupRequest.group: object expected");
+ message.group = $root.google.monitoring.v3.Group.fromObject(object.group);
+ }
+ if (object.validateOnly != null)
+ message.validateOnly = Boolean(object.validateOnly);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateGroupRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {google.monitoring.v3.UpdateGroupRequest} message UpdateGroupRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateGroupRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.group = null;
+ object.validateOnly = false;
+ }
+ if (message.group != null && message.hasOwnProperty("group"))
+ object.group = $root.google.monitoring.v3.Group.toObject(message.group, options);
+ if (message.validateOnly != null && message.hasOwnProperty("validateOnly"))
+ object.validateOnly = message.validateOnly;
+ return object;
+ };
+
+ /**
+ * Converts this UpdateGroupRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateGroupRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateGroupRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.UpdateGroupRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateGroupRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.UpdateGroupRequest";
+ };
+
+ return UpdateGroupRequest;
+ })();
+
+ v3.DeleteGroupRequest = (function() {
+
+ /**
+ * Properties of a DeleteGroupRequest.
+ * @memberof google.monitoring.v3
+ * @interface IDeleteGroupRequest
+ * @property {string|null} [name] DeleteGroupRequest name
+ * @property {boolean|null} [recursive] DeleteGroupRequest recursive
+ */
+
+ /**
+ * Constructs a new DeleteGroupRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a DeleteGroupRequest.
+ * @implements IDeleteGroupRequest
+ * @constructor
+ * @param {google.monitoring.v3.IDeleteGroupRequest=} [properties] Properties to set
+ */
+ function DeleteGroupRequest(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]];
+ }
+
+ /**
+ * DeleteGroupRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @instance
+ */
+ DeleteGroupRequest.prototype.name = "";
+
+ /**
+ * DeleteGroupRequest recursive.
+ * @member {boolean} recursive
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @instance
+ */
+ DeleteGroupRequest.prototype.recursive = false;
+
+ /**
+ * Creates a new DeleteGroupRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IDeleteGroupRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.DeleteGroupRequest} DeleteGroupRequest instance
+ */
+ DeleteGroupRequest.create = function create(properties) {
+ return new DeleteGroupRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteGroupRequest message. Does not implicitly {@link google.monitoring.v3.DeleteGroupRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IDeleteGroupRequest} message DeleteGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteGroupRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.name);
+ if (message.recursive != null && Object.hasOwnProperty.call(message, "recursive"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.recursive);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteGroupRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.DeleteGroupRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {google.monitoring.v3.IDeleteGroupRequest} message DeleteGroupRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteGroupRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteGroupRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.DeleteGroupRequest} DeleteGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteGroupRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.DeleteGroupRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3: {
+ message.name = reader.string();
+ break;
+ }
+ case 4: {
+ message.recursive = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteGroupRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.DeleteGroupRequest} DeleteGroupRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteGroupRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteGroupRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteGroupRequest.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.recursive != null && message.hasOwnProperty("recursive"))
+ if (typeof message.recursive !== "boolean")
+ return "recursive: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteGroupRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.DeleteGroupRequest} DeleteGroupRequest
+ */
+ DeleteGroupRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.DeleteGroupRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.DeleteGroupRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.recursive != null)
+ message.recursive = Boolean(object.recursive);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteGroupRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {google.monitoring.v3.DeleteGroupRequest} message DeleteGroupRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteGroupRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.recursive = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.recursive != null && message.hasOwnProperty("recursive"))
+ object.recursive = message.recursive;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteGroupRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteGroupRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteGroupRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.DeleteGroupRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteGroupRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.DeleteGroupRequest";
+ };
+
+ return DeleteGroupRequest;
+ })();
+
+ v3.ListGroupMembersRequest = (function() {
+
+ /**
+ * Properties of a ListGroupMembersRequest.
+ * @memberof google.monitoring.v3
+ * @interface IListGroupMembersRequest
+ * @property {string|null} [name] ListGroupMembersRequest name
+ * @property {number|null} [pageSize] ListGroupMembersRequest pageSize
+ * @property {string|null} [pageToken] ListGroupMembersRequest pageToken
+ * @property {string|null} [filter] ListGroupMembersRequest filter
+ * @property {google.monitoring.v3.ITimeInterval|null} [interval] ListGroupMembersRequest interval
+ */
+
+ /**
+ * Constructs a new ListGroupMembersRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a ListGroupMembersRequest.
+ * @implements IListGroupMembersRequest
+ * @constructor
+ * @param {google.monitoring.v3.IListGroupMembersRequest=} [properties] Properties to set
+ */
+ function ListGroupMembersRequest(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]];
+ }
+
+ /**
+ * ListGroupMembersRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @instance
+ */
+ ListGroupMembersRequest.prototype.name = "";
+
+ /**
+ * ListGroupMembersRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @instance
+ */
+ ListGroupMembersRequest.prototype.pageSize = 0;
+
+ /**
+ * ListGroupMembersRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @instance
+ */
+ ListGroupMembersRequest.prototype.pageToken = "";
+
+ /**
+ * ListGroupMembersRequest filter.
+ * @member {string} filter
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @instance
+ */
+ ListGroupMembersRequest.prototype.filter = "";
+
+ /**
+ * ListGroupMembersRequest interval.
+ * @member {google.monitoring.v3.ITimeInterval|null|undefined} interval
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @instance
+ */
+ ListGroupMembersRequest.prototype.interval = null;
+
+ /**
+ * Creates a new ListGroupMembersRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {google.monitoring.v3.IListGroupMembersRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.ListGroupMembersRequest} ListGroupMembersRequest instance
+ */
+ ListGroupMembersRequest.create = function create(properties) {
+ return new ListGroupMembersRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListGroupMembersRequest message. Does not implicitly {@link google.monitoring.v3.ListGroupMembersRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {google.monitoring.v3.IListGroupMembersRequest} message ListGroupMembersRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupMembersRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.filter);
+ if (message.interval != null && Object.hasOwnProperty.call(message, "interval"))
+ $root.google.monitoring.v3.TimeInterval.encode(message.interval, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListGroupMembersRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupMembersRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {google.monitoring.v3.IListGroupMembersRequest} message ListGroupMembersRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupMembersRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListGroupMembersRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.ListGroupMembersRequest} ListGroupMembersRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupMembersRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.ListGroupMembersRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 7: {
+ message.name = reader.string();
+ break;
+ }
+ case 3: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 4: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 5: {
+ message.filter = reader.string();
+ break;
+ }
+ case 6: {
+ message.interval = $root.google.monitoring.v3.TimeInterval.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListGroupMembersRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.ListGroupMembersRequest} ListGroupMembersRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupMembersRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListGroupMembersRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListGroupMembersRequest.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.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.interval != null && message.hasOwnProperty("interval")) {
+ var error = $root.google.monitoring.v3.TimeInterval.verify(message.interval);
+ if (error)
+ return "interval." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListGroupMembersRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.ListGroupMembersRequest} ListGroupMembersRequest
+ */
+ ListGroupMembersRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.ListGroupMembersRequest)
+ return object;
+ var message = new $root.google.monitoring.v3.ListGroupMembersRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.interval != null) {
+ if (typeof object.interval !== "object")
+ throw TypeError(".google.monitoring.v3.ListGroupMembersRequest.interval: object expected");
+ message.interval = $root.google.monitoring.v3.TimeInterval.fromObject(object.interval);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListGroupMembersRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {google.monitoring.v3.ListGroupMembersRequest} message ListGroupMembersRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListGroupMembersRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.interval = null;
+ object.name = "";
+ }
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.interval != null && message.hasOwnProperty("interval"))
+ object.interval = $root.google.monitoring.v3.TimeInterval.toObject(message.interval, options);
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this ListGroupMembersRequest to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListGroupMembersRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListGroupMembersRequest
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.ListGroupMembersRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListGroupMembersRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.ListGroupMembersRequest";
+ };
+
+ return ListGroupMembersRequest;
+ })();
+
+ v3.ListGroupMembersResponse = (function() {
+
+ /**
+ * Properties of a ListGroupMembersResponse.
+ * @memberof google.monitoring.v3
+ * @interface IListGroupMembersResponse
+ * @property {Array.|null} [members] ListGroupMembersResponse members
+ * @property {string|null} [nextPageToken] ListGroupMembersResponse nextPageToken
+ * @property {number|null} [totalSize] ListGroupMembersResponse totalSize
+ */
+
+ /**
+ * Constructs a new ListGroupMembersResponse.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a ListGroupMembersResponse.
+ * @implements IListGroupMembersResponse
+ * @constructor
+ * @param {google.monitoring.v3.IListGroupMembersResponse=} [properties] Properties to set
+ */
+ function ListGroupMembersResponse(properties) {
+ this.members = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListGroupMembersResponse members.
+ * @member {Array.} members
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @instance
+ */
+ ListGroupMembersResponse.prototype.members = $util.emptyArray;
+
+ /**
+ * ListGroupMembersResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @instance
+ */
+ ListGroupMembersResponse.prototype.nextPageToken = "";
+
+ /**
+ * ListGroupMembersResponse totalSize.
+ * @member {number} totalSize
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @instance
+ */
+ ListGroupMembersResponse.prototype.totalSize = 0;
+
+ /**
+ * Creates a new ListGroupMembersResponse instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {google.monitoring.v3.IListGroupMembersResponse=} [properties] Properties to set
+ * @returns {google.monitoring.v3.ListGroupMembersResponse} ListGroupMembersResponse instance
+ */
+ ListGroupMembersResponse.create = function create(properties) {
+ return new ListGroupMembersResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListGroupMembersResponse message. Does not implicitly {@link google.monitoring.v3.ListGroupMembersResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {google.monitoring.v3.IListGroupMembersResponse} message ListGroupMembersResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupMembersResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.members != null && message.members.length)
+ for (var i = 0; i < message.members.length; ++i)
+ $root.google.api.MonitoredResource.encode(message.members[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.totalSize != null && Object.hasOwnProperty.call(message, "totalSize"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.totalSize);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListGroupMembersResponse message, length delimited. Does not implicitly {@link google.monitoring.v3.ListGroupMembersResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {google.monitoring.v3.IListGroupMembersResponse} message ListGroupMembersResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListGroupMembersResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListGroupMembersResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.ListGroupMembersResponse} ListGroupMembersResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupMembersResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.ListGroupMembersResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.members && message.members.length))
+ message.members = [];
+ message.members.push($root.google.api.MonitoredResource.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ case 3: {
+ message.totalSize = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListGroupMembersResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.ListGroupMembersResponse} ListGroupMembersResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListGroupMembersResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListGroupMembersResponse message.
+ * @function verify
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListGroupMembersResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.members != null && message.hasOwnProperty("members")) {
+ if (!Array.isArray(message.members))
+ return "members: array expected";
+ for (var i = 0; i < message.members.length; ++i) {
+ var error = $root.google.api.MonitoredResource.verify(message.members[i]);
+ if (error)
+ return "members." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ if (message.totalSize != null && message.hasOwnProperty("totalSize"))
+ if (!$util.isInteger(message.totalSize))
+ return "totalSize: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListGroupMembersResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.ListGroupMembersResponse} ListGroupMembersResponse
+ */
+ ListGroupMembersResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.ListGroupMembersResponse)
+ return object;
+ var message = new $root.google.monitoring.v3.ListGroupMembersResponse();
+ if (object.members) {
+ if (!Array.isArray(object.members))
+ throw TypeError(".google.monitoring.v3.ListGroupMembersResponse.members: array expected");
+ message.members = [];
+ for (var i = 0; i < object.members.length; ++i) {
+ if (typeof object.members[i] !== "object")
+ throw TypeError(".google.monitoring.v3.ListGroupMembersResponse.members: object expected");
+ message.members[i] = $root.google.api.MonitoredResource.fromObject(object.members[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ if (object.totalSize != null)
+ message.totalSize = object.totalSize | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListGroupMembersResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {google.monitoring.v3.ListGroupMembersResponse} message ListGroupMembersResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListGroupMembersResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.members = [];
+ if (options.defaults) {
+ object.nextPageToken = "";
+ object.totalSize = 0;
+ }
+ if (message.members && message.members.length) {
+ object.members = [];
+ for (var j = 0; j < message.members.length; ++j)
+ object.members[j] = $root.google.api.MonitoredResource.toObject(message.members[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ if (message.totalSize != null && message.hasOwnProperty("totalSize"))
+ object.totalSize = message.totalSize;
+ return object;
+ };
+
+ /**
+ * Converts this ListGroupMembersResponse to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListGroupMembersResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListGroupMembersResponse
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.ListGroupMembersResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListGroupMembersResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.ListGroupMembersResponse";
+ };
+
+ return ListGroupMembersResponse;
+ })();
+
+ v3.Point = (function() {
+
+ /**
+ * Properties of a Point.
+ * @memberof google.monitoring.v3
+ * @interface IPoint
+ * @property {google.monitoring.v3.ITimeInterval|null} [interval] Point interval
+ * @property {google.monitoring.v3.ITypedValue|null} [value] Point value
+ */
+
+ /**
+ * Constructs a new Point.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a Point.
+ * @implements IPoint
+ * @constructor
+ * @param {google.monitoring.v3.IPoint=} [properties] Properties to set
+ */
+ function Point(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]];
+ }
+
+ /**
+ * Point interval.
+ * @member {google.monitoring.v3.ITimeInterval|null|undefined} interval
+ * @memberof google.monitoring.v3.Point
+ * @instance
+ */
+ Point.prototype.interval = null;
+
+ /**
+ * Point value.
+ * @member {google.monitoring.v3.ITypedValue|null|undefined} value
+ * @memberof google.monitoring.v3.Point
+ * @instance
+ */
+ Point.prototype.value = null;
+
+ /**
+ * Creates a new Point instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {google.monitoring.v3.IPoint=} [properties] Properties to set
+ * @returns {google.monitoring.v3.Point} Point instance
+ */
+ Point.create = function create(properties) {
+ return new Point(properties);
+ };
+
+ /**
+ * Encodes the specified Point message. Does not implicitly {@link google.monitoring.v3.Point.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {google.monitoring.v3.IPoint} message Point message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Point.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.interval != null && Object.hasOwnProperty.call(message, "interval"))
+ $root.google.monitoring.v3.TimeInterval.encode(message.interval, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ $root.google.monitoring.v3.TypedValue.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Point message, length delimited. Does not implicitly {@link google.monitoring.v3.Point.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {google.monitoring.v3.IPoint} message Point message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Point.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Point message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.Point} Point
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Point.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.Point();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.interval = $root.google.monitoring.v3.TimeInterval.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.value = $root.google.monitoring.v3.TypedValue.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Point message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.Point} Point
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Point.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Point message.
+ * @function verify
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Point.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.interval != null && message.hasOwnProperty("interval")) {
+ var error = $root.google.monitoring.v3.TimeInterval.verify(message.interval);
+ if (error)
+ return "interval." + error;
+ }
+ if (message.value != null && message.hasOwnProperty("value")) {
+ var error = $root.google.monitoring.v3.TypedValue.verify(message.value);
+ if (error)
+ return "value." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Point message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.Point} Point
+ */
+ Point.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.Point)
+ return object;
+ var message = new $root.google.monitoring.v3.Point();
+ if (object.interval != null) {
+ if (typeof object.interval !== "object")
+ throw TypeError(".google.monitoring.v3.Point.interval: object expected");
+ message.interval = $root.google.monitoring.v3.TimeInterval.fromObject(object.interval);
+ }
+ if (object.value != null) {
+ if (typeof object.value !== "object")
+ throw TypeError(".google.monitoring.v3.Point.value: object expected");
+ message.value = $root.google.monitoring.v3.TypedValue.fromObject(object.value);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Point message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {google.monitoring.v3.Point} message Point
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Point.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.interval = null;
+ object.value = null;
+ }
+ if (message.interval != null && message.hasOwnProperty("interval"))
+ object.interval = $root.google.monitoring.v3.TimeInterval.toObject(message.interval, options);
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = $root.google.monitoring.v3.TypedValue.toObject(message.value, options);
+ return object;
+ };
+
+ /**
+ * Converts this Point to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.Point
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Point.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Point
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.Point
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Point.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.Point";
+ };
+
+ return Point;
+ })();
+
+ v3.TimeSeries = (function() {
+
+ /**
+ * Properties of a TimeSeries.
+ * @memberof google.monitoring.v3
+ * @interface ITimeSeries
+ * @property {google.api.IMetric|null} [metric] TimeSeries metric
+ * @property {google.api.IMonitoredResource|null} [resource] TimeSeries resource
+ * @property {google.api.IMonitoredResourceMetadata|null} [metadata] TimeSeries metadata
+ * @property {google.api.MetricDescriptor.MetricKind|null} [metricKind] TimeSeries metricKind
+ * @property {google.api.MetricDescriptor.ValueType|null} [valueType] TimeSeries valueType
+ * @property {Array.|null} [points] TimeSeries points
+ * @property {string|null} [unit] TimeSeries unit
+ */
+
+ /**
+ * Constructs a new TimeSeries.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a TimeSeries.
+ * @implements ITimeSeries
+ * @constructor
+ * @param {google.monitoring.v3.ITimeSeries=} [properties] Properties to set
+ */
+ function TimeSeries(properties) {
+ this.points = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * TimeSeries metric.
+ * @member {google.api.IMetric|null|undefined} metric
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ */
+ TimeSeries.prototype.metric = null;
+
+ /**
+ * TimeSeries resource.
+ * @member {google.api.IMonitoredResource|null|undefined} resource
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ */
+ TimeSeries.prototype.resource = null;
+
+ /**
+ * TimeSeries metadata.
+ * @member {google.api.IMonitoredResourceMetadata|null|undefined} metadata
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ */
+ TimeSeries.prototype.metadata = null;
+
+ /**
+ * TimeSeries metricKind.
+ * @member {google.api.MetricDescriptor.MetricKind} metricKind
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ */
+ TimeSeries.prototype.metricKind = 0;
+
+ /**
+ * TimeSeries valueType.
+ * @member {google.api.MetricDescriptor.ValueType} valueType
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ */
+ TimeSeries.prototype.valueType = 0;
+
+ /**
+ * TimeSeries points.
+ * @member {Array.} points
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ */
+ TimeSeries.prototype.points = $util.emptyArray;
+
+ /**
+ * TimeSeries unit.
+ * @member {string} unit
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ */
+ TimeSeries.prototype.unit = "";
+
+ /**
+ * Creates a new TimeSeries instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {google.monitoring.v3.ITimeSeries=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TimeSeries} TimeSeries instance
+ */
+ TimeSeries.create = function create(properties) {
+ return new TimeSeries(properties);
+ };
+
+ /**
+ * Encodes the specified TimeSeries message. Does not implicitly {@link google.monitoring.v3.TimeSeries.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {google.monitoring.v3.ITimeSeries} message TimeSeries message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeSeries.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.metric != null && Object.hasOwnProperty.call(message, "metric"))
+ $root.google.api.Metric.encode(message.metric, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.resource != null && Object.hasOwnProperty.call(message, "resource"))
+ $root.google.api.MonitoredResource.encode(message.resource, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.metricKind != null && Object.hasOwnProperty.call(message, "metricKind"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.metricKind);
+ if (message.valueType != null && Object.hasOwnProperty.call(message, "valueType"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.valueType);
+ if (message.points != null && message.points.length)
+ for (var i = 0; i < message.points.length; ++i)
+ $root.google.monitoring.v3.Point.encode(message.points[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata"))
+ $root.google.api.MonitoredResourceMetadata.encode(message.metadata, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.unit != null && Object.hasOwnProperty.call(message, "unit"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.unit);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TimeSeries message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeries.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {google.monitoring.v3.ITimeSeries} message TimeSeries message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeSeries.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TimeSeries message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TimeSeries} TimeSeries
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeSeries.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TimeSeries();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.metric = $root.google.api.Metric.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.resource = $root.google.api.MonitoredResource.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.metadata = $root.google.api.MonitoredResourceMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.metricKind = reader.int32();
+ break;
+ }
+ case 4: {
+ message.valueType = reader.int32();
+ break;
+ }
+ case 5: {
+ if (!(message.points && message.points.length))
+ message.points = [];
+ message.points.push($root.google.monitoring.v3.Point.decode(reader, reader.uint32()));
+ break;
+ }
+ case 8: {
+ message.unit = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TimeSeries message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TimeSeries} TimeSeries
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeSeries.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TimeSeries message.
+ * @function verify
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TimeSeries.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.metric != null && message.hasOwnProperty("metric")) {
+ var error = $root.google.api.Metric.verify(message.metric);
+ if (error)
+ return "metric." + error;
+ }
+ if (message.resource != null && message.hasOwnProperty("resource")) {
+ var error = $root.google.api.MonitoredResource.verify(message.resource);
+ if (error)
+ return "resource." + error;
+ }
+ if (message.metadata != null && message.hasOwnProperty("metadata")) {
+ var error = $root.google.api.MonitoredResourceMetadata.verify(message.metadata);
+ if (error)
+ return "metadata." + error;
+ }
+ if (message.metricKind != null && message.hasOwnProperty("metricKind"))
+ switch (message.metricKind) {
+ default:
+ return "metricKind: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.valueType != null && message.hasOwnProperty("valueType"))
+ switch (message.valueType) {
+ default:
+ return "valueType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.points != null && message.hasOwnProperty("points")) {
+ if (!Array.isArray(message.points))
+ return "points: array expected";
+ for (var i = 0; i < message.points.length; ++i) {
+ var error = $root.google.monitoring.v3.Point.verify(message.points[i]);
+ if (error)
+ return "points." + error;
+ }
+ }
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ if (!$util.isString(message.unit))
+ return "unit: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TimeSeries message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TimeSeries} TimeSeries
+ */
+ TimeSeries.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TimeSeries)
+ return object;
+ var message = new $root.google.monitoring.v3.TimeSeries();
+ if (object.metric != null) {
+ if (typeof object.metric !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeries.metric: object expected");
+ message.metric = $root.google.api.Metric.fromObject(object.metric);
+ }
+ if (object.resource != null) {
+ if (typeof object.resource !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeries.resource: object expected");
+ message.resource = $root.google.api.MonitoredResource.fromObject(object.resource);
+ }
+ if (object.metadata != null) {
+ if (typeof object.metadata !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeries.metadata: object expected");
+ message.metadata = $root.google.api.MonitoredResourceMetadata.fromObject(object.metadata);
+ }
+ switch (object.metricKind) {
+ default:
+ if (typeof object.metricKind === "number") {
+ message.metricKind = object.metricKind;
+ break;
+ }
+ break;
+ case "METRIC_KIND_UNSPECIFIED":
+ case 0:
+ message.metricKind = 0;
+ break;
+ case "GAUGE":
+ case 1:
+ message.metricKind = 1;
+ break;
+ case "DELTA":
+ case 2:
+ message.metricKind = 2;
+ break;
+ case "CUMULATIVE":
+ case 3:
+ message.metricKind = 3;
+ break;
+ }
+ switch (object.valueType) {
+ default:
+ if (typeof object.valueType === "number") {
+ message.valueType = object.valueType;
+ break;
+ }
+ break;
+ case "VALUE_TYPE_UNSPECIFIED":
+ case 0:
+ message.valueType = 0;
+ break;
+ case "BOOL":
+ case 1:
+ message.valueType = 1;
+ break;
+ case "INT64":
+ case 2:
+ message.valueType = 2;
+ break;
+ case "DOUBLE":
+ case 3:
+ message.valueType = 3;
+ break;
+ case "STRING":
+ case 4:
+ message.valueType = 4;
+ break;
+ case "DISTRIBUTION":
+ case 5:
+ message.valueType = 5;
+ break;
+ case "MONEY":
+ case 6:
+ message.valueType = 6;
+ break;
+ }
+ if (object.points) {
+ if (!Array.isArray(object.points))
+ throw TypeError(".google.monitoring.v3.TimeSeries.points: array expected");
+ message.points = [];
+ for (var i = 0; i < object.points.length; ++i) {
+ if (typeof object.points[i] !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeries.points: object expected");
+ message.points[i] = $root.google.monitoring.v3.Point.fromObject(object.points[i]);
+ }
+ }
+ if (object.unit != null)
+ message.unit = String(object.unit);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TimeSeries message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {google.monitoring.v3.TimeSeries} message TimeSeries
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TimeSeries.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.points = [];
+ if (options.defaults) {
+ object.metric = null;
+ object.resource = null;
+ object.metricKind = options.enums === String ? "METRIC_KIND_UNSPECIFIED" : 0;
+ object.valueType = options.enums === String ? "VALUE_TYPE_UNSPECIFIED" : 0;
+ object.metadata = null;
+ object.unit = "";
+ }
+ if (message.metric != null && message.hasOwnProperty("metric"))
+ object.metric = $root.google.api.Metric.toObject(message.metric, options);
+ if (message.resource != null && message.hasOwnProperty("resource"))
+ object.resource = $root.google.api.MonitoredResource.toObject(message.resource, options);
+ if (message.metricKind != null && message.hasOwnProperty("metricKind"))
+ object.metricKind = options.enums === String ? $root.google.api.MetricDescriptor.MetricKind[message.metricKind] === undefined ? message.metricKind : $root.google.api.MetricDescriptor.MetricKind[message.metricKind] : message.metricKind;
+ if (message.valueType != null && message.hasOwnProperty("valueType"))
+ object.valueType = options.enums === String ? $root.google.api.MetricDescriptor.ValueType[message.valueType] === undefined ? message.valueType : $root.google.api.MetricDescriptor.ValueType[message.valueType] : message.valueType;
+ if (message.points && message.points.length) {
+ object.points = [];
+ for (var j = 0; j < message.points.length; ++j)
+ object.points[j] = $root.google.monitoring.v3.Point.toObject(message.points[j], options);
+ }
+ if (message.metadata != null && message.hasOwnProperty("metadata"))
+ object.metadata = $root.google.api.MonitoredResourceMetadata.toObject(message.metadata, options);
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ object.unit = message.unit;
+ return object;
+ };
+
+ /**
+ * Converts this TimeSeries to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TimeSeries
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TimeSeries.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TimeSeries
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TimeSeries
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TimeSeries.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TimeSeries";
+ };
+
+ return TimeSeries;
+ })();
+
+ v3.TimeSeriesDescriptor = (function() {
+
+ /**
+ * Properties of a TimeSeriesDescriptor.
+ * @memberof google.monitoring.v3
+ * @interface ITimeSeriesDescriptor
+ * @property {Array.|null} [labelDescriptors] TimeSeriesDescriptor labelDescriptors
+ * @property {Array.|null} [pointDescriptors] TimeSeriesDescriptor pointDescriptors
+ */
+
+ /**
+ * Constructs a new TimeSeriesDescriptor.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a TimeSeriesDescriptor.
+ * @implements ITimeSeriesDescriptor
+ * @constructor
+ * @param {google.monitoring.v3.ITimeSeriesDescriptor=} [properties] Properties to set
+ */
+ function TimeSeriesDescriptor(properties) {
+ this.labelDescriptors = [];
+ this.pointDescriptors = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * TimeSeriesDescriptor labelDescriptors.
+ * @member {Array.} labelDescriptors
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @instance
+ */
+ TimeSeriesDescriptor.prototype.labelDescriptors = $util.emptyArray;
+
+ /**
+ * TimeSeriesDescriptor pointDescriptors.
+ * @member {Array.} pointDescriptors
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @instance
+ */
+ TimeSeriesDescriptor.prototype.pointDescriptors = $util.emptyArray;
+
+ /**
+ * Creates a new TimeSeriesDescriptor instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {google.monitoring.v3.ITimeSeriesDescriptor=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor} TimeSeriesDescriptor instance
+ */
+ TimeSeriesDescriptor.create = function create(properties) {
+ return new TimeSeriesDescriptor(properties);
+ };
+
+ /**
+ * Encodes the specified TimeSeriesDescriptor message. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {google.monitoring.v3.ITimeSeriesDescriptor} message TimeSeriesDescriptor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeSeriesDescriptor.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.labelDescriptors != null && message.labelDescriptors.length)
+ for (var i = 0; i < message.labelDescriptors.length; ++i)
+ $root.google.api.LabelDescriptor.encode(message.labelDescriptors[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.pointDescriptors != null && message.pointDescriptors.length)
+ for (var i = 0; i < message.pointDescriptors.length; ++i)
+ $root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.encode(message.pointDescriptors[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TimeSeriesDescriptor message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {google.monitoring.v3.ITimeSeriesDescriptor} message TimeSeriesDescriptor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeSeriesDescriptor.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TimeSeriesDescriptor message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor} TimeSeriesDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeSeriesDescriptor.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TimeSeriesDescriptor();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.labelDescriptors && message.labelDescriptors.length))
+ message.labelDescriptors = [];
+ message.labelDescriptors.push($root.google.api.LabelDescriptor.decode(reader, reader.uint32()));
+ break;
+ }
+ case 5: {
+ if (!(message.pointDescriptors && message.pointDescriptors.length))
+ message.pointDescriptors = [];
+ message.pointDescriptors.push($root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TimeSeriesDescriptor message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor} TimeSeriesDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeSeriesDescriptor.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TimeSeriesDescriptor message.
+ * @function verify
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TimeSeriesDescriptor.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.labelDescriptors != null && message.hasOwnProperty("labelDescriptors")) {
+ if (!Array.isArray(message.labelDescriptors))
+ return "labelDescriptors: array expected";
+ for (var i = 0; i < message.labelDescriptors.length; ++i) {
+ var error = $root.google.api.LabelDescriptor.verify(message.labelDescriptors[i]);
+ if (error)
+ return "labelDescriptors." + error;
+ }
+ }
+ if (message.pointDescriptors != null && message.hasOwnProperty("pointDescriptors")) {
+ if (!Array.isArray(message.pointDescriptors))
+ return "pointDescriptors: array expected";
+ for (var i = 0; i < message.pointDescriptors.length; ++i) {
+ var error = $root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.verify(message.pointDescriptors[i]);
+ if (error)
+ return "pointDescriptors." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TimeSeriesDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor} TimeSeriesDescriptor
+ */
+ TimeSeriesDescriptor.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TimeSeriesDescriptor)
+ return object;
+ var message = new $root.google.monitoring.v3.TimeSeriesDescriptor();
+ if (object.labelDescriptors) {
+ if (!Array.isArray(object.labelDescriptors))
+ throw TypeError(".google.monitoring.v3.TimeSeriesDescriptor.labelDescriptors: array expected");
+ message.labelDescriptors = [];
+ for (var i = 0; i < object.labelDescriptors.length; ++i) {
+ if (typeof object.labelDescriptors[i] !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeriesDescriptor.labelDescriptors: object expected");
+ message.labelDescriptors[i] = $root.google.api.LabelDescriptor.fromObject(object.labelDescriptors[i]);
+ }
+ }
+ if (object.pointDescriptors) {
+ if (!Array.isArray(object.pointDescriptors))
+ throw TypeError(".google.monitoring.v3.TimeSeriesDescriptor.pointDescriptors: array expected");
+ message.pointDescriptors = [];
+ for (var i = 0; i < object.pointDescriptors.length; ++i) {
+ if (typeof object.pointDescriptors[i] !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeriesDescriptor.pointDescriptors: object expected");
+ message.pointDescriptors[i] = $root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.fromObject(object.pointDescriptors[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TimeSeriesDescriptor message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesDescriptor} message TimeSeriesDescriptor
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TimeSeriesDescriptor.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.labelDescriptors = [];
+ object.pointDescriptors = [];
+ }
+ if (message.labelDescriptors && message.labelDescriptors.length) {
+ object.labelDescriptors = [];
+ for (var j = 0; j < message.labelDescriptors.length; ++j)
+ object.labelDescriptors[j] = $root.google.api.LabelDescriptor.toObject(message.labelDescriptors[j], options);
+ }
+ if (message.pointDescriptors && message.pointDescriptors.length) {
+ object.pointDescriptors = [];
+ for (var j = 0; j < message.pointDescriptors.length; ++j)
+ object.pointDescriptors[j] = $root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.toObject(message.pointDescriptors[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TimeSeriesDescriptor to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TimeSeriesDescriptor.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TimeSeriesDescriptor
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TimeSeriesDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TimeSeriesDescriptor";
+ };
+
+ TimeSeriesDescriptor.ValueDescriptor = (function() {
+
+ /**
+ * Properties of a ValueDescriptor.
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @interface IValueDescriptor
+ * @property {string|null} [key] ValueDescriptor key
+ * @property {google.api.MetricDescriptor.ValueType|null} [valueType] ValueDescriptor valueType
+ * @property {google.api.MetricDescriptor.MetricKind|null} [metricKind] ValueDescriptor metricKind
+ * @property {string|null} [unit] ValueDescriptor unit
+ */
+
+ /**
+ * Constructs a new ValueDescriptor.
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor
+ * @classdesc Represents a ValueDescriptor.
+ * @implements IValueDescriptor
+ * @constructor
+ * @param {google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor=} [properties] Properties to set
+ */
+ function ValueDescriptor(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]];
+ }
+
+ /**
+ * ValueDescriptor key.
+ * @member {string} key
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @instance
+ */
+ ValueDescriptor.prototype.key = "";
+
+ /**
+ * ValueDescriptor valueType.
+ * @member {google.api.MetricDescriptor.ValueType} valueType
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @instance
+ */
+ ValueDescriptor.prototype.valueType = 0;
+
+ /**
+ * ValueDescriptor metricKind.
+ * @member {google.api.MetricDescriptor.MetricKind} metricKind
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @instance
+ */
+ ValueDescriptor.prototype.metricKind = 0;
+
+ /**
+ * ValueDescriptor unit.
+ * @member {string} unit
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @instance
+ */
+ ValueDescriptor.prototype.unit = "";
+
+ /**
+ * Creates a new ValueDescriptor instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor} ValueDescriptor instance
+ */
+ ValueDescriptor.create = function create(properties) {
+ return new ValueDescriptor(properties);
+ };
+
+ /**
+ * Encodes the specified ValueDescriptor message. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor} message ValueDescriptor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ValueDescriptor.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.key);
+ if (message.valueType != null && Object.hasOwnProperty.call(message, "valueType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.valueType);
+ if (message.metricKind != null && Object.hasOwnProperty.call(message, "metricKind"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.metricKind);
+ if (message.unit != null && Object.hasOwnProperty.call(message, "unit"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.unit);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ValueDescriptor message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesDescriptor.IValueDescriptor} message ValueDescriptor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ValueDescriptor.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ValueDescriptor message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor} ValueDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ValueDescriptor.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.key = reader.string();
+ break;
+ }
+ case 2: {
+ message.valueType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.metricKind = reader.int32();
+ break;
+ }
+ case 4: {
+ message.unit = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ValueDescriptor message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor} ValueDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ValueDescriptor.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ValueDescriptor message.
+ * @function verify
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ValueDescriptor.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.key != null && message.hasOwnProperty("key"))
+ if (!$util.isString(message.key))
+ return "key: string expected";
+ if (message.valueType != null && message.hasOwnProperty("valueType"))
+ switch (message.valueType) {
+ default:
+ return "valueType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ if (message.metricKind != null && message.hasOwnProperty("metricKind"))
+ switch (message.metricKind) {
+ default:
+ return "metricKind: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ if (!$util.isString(message.unit))
+ return "unit: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ValueDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor} ValueDescriptor
+ */
+ ValueDescriptor.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor)
+ return object;
+ var message = new $root.google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor();
+ if (object.key != null)
+ message.key = String(object.key);
+ switch (object.valueType) {
+ default:
+ if (typeof object.valueType === "number") {
+ message.valueType = object.valueType;
+ break;
+ }
+ break;
+ case "VALUE_TYPE_UNSPECIFIED":
+ case 0:
+ message.valueType = 0;
+ break;
+ case "BOOL":
+ case 1:
+ message.valueType = 1;
+ break;
+ case "INT64":
+ case 2:
+ message.valueType = 2;
+ break;
+ case "DOUBLE":
+ case 3:
+ message.valueType = 3;
+ break;
+ case "STRING":
+ case 4:
+ message.valueType = 4;
+ break;
+ case "DISTRIBUTION":
+ case 5:
+ message.valueType = 5;
+ break;
+ case "MONEY":
+ case 6:
+ message.valueType = 6;
+ break;
+ }
+ switch (object.metricKind) {
+ default:
+ if (typeof object.metricKind === "number") {
+ message.metricKind = object.metricKind;
+ break;
+ }
+ break;
+ case "METRIC_KIND_UNSPECIFIED":
+ case 0:
+ message.metricKind = 0;
+ break;
+ case "GAUGE":
+ case 1:
+ message.metricKind = 1;
+ break;
+ case "DELTA":
+ case 2:
+ message.metricKind = 2;
+ break;
+ case "CUMULATIVE":
+ case 3:
+ message.metricKind = 3;
+ break;
+ }
+ if (object.unit != null)
+ message.unit = String(object.unit);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ValueDescriptor message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor} message ValueDescriptor
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ValueDescriptor.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.key = "";
+ object.valueType = options.enums === String ? "VALUE_TYPE_UNSPECIFIED" : 0;
+ object.metricKind = options.enums === String ? "METRIC_KIND_UNSPECIFIED" : 0;
+ object.unit = "";
+ }
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = message.key;
+ if (message.valueType != null && message.hasOwnProperty("valueType"))
+ object.valueType = options.enums === String ? $root.google.api.MetricDescriptor.ValueType[message.valueType] === undefined ? message.valueType : $root.google.api.MetricDescriptor.ValueType[message.valueType] : message.valueType;
+ if (message.metricKind != null && message.hasOwnProperty("metricKind"))
+ object.metricKind = options.enums === String ? $root.google.api.MetricDescriptor.MetricKind[message.metricKind] === undefined ? message.metricKind : $root.google.api.MetricDescriptor.MetricKind[message.metricKind] : message.metricKind;
+ if (message.unit != null && message.hasOwnProperty("unit"))
+ object.unit = message.unit;
+ return object;
+ };
+
+ /**
+ * Converts this ValueDescriptor to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ValueDescriptor.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ValueDescriptor
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ValueDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TimeSeriesDescriptor.ValueDescriptor";
+ };
+
+ return ValueDescriptor;
+ })();
+
+ return TimeSeriesDescriptor;
+ })();
+
+ v3.TimeSeriesData = (function() {
+
+ /**
+ * Properties of a TimeSeriesData.
+ * @memberof google.monitoring.v3
+ * @interface ITimeSeriesData
+ * @property {Array.|null} [labelValues] TimeSeriesData labelValues
+ * @property {Array.|null} [pointData] TimeSeriesData pointData
+ */
+
+ /**
+ * Constructs a new TimeSeriesData.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a TimeSeriesData.
+ * @implements ITimeSeriesData
+ * @constructor
+ * @param {google.monitoring.v3.ITimeSeriesData=} [properties] Properties to set
+ */
+ function TimeSeriesData(properties) {
+ this.labelValues = [];
+ this.pointData = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * TimeSeriesData labelValues.
+ * @member {Array.} labelValues
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @instance
+ */
+ TimeSeriesData.prototype.labelValues = $util.emptyArray;
+
+ /**
+ * TimeSeriesData pointData.
+ * @member {Array.} pointData
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @instance
+ */
+ TimeSeriesData.prototype.pointData = $util.emptyArray;
+
+ /**
+ * Creates a new TimeSeriesData instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {google.monitoring.v3.ITimeSeriesData=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TimeSeriesData} TimeSeriesData instance
+ */
+ TimeSeriesData.create = function create(properties) {
+ return new TimeSeriesData(properties);
+ };
+
+ /**
+ * Encodes the specified TimeSeriesData message. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {google.monitoring.v3.ITimeSeriesData} message TimeSeriesData message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeSeriesData.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.labelValues != null && message.labelValues.length)
+ for (var i = 0; i < message.labelValues.length; ++i)
+ $root.google.monitoring.v3.LabelValue.encode(message.labelValues[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.pointData != null && message.pointData.length)
+ for (var i = 0; i < message.pointData.length; ++i)
+ $root.google.monitoring.v3.TimeSeriesData.PointData.encode(message.pointData[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TimeSeriesData message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {google.monitoring.v3.ITimeSeriesData} message TimeSeriesData message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TimeSeriesData.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TimeSeriesData message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TimeSeriesData} TimeSeriesData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeSeriesData.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TimeSeriesData();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.labelValues && message.labelValues.length))
+ message.labelValues = [];
+ message.labelValues.push($root.google.monitoring.v3.LabelValue.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ if (!(message.pointData && message.pointData.length))
+ message.pointData = [];
+ message.pointData.push($root.google.monitoring.v3.TimeSeriesData.PointData.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TimeSeriesData message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TimeSeriesData} TimeSeriesData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TimeSeriesData.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TimeSeriesData message.
+ * @function verify
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TimeSeriesData.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.labelValues != null && message.hasOwnProperty("labelValues")) {
+ if (!Array.isArray(message.labelValues))
+ return "labelValues: array expected";
+ for (var i = 0; i < message.labelValues.length; ++i) {
+ var error = $root.google.monitoring.v3.LabelValue.verify(message.labelValues[i]);
+ if (error)
+ return "labelValues." + error;
+ }
+ }
+ if (message.pointData != null && message.hasOwnProperty("pointData")) {
+ if (!Array.isArray(message.pointData))
+ return "pointData: array expected";
+ for (var i = 0; i < message.pointData.length; ++i) {
+ var error = $root.google.monitoring.v3.TimeSeriesData.PointData.verify(message.pointData[i]);
+ if (error)
+ return "pointData." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TimeSeriesData message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TimeSeriesData} TimeSeriesData
+ */
+ TimeSeriesData.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TimeSeriesData)
+ return object;
+ var message = new $root.google.monitoring.v3.TimeSeriesData();
+ if (object.labelValues) {
+ if (!Array.isArray(object.labelValues))
+ throw TypeError(".google.monitoring.v3.TimeSeriesData.labelValues: array expected");
+ message.labelValues = [];
+ for (var i = 0; i < object.labelValues.length; ++i) {
+ if (typeof object.labelValues[i] !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeriesData.labelValues: object expected");
+ message.labelValues[i] = $root.google.monitoring.v3.LabelValue.fromObject(object.labelValues[i]);
+ }
+ }
+ if (object.pointData) {
+ if (!Array.isArray(object.pointData))
+ throw TypeError(".google.monitoring.v3.TimeSeriesData.pointData: array expected");
+ message.pointData = [];
+ for (var i = 0; i < object.pointData.length; ++i) {
+ if (typeof object.pointData[i] !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeriesData.pointData: object expected");
+ message.pointData[i] = $root.google.monitoring.v3.TimeSeriesData.PointData.fromObject(object.pointData[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TimeSeriesData message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesData} message TimeSeriesData
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TimeSeriesData.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.labelValues = [];
+ object.pointData = [];
+ }
+ if (message.labelValues && message.labelValues.length) {
+ object.labelValues = [];
+ for (var j = 0; j < message.labelValues.length; ++j)
+ object.labelValues[j] = $root.google.monitoring.v3.LabelValue.toObject(message.labelValues[j], options);
+ }
+ if (message.pointData && message.pointData.length) {
+ object.pointData = [];
+ for (var j = 0; j < message.pointData.length; ++j)
+ object.pointData[j] = $root.google.monitoring.v3.TimeSeriesData.PointData.toObject(message.pointData[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this TimeSeriesData to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TimeSeriesData.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TimeSeriesData
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TimeSeriesData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TimeSeriesData";
+ };
+
+ TimeSeriesData.PointData = (function() {
+
+ /**
+ * Properties of a PointData.
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @interface IPointData
+ * @property {Array.|null} [values] PointData values
+ * @property {google.monitoring.v3.ITimeInterval|null} [timeInterval] PointData timeInterval
+ */
+
+ /**
+ * Constructs a new PointData.
+ * @memberof google.monitoring.v3.TimeSeriesData
+ * @classdesc Represents a PointData.
+ * @implements IPointData
+ * @constructor
+ * @param {google.monitoring.v3.TimeSeriesData.IPointData=} [properties] Properties to set
+ */
+ function PointData(properties) {
+ this.values = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PointData values.
+ * @member {Array.} values
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @instance
+ */
+ PointData.prototype.values = $util.emptyArray;
+
+ /**
+ * PointData timeInterval.
+ * @member {google.monitoring.v3.ITimeInterval|null|undefined} timeInterval
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @instance
+ */
+ PointData.prototype.timeInterval = null;
+
+ /**
+ * Creates a new PointData instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesData.IPointData=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TimeSeriesData.PointData} PointData instance
+ */
+ PointData.create = function create(properties) {
+ return new PointData(properties);
+ };
+
+ /**
+ * Encodes the specified PointData message. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.PointData.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesData.IPointData} message PointData message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PointData.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.values != null && message.values.length)
+ for (var i = 0; i < message.values.length; ++i)
+ $root.google.monitoring.v3.TypedValue.encode(message.values[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.timeInterval != null && Object.hasOwnProperty.call(message, "timeInterval"))
+ $root.google.monitoring.v3.TimeInterval.encode(message.timeInterval, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PointData message, length delimited. Does not implicitly {@link google.monitoring.v3.TimeSeriesData.PointData.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesData.IPointData} message PointData message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PointData.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PointData message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TimeSeriesData.PointData} PointData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PointData.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TimeSeriesData.PointData();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.values && message.values.length))
+ message.values = [];
+ message.values.push($root.google.monitoring.v3.TypedValue.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.timeInterval = $root.google.monitoring.v3.TimeInterval.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PointData message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TimeSeriesData.PointData} PointData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PointData.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PointData message.
+ * @function verify
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PointData.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.values != null && message.hasOwnProperty("values")) {
+ if (!Array.isArray(message.values))
+ return "values: array expected";
+ for (var i = 0; i < message.values.length; ++i) {
+ var error = $root.google.monitoring.v3.TypedValue.verify(message.values[i]);
+ if (error)
+ return "values." + error;
+ }
+ }
+ if (message.timeInterval != null && message.hasOwnProperty("timeInterval")) {
+ var error = $root.google.monitoring.v3.TimeInterval.verify(message.timeInterval);
+ if (error)
+ return "timeInterval." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PointData message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TimeSeriesData.PointData} PointData
+ */
+ PointData.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TimeSeriesData.PointData)
+ return object;
+ var message = new $root.google.monitoring.v3.TimeSeriesData.PointData();
+ if (object.values) {
+ if (!Array.isArray(object.values))
+ throw TypeError(".google.monitoring.v3.TimeSeriesData.PointData.values: array expected");
+ message.values = [];
+ for (var i = 0; i < object.values.length; ++i) {
+ if (typeof object.values[i] !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeriesData.PointData.values: object expected");
+ message.values[i] = $root.google.monitoring.v3.TypedValue.fromObject(object.values[i]);
+ }
+ }
+ if (object.timeInterval != null) {
+ if (typeof object.timeInterval !== "object")
+ throw TypeError(".google.monitoring.v3.TimeSeriesData.PointData.timeInterval: object expected");
+ message.timeInterval = $root.google.monitoring.v3.TimeInterval.fromObject(object.timeInterval);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PointData message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {google.monitoring.v3.TimeSeriesData.PointData} message PointData
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PointData.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.values = [];
+ if (options.defaults)
+ object.timeInterval = null;
+ if (message.values && message.values.length) {
+ object.values = [];
+ for (var j = 0; j < message.values.length; ++j)
+ object.values[j] = $root.google.monitoring.v3.TypedValue.toObject(message.values[j], options);
+ }
+ if (message.timeInterval != null && message.hasOwnProperty("timeInterval"))
+ object.timeInterval = $root.google.monitoring.v3.TimeInterval.toObject(message.timeInterval, options);
+ return object;
+ };
+
+ /**
+ * Converts this PointData to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PointData.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PointData
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TimeSeriesData.PointData
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PointData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TimeSeriesData.PointData";
+ };
+
+ return PointData;
+ })();
+
+ return TimeSeriesData;
+ })();
+
+ v3.LabelValue = (function() {
+
+ /**
+ * Properties of a LabelValue.
+ * @memberof google.monitoring.v3
+ * @interface ILabelValue
+ * @property {boolean|null} [boolValue] LabelValue boolValue
+ * @property {number|Long|null} [int64Value] LabelValue int64Value
+ * @property {string|null} [stringValue] LabelValue stringValue
+ */
+
+ /**
+ * Constructs a new LabelValue.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a LabelValue.
+ * @implements ILabelValue
+ * @constructor
+ * @param {google.monitoring.v3.ILabelValue=} [properties] Properties to set
+ */
+ function LabelValue(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]];
+ }
+
+ /**
+ * LabelValue boolValue.
+ * @member {boolean|null|undefined} boolValue
+ * @memberof google.monitoring.v3.LabelValue
+ * @instance
+ */
+ LabelValue.prototype.boolValue = null;
+
+ /**
+ * LabelValue int64Value.
+ * @member {number|Long|null|undefined} int64Value
+ * @memberof google.monitoring.v3.LabelValue
+ * @instance
+ */
+ LabelValue.prototype.int64Value = null;
+
+ /**
+ * LabelValue stringValue.
+ * @member {string|null|undefined} stringValue
+ * @memberof google.monitoring.v3.LabelValue
+ * @instance
+ */
+ LabelValue.prototype.stringValue = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * LabelValue value.
+ * @member {"boolValue"|"int64Value"|"stringValue"|undefined} value
+ * @memberof google.monitoring.v3.LabelValue
+ * @instance
+ */
+ Object.defineProperty(LabelValue.prototype, "value", {
+ get: $util.oneOfGetter($oneOfFields = ["boolValue", "int64Value", "stringValue"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new LabelValue instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {google.monitoring.v3.ILabelValue=} [properties] Properties to set
+ * @returns {google.monitoring.v3.LabelValue} LabelValue instance
+ */
+ LabelValue.create = function create(properties) {
+ return new LabelValue(properties);
+ };
+
+ /**
+ * Encodes the specified LabelValue message. Does not implicitly {@link google.monitoring.v3.LabelValue.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {google.monitoring.v3.ILabelValue} message LabelValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelValue.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.boolValue);
+ if (message.int64Value != null && Object.hasOwnProperty.call(message, "int64Value"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.int64Value);
+ if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.stringValue);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified LabelValue message, length delimited. Does not implicitly {@link google.monitoring.v3.LabelValue.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {google.monitoring.v3.ILabelValue} message LabelValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ LabelValue.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a LabelValue message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.LabelValue} LabelValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelValue.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.LabelValue();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.boolValue = reader.bool();
+ break;
+ }
+ case 2: {
+ message.int64Value = reader.int64();
+ break;
+ }
+ case 3: {
+ message.stringValue = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a LabelValue message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.LabelValue} LabelValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ LabelValue.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a LabelValue message.
+ * @function verify
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ LabelValue.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
+ properties.value = 1;
+ if (typeof message.boolValue !== "boolean")
+ return "boolValue: boolean expected";
+ }
+ if (message.int64Value != null && message.hasOwnProperty("int64Value")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ if (!$util.isInteger(message.int64Value) && !(message.int64Value && $util.isInteger(message.int64Value.low) && $util.isInteger(message.int64Value.high)))
+ return "int64Value: integer|Long expected";
+ }
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ if (!$util.isString(message.stringValue))
+ return "stringValue: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a LabelValue message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.LabelValue} LabelValue
+ */
+ LabelValue.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.LabelValue)
+ return object;
+ var message = new $root.google.monitoring.v3.LabelValue();
+ if (object.boolValue != null)
+ message.boolValue = Boolean(object.boolValue);
+ if (object.int64Value != null)
+ if ($util.Long)
+ (message.int64Value = $util.Long.fromValue(object.int64Value)).unsigned = false;
+ else if (typeof object.int64Value === "string")
+ message.int64Value = parseInt(object.int64Value, 10);
+ else if (typeof object.int64Value === "number")
+ message.int64Value = object.int64Value;
+ else if (typeof object.int64Value === "object")
+ message.int64Value = new $util.LongBits(object.int64Value.low >>> 0, object.int64Value.high >>> 0).toNumber();
+ if (object.stringValue != null)
+ message.stringValue = String(object.stringValue);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a LabelValue message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {google.monitoring.v3.LabelValue} message LabelValue
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ LabelValue.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
+ object.boolValue = message.boolValue;
+ if (options.oneofs)
+ object.value = "boolValue";
+ }
+ if (message.int64Value != null && message.hasOwnProperty("int64Value")) {
+ if (typeof message.int64Value === "number")
+ object.int64Value = options.longs === String ? String(message.int64Value) : message.int64Value;
+ else
+ object.int64Value = options.longs === String ? $util.Long.prototype.toString.call(message.int64Value) : options.longs === Number ? new $util.LongBits(message.int64Value.low >>> 0, message.int64Value.high >>> 0).toNumber() : message.int64Value;
+ if (options.oneofs)
+ object.value = "int64Value";
+ }
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ object.stringValue = message.stringValue;
+ if (options.oneofs)
+ object.value = "stringValue";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this LabelValue to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.LabelValue
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ LabelValue.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for LabelValue
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.LabelValue
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ LabelValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.LabelValue";
+ };
+
+ return LabelValue;
+ })();
+
+ v3.QueryError = (function() {
+
+ /**
+ * Properties of a QueryError.
+ * @memberof google.monitoring.v3
+ * @interface IQueryError
+ * @property {google.monitoring.v3.ITextLocator|null} [locator] QueryError locator
+ * @property {string|null} [message] QueryError message
+ */
+
+ /**
+ * Constructs a new QueryError.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a QueryError.
+ * @implements IQueryError
+ * @constructor
+ * @param {google.monitoring.v3.IQueryError=} [properties] Properties to set
+ */
+ function QueryError(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]];
+ }
+
+ /**
+ * QueryError locator.
+ * @member {google.monitoring.v3.ITextLocator|null|undefined} locator
+ * @memberof google.monitoring.v3.QueryError
+ * @instance
+ */
+ QueryError.prototype.locator = null;
+
+ /**
+ * QueryError message.
+ * @member {string} message
+ * @memberof google.monitoring.v3.QueryError
+ * @instance
+ */
+ QueryError.prototype.message = "";
+
+ /**
+ * Creates a new QueryError instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {google.monitoring.v3.IQueryError=} [properties] Properties to set
+ * @returns {google.monitoring.v3.QueryError} QueryError instance
+ */
+ QueryError.create = function create(properties) {
+ return new QueryError(properties);
+ };
+
+ /**
+ * Encodes the specified QueryError message. Does not implicitly {@link google.monitoring.v3.QueryError.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {google.monitoring.v3.IQueryError} message QueryError message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ QueryError.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.locator != null && Object.hasOwnProperty.call(message, "locator"))
+ $root.google.monitoring.v3.TextLocator.encode(message.locator, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.message != null && Object.hasOwnProperty.call(message, "message"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.message);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified QueryError message, length delimited. Does not implicitly {@link google.monitoring.v3.QueryError.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {google.monitoring.v3.IQueryError} message QueryError message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ QueryError.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a QueryError message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.QueryError} QueryError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ QueryError.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.QueryError();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.locator = $root.google.monitoring.v3.TextLocator.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.message = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a QueryError message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.QueryError} QueryError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ QueryError.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a QueryError message.
+ * @function verify
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ QueryError.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.locator != null && message.hasOwnProperty("locator")) {
+ var error = $root.google.monitoring.v3.TextLocator.verify(message.locator);
+ if (error)
+ return "locator." + error;
+ }
+ if (message.message != null && message.hasOwnProperty("message"))
+ if (!$util.isString(message.message))
+ return "message: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a QueryError message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.QueryError} QueryError
+ */
+ QueryError.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.QueryError)
+ return object;
+ var message = new $root.google.monitoring.v3.QueryError();
+ if (object.locator != null) {
+ if (typeof object.locator !== "object")
+ throw TypeError(".google.monitoring.v3.QueryError.locator: object expected");
+ message.locator = $root.google.monitoring.v3.TextLocator.fromObject(object.locator);
+ }
+ if (object.message != null)
+ message.message = String(object.message);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a QueryError message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {google.monitoring.v3.QueryError} message QueryError
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ QueryError.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.locator = null;
+ object.message = "";
+ }
+ if (message.locator != null && message.hasOwnProperty("locator"))
+ object.locator = $root.google.monitoring.v3.TextLocator.toObject(message.locator, options);
+ if (message.message != null && message.hasOwnProperty("message"))
+ object.message = message.message;
+ return object;
+ };
+
+ /**
+ * Converts this QueryError to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.QueryError
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ QueryError.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for QueryError
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.QueryError
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ QueryError.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.QueryError";
+ };
+
+ return QueryError;
+ })();
+
+ v3.TextLocator = (function() {
+
+ /**
+ * Properties of a TextLocator.
+ * @memberof google.monitoring.v3
+ * @interface ITextLocator
+ * @property {string|null} [source] TextLocator source
+ * @property {google.monitoring.v3.TextLocator.IPosition|null} [startPosition] TextLocator startPosition
+ * @property {google.monitoring.v3.TextLocator.IPosition|null} [endPosition] TextLocator endPosition
+ * @property {google.monitoring.v3.ITextLocator|null} [nestedLocator] TextLocator nestedLocator
+ * @property {string|null} [nestingReason] TextLocator nestingReason
+ */
+
+ /**
+ * Constructs a new TextLocator.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a TextLocator.
+ * @implements ITextLocator
+ * @constructor
+ * @param {google.monitoring.v3.ITextLocator=} [properties] Properties to set
+ */
+ function TextLocator(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]];
+ }
+
+ /**
+ * TextLocator source.
+ * @member {string} source
+ * @memberof google.monitoring.v3.TextLocator
+ * @instance
+ */
+ TextLocator.prototype.source = "";
+
+ /**
+ * TextLocator startPosition.
+ * @member {google.monitoring.v3.TextLocator.IPosition|null|undefined} startPosition
+ * @memberof google.monitoring.v3.TextLocator
+ * @instance
+ */
+ TextLocator.prototype.startPosition = null;
+
+ /**
+ * TextLocator endPosition.
+ * @member {google.monitoring.v3.TextLocator.IPosition|null|undefined} endPosition
+ * @memberof google.monitoring.v3.TextLocator
+ * @instance
+ */
+ TextLocator.prototype.endPosition = null;
+
+ /**
+ * TextLocator nestedLocator.
+ * @member {google.monitoring.v3.ITextLocator|null|undefined} nestedLocator
+ * @memberof google.monitoring.v3.TextLocator
+ * @instance
+ */
+ TextLocator.prototype.nestedLocator = null;
+
+ /**
+ * TextLocator nestingReason.
+ * @member {string} nestingReason
+ * @memberof google.monitoring.v3.TextLocator
+ * @instance
+ */
+ TextLocator.prototype.nestingReason = "";
+
+ /**
+ * Creates a new TextLocator instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {google.monitoring.v3.ITextLocator=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TextLocator} TextLocator instance
+ */
+ TextLocator.create = function create(properties) {
+ return new TextLocator(properties);
+ };
+
+ /**
+ * Encodes the specified TextLocator message. Does not implicitly {@link google.monitoring.v3.TextLocator.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {google.monitoring.v3.ITextLocator} message TextLocator message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextLocator.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.source != null && Object.hasOwnProperty.call(message, "source"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.source);
+ if (message.startPosition != null && Object.hasOwnProperty.call(message, "startPosition"))
+ $root.google.monitoring.v3.TextLocator.Position.encode(message.startPosition, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.endPosition != null && Object.hasOwnProperty.call(message, "endPosition"))
+ $root.google.monitoring.v3.TextLocator.Position.encode(message.endPosition, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.nestedLocator != null && Object.hasOwnProperty.call(message, "nestedLocator"))
+ $root.google.monitoring.v3.TextLocator.encode(message.nestedLocator, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.nestingReason != null && Object.hasOwnProperty.call(message, "nestingReason"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.nestingReason);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TextLocator message, length delimited. Does not implicitly {@link google.monitoring.v3.TextLocator.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {google.monitoring.v3.ITextLocator} message TextLocator message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TextLocator.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TextLocator message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TextLocator} TextLocator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextLocator.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TextLocator();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.source = reader.string();
+ break;
+ }
+ case 2: {
+ message.startPosition = $root.google.monitoring.v3.TextLocator.Position.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.endPosition = $root.google.monitoring.v3.TextLocator.Position.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.nestedLocator = $root.google.monitoring.v3.TextLocator.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.nestingReason = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TextLocator message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TextLocator} TextLocator
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TextLocator.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TextLocator message.
+ * @function verify
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TextLocator.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.source != null && message.hasOwnProperty("source"))
+ if (!$util.isString(message.source))
+ return "source: string expected";
+ if (message.startPosition != null && message.hasOwnProperty("startPosition")) {
+ var error = $root.google.monitoring.v3.TextLocator.Position.verify(message.startPosition);
+ if (error)
+ return "startPosition." + error;
+ }
+ if (message.endPosition != null && message.hasOwnProperty("endPosition")) {
+ var error = $root.google.monitoring.v3.TextLocator.Position.verify(message.endPosition);
+ if (error)
+ return "endPosition." + error;
+ }
+ if (message.nestedLocator != null && message.hasOwnProperty("nestedLocator")) {
+ var error = $root.google.monitoring.v3.TextLocator.verify(message.nestedLocator);
+ if (error)
+ return "nestedLocator." + error;
+ }
+ if (message.nestingReason != null && message.hasOwnProperty("nestingReason"))
+ if (!$util.isString(message.nestingReason))
+ return "nestingReason: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a TextLocator message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TextLocator} TextLocator
+ */
+ TextLocator.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TextLocator)
+ return object;
+ var message = new $root.google.monitoring.v3.TextLocator();
+ if (object.source != null)
+ message.source = String(object.source);
+ if (object.startPosition != null) {
+ if (typeof object.startPosition !== "object")
+ throw TypeError(".google.monitoring.v3.TextLocator.startPosition: object expected");
+ message.startPosition = $root.google.monitoring.v3.TextLocator.Position.fromObject(object.startPosition);
+ }
+ if (object.endPosition != null) {
+ if (typeof object.endPosition !== "object")
+ throw TypeError(".google.monitoring.v3.TextLocator.endPosition: object expected");
+ message.endPosition = $root.google.monitoring.v3.TextLocator.Position.fromObject(object.endPosition);
+ }
+ if (object.nestedLocator != null) {
+ if (typeof object.nestedLocator !== "object")
+ throw TypeError(".google.monitoring.v3.TextLocator.nestedLocator: object expected");
+ message.nestedLocator = $root.google.monitoring.v3.TextLocator.fromObject(object.nestedLocator);
+ }
+ if (object.nestingReason != null)
+ message.nestingReason = String(object.nestingReason);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TextLocator message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {google.monitoring.v3.TextLocator} message TextLocator
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TextLocator.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.source = "";
+ object.startPosition = null;
+ object.endPosition = null;
+ object.nestedLocator = null;
+ object.nestingReason = "";
+ }
+ if (message.source != null && message.hasOwnProperty("source"))
+ object.source = message.source;
+ if (message.startPosition != null && message.hasOwnProperty("startPosition"))
+ object.startPosition = $root.google.monitoring.v3.TextLocator.Position.toObject(message.startPosition, options);
+ if (message.endPosition != null && message.hasOwnProperty("endPosition"))
+ object.endPosition = $root.google.monitoring.v3.TextLocator.Position.toObject(message.endPosition, options);
+ if (message.nestedLocator != null && message.hasOwnProperty("nestedLocator"))
+ object.nestedLocator = $root.google.monitoring.v3.TextLocator.toObject(message.nestedLocator, options);
+ if (message.nestingReason != null && message.hasOwnProperty("nestingReason"))
+ object.nestingReason = message.nestingReason;
+ return object;
+ };
+
+ /**
+ * Converts this TextLocator to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TextLocator
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TextLocator.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TextLocator
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TextLocator
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TextLocator.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TextLocator";
+ };
+
+ TextLocator.Position = (function() {
+
+ /**
+ * Properties of a Position.
+ * @memberof google.monitoring.v3.TextLocator
+ * @interface IPosition
+ * @property {number|null} [line] Position line
+ * @property {number|null} [column] Position column
+ */
+
+ /**
+ * Constructs a new Position.
+ * @memberof google.monitoring.v3.TextLocator
+ * @classdesc Represents a Position.
+ * @implements IPosition
+ * @constructor
+ * @param {google.monitoring.v3.TextLocator.IPosition=} [properties] Properties to set
+ */
+ function Position(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]];
+ }
+
+ /**
+ * Position line.
+ * @member {number} line
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @instance
+ */
+ Position.prototype.line = 0;
+
+ /**
+ * Position column.
+ * @member {number} column
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @instance
+ */
+ Position.prototype.column = 0;
+
+ /**
+ * Creates a new Position instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {google.monitoring.v3.TextLocator.IPosition=} [properties] Properties to set
+ * @returns {google.monitoring.v3.TextLocator.Position} Position instance
+ */
+ Position.create = function create(properties) {
+ return new Position(properties);
+ };
+
+ /**
+ * Encodes the specified Position message. Does not implicitly {@link google.monitoring.v3.TextLocator.Position.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {google.monitoring.v3.TextLocator.IPosition} message Position message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Position.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.line != null && Object.hasOwnProperty.call(message, "line"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.line);
+ if (message.column != null && Object.hasOwnProperty.call(message, "column"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.column);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Position message, length delimited. Does not implicitly {@link google.monitoring.v3.TextLocator.Position.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {google.monitoring.v3.TextLocator.IPosition} message Position message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Position.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Position message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.TextLocator.Position} Position
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Position.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.TextLocator.Position();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.line = reader.int32();
+ break;
+ }
+ case 2: {
+ message.column = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Position message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.TextLocator.Position} Position
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Position.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Position message.
+ * @function verify
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Position.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.line != null && message.hasOwnProperty("line"))
+ if (!$util.isInteger(message.line))
+ return "line: integer expected";
+ if (message.column != null && message.hasOwnProperty("column"))
+ if (!$util.isInteger(message.column))
+ return "column: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates a Position message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.monitoring.v3.TextLocator.Position} Position
+ */
+ Position.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.monitoring.v3.TextLocator.Position)
+ return object;
+ var message = new $root.google.monitoring.v3.TextLocator.Position();
+ if (object.line != null)
+ message.line = object.line | 0;
+ if (object.column != null)
+ message.column = object.column | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Position message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {google.monitoring.v3.TextLocator.Position} message Position
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Position.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.line = 0;
+ object.column = 0;
+ }
+ if (message.line != null && message.hasOwnProperty("line"))
+ object.line = message.line;
+ if (message.column != null && message.hasOwnProperty("column"))
+ object.column = message.column;
+ return object;
+ };
+
+ /**
+ * Converts this Position to JSON.
+ * @function toJSON
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Position.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Position
+ * @function getTypeUrl
+ * @memberof google.monitoring.v3.TextLocator.Position
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Position.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.monitoring.v3.TextLocator.Position";
+ };
+
+ return Position;
+ })();
+
+ return TextLocator;
+ })();
+
+ v3.MetricService = (function() {
+
+ /**
+ * Constructs a new MetricService service.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a MetricService
+ * @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 MetricService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (MetricService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = MetricService;
+
+ /**
+ * Creates new MetricService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.monitoring.v3.MetricService
+ * @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 {MetricService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ MetricService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|listMonitoredResourceDescriptors}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef ListMonitoredResourceDescriptorsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.ListMonitoredResourceDescriptorsResponse} [response] ListMonitoredResourceDescriptorsResponse
+ */
+
+ /**
+ * Calls ListMonitoredResourceDescriptors.
+ * @function listMonitoredResourceDescriptors
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IListMonitoredResourceDescriptorsRequest} request ListMonitoredResourceDescriptorsRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.ListMonitoredResourceDescriptorsCallback} callback Node-style callback called with the error, if any, and ListMonitoredResourceDescriptorsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.listMonitoredResourceDescriptors = function listMonitoredResourceDescriptors(request, callback) {
+ return this.rpcCall(listMonitoredResourceDescriptors, $root.google.monitoring.v3.ListMonitoredResourceDescriptorsRequest, $root.google.monitoring.v3.ListMonitoredResourceDescriptorsResponse, request, callback);
+ }, "name", { value: "ListMonitoredResourceDescriptors" });
+
+ /**
+ * Calls ListMonitoredResourceDescriptors.
+ * @function listMonitoredResourceDescriptors
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IListMonitoredResourceDescriptorsRequest} request ListMonitoredResourceDescriptorsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|getMonitoredResourceDescriptor}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef GetMonitoredResourceDescriptorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.api.MonitoredResourceDescriptor} [response] MonitoredResourceDescriptor
+ */
+
+ /**
+ * Calls GetMonitoredResourceDescriptor.
+ * @function getMonitoredResourceDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IGetMonitoredResourceDescriptorRequest} request GetMonitoredResourceDescriptorRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.GetMonitoredResourceDescriptorCallback} callback Node-style callback called with the error, if any, and MonitoredResourceDescriptor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.getMonitoredResourceDescriptor = function getMonitoredResourceDescriptor(request, callback) {
+ return this.rpcCall(getMonitoredResourceDescriptor, $root.google.monitoring.v3.GetMonitoredResourceDescriptorRequest, $root.google.api.MonitoredResourceDescriptor, request, callback);
+ }, "name", { value: "GetMonitoredResourceDescriptor" });
+
+ /**
+ * Calls GetMonitoredResourceDescriptor.
+ * @function getMonitoredResourceDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IGetMonitoredResourceDescriptorRequest} request GetMonitoredResourceDescriptorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|listMetricDescriptors}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef ListMetricDescriptorsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.ListMetricDescriptorsResponse} [response] ListMetricDescriptorsResponse
+ */
+
+ /**
+ * Calls ListMetricDescriptors.
+ * @function listMetricDescriptors
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IListMetricDescriptorsRequest} request ListMetricDescriptorsRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.ListMetricDescriptorsCallback} callback Node-style callback called with the error, if any, and ListMetricDescriptorsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.listMetricDescriptors = function listMetricDescriptors(request, callback) {
+ return this.rpcCall(listMetricDescriptors, $root.google.monitoring.v3.ListMetricDescriptorsRequest, $root.google.monitoring.v3.ListMetricDescriptorsResponse, request, callback);
+ }, "name", { value: "ListMetricDescriptors" });
+
+ /**
+ * Calls ListMetricDescriptors.
+ * @function listMetricDescriptors
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IListMetricDescriptorsRequest} request ListMetricDescriptorsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|getMetricDescriptor}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef GetMetricDescriptorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.api.MetricDescriptor} [response] MetricDescriptor
+ */
+
+ /**
+ * Calls GetMetricDescriptor.
+ * @function getMetricDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IGetMetricDescriptorRequest} request GetMetricDescriptorRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.GetMetricDescriptorCallback} callback Node-style callback called with the error, if any, and MetricDescriptor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.getMetricDescriptor = function getMetricDescriptor(request, callback) {
+ return this.rpcCall(getMetricDescriptor, $root.google.monitoring.v3.GetMetricDescriptorRequest, $root.google.api.MetricDescriptor, request, callback);
+ }, "name", { value: "GetMetricDescriptor" });
+
+ /**
+ * Calls GetMetricDescriptor.
+ * @function getMetricDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IGetMetricDescriptorRequest} request GetMetricDescriptorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|createMetricDescriptor}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef CreateMetricDescriptorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.api.MetricDescriptor} [response] MetricDescriptor
+ */
+
+ /**
+ * Calls CreateMetricDescriptor.
+ * @function createMetricDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.ICreateMetricDescriptorRequest} request CreateMetricDescriptorRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.CreateMetricDescriptorCallback} callback Node-style callback called with the error, if any, and MetricDescriptor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.createMetricDescriptor = function createMetricDescriptor(request, callback) {
+ return this.rpcCall(createMetricDescriptor, $root.google.monitoring.v3.CreateMetricDescriptorRequest, $root.google.api.MetricDescriptor, request, callback);
+ }, "name", { value: "CreateMetricDescriptor" });
+
+ /**
+ * Calls CreateMetricDescriptor.
+ * @function createMetricDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.ICreateMetricDescriptorRequest} request CreateMetricDescriptorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|deleteMetricDescriptor}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef DeleteMetricDescriptorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteMetricDescriptor.
+ * @function deleteMetricDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IDeleteMetricDescriptorRequest} request DeleteMetricDescriptorRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.DeleteMetricDescriptorCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.deleteMetricDescriptor = function deleteMetricDescriptor(request, callback) {
+ return this.rpcCall(deleteMetricDescriptor, $root.google.monitoring.v3.DeleteMetricDescriptorRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteMetricDescriptor" });
+
+ /**
+ * Calls DeleteMetricDescriptor.
+ * @function deleteMetricDescriptor
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IDeleteMetricDescriptorRequest} request DeleteMetricDescriptorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|listTimeSeries}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef ListTimeSeriesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.monitoring.v3.ListTimeSeriesResponse} [response] ListTimeSeriesResponse
+ */
+
+ /**
+ * Calls ListTimeSeries.
+ * @function listTimeSeries
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IListTimeSeriesRequest} request ListTimeSeriesRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.ListTimeSeriesCallback} callback Node-style callback called with the error, if any, and ListTimeSeriesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.listTimeSeries = function listTimeSeries(request, callback) {
+ return this.rpcCall(listTimeSeries, $root.google.monitoring.v3.ListTimeSeriesRequest, $root.google.monitoring.v3.ListTimeSeriesResponse, request, callback);
+ }, "name", { value: "ListTimeSeries" });
+
+ /**
+ * Calls ListTimeSeries.
+ * @function listTimeSeries
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.IListTimeSeriesRequest} request ListTimeSeriesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.monitoring.v3.MetricService|createTimeSeries}.
+ * @memberof google.monitoring.v3.MetricService
+ * @typedef CreateTimeSeriesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls CreateTimeSeries.
+ * @function createTimeSeries
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.ICreateTimeSeriesRequest} request CreateTimeSeriesRequest message or plain object
+ * @param {google.monitoring.v3.MetricService.CreateTimeSeriesCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(MetricService.prototype.createTimeSeries = function createTimeSeries(request, callback) {
+ return this.rpcCall(createTimeSeries, $root.google.monitoring.v3.CreateTimeSeriesRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "CreateTimeSeries" });
+
+ /**
+ * Calls CreateTimeSeries.
+ * @function createTimeSeries
+ * @memberof google.monitoring.v3.MetricService
+ * @instance
+ * @param {google.monitoring.v3.ICreateTimeSeriesRequest} request CreateTimeSeriesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return MetricService;
+ })();
+
+ v3.ListMonitoredResourceDescriptorsRequest = (function() {
+
+ /**
+ * Properties of a ListMonitoredResourceDescriptorsRequest.
+ * @memberof google.monitoring.v3
+ * @interface IListMonitoredResourceDescriptorsRequest
+ * @property {string|null} [name] ListMonitoredResourceDescriptorsRequest name
+ * @property {string|null} [filter] ListMonitoredResourceDescriptorsRequest filter
+ * @property {number|null} [pageSize] ListMonitoredResourceDescriptorsRequest pageSize
+ * @property {string|null} [pageToken] ListMonitoredResourceDescriptorsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListMonitoredResourceDescriptorsRequest.
+ * @memberof google.monitoring.v3
+ * @classdesc Represents a ListMonitoredResourceDescriptorsRequest.
+ * @implements IListMonitoredResourceDescriptorsRequest
+ * @constructor
+ * @param {google.monitoring.v3.IListMonitoredResourceDescriptorsRequest=} [properties] Properties to set
+ */
+ function ListMonitoredResourceDescriptorsRequest(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]];
+ }
+
+ /**
+ * ListMonitoredResourceDescriptorsRequest name.
+ * @member {string} name
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @instance
+ */
+ ListMonitoredResourceDescriptorsRequest.prototype.name = "";
+
+ /**
+ * ListMonitoredResourceDescriptorsRequest filter.
+ * @member {string} filter
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @instance
+ */
+ ListMonitoredResourceDescriptorsRequest.prototype.filter = "";
+
+ /**
+ * ListMonitoredResourceDescriptorsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @instance
+ */
+ ListMonitoredResourceDescriptorsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListMonitoredResourceDescriptorsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @instance
+ */
+ ListMonitoredResourceDescriptorsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListMonitoredResourceDescriptorsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @static
+ * @param {google.monitoring.v3.IListMonitoredResourceDescriptorsRequest=} [properties] Properties to set
+ * @returns {google.monitoring.v3.ListMonitoredResourceDescriptorsRequest} ListMonitoredResourceDescriptorsRequest instance
+ */
+ ListMonitoredResourceDescriptorsRequest.create = function create(properties) {
+ return new ListMonitoredResourceDescriptorsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsRequest message. Does not implicitly {@link google.monitoring.v3.ListMonitoredResourceDescriptorsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @static
+ * @param {google.monitoring.v3.IListMonitoredResourceDescriptorsRequest} message ListMonitoredResourceDescriptorsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListMonitoredResourceDescriptorsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.filter);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.pageToken);
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListMonitoredResourceDescriptorsRequest message, length delimited. Does not implicitly {@link google.monitoring.v3.ListMonitoredResourceDescriptorsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @static
+ * @param {google.monitoring.v3.IListMonitoredResourceDescriptorsRequest} message ListMonitoredResourceDescriptorsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListMonitoredResourceDescriptorsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.monitoring.v3.ListMonitoredResourceDescriptorsRequest} ListMonitoredResourceDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListMonitoredResourceDescriptorsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.monitoring.v3.ListMonitoredResourceDescriptorsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 5: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.filter = reader.string();
+ break;
+ }
+ case 3: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 4: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListMonitoredResourceDescriptorsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.monitoring.v3.ListMonitoredResourceDescriptorsRequest} ListMonitoredResourceDescriptorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListMonitoredResourceDescriptorsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListMonitoredResourceDescriptorsRequest message.
+ * @function verify
+ * @memberof google.monitoring.v3.ListMonitoredResourceDescriptorsRequest
+ * @static
+ * @param {Object.