diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index ff2e028cd69..8e5ffe43494 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,6 +1,7 @@
{
"packages/gapic-node-templating": "0.0.0",
"packages/google-api-apikeys": "0.1.3",
+ "packages/google-cloud-asset": "4.5.0",
"packages/google-cloud-assuredworkloads": "3.5.0",
"packages/google-cloud-batch": "0.3.2",
"packages/google-cloud-beyondcorp-appconnections": "0.2.3",
diff --git a/packages/google-cloud-asset/.OwlBot.yaml b/packages/google-cloud-asset/.OwlBot.yaml
new file mode 100644
index 00000000000..cc3f6b8d6a9
--- /dev/null
+++ b/packages/google-cloud-asset/.OwlBot.yaml
@@ -0,0 +1,23 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-preserve-regex:
+ - /owl-bot-staging/v1p7beta1
+
+deep-copy-regex:
+ - source: /google/cloud/asset/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-asset/$1
\ No newline at end of file
diff --git a/packages/google-cloud-asset/.eslintignore b/packages/google-cloud-asset/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-asset/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-asset/.eslintrc.json b/packages/google-cloud-asset/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-asset/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-asset/.gitattributes b/packages/google-cloud-asset/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-asset/.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-asset/.gitignore b/packages/google-cloud-asset/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-asset/.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-asset/.jsdoc.js b/packages/google-cloud-asset/.jsdoc.js
new file mode 100644
index 00000000000..a40ee8ff08e
--- /dev/null
+++ b/packages/google-cloud-asset/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+'use strict';
+
+module.exports = {
+ opts: {
+ readme: './README.md',
+ package: './package.json',
+ template: './node_modules/jsdoc-fresh',
+ recurse: true,
+ verbose: true,
+ destination: './docs/'
+ },
+ plugins: [
+ 'plugins/markdown',
+ 'jsdoc-region-tag'
+ ],
+ source: {
+ excludePattern: '(^|\\/|\\\\)[._]',
+ include: [
+ 'build/src',
+ 'protos'
+ ],
+ includePattern: '\\.js$'
+ },
+ templates: {
+ copyright: 'Copyright 2022 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/asset',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-asset/.mocharc.js b/packages/google-cloud-asset/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-asset/.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-asset/.nycrc b/packages/google-cloud-asset/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-asset/.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-asset/.prettierignore b/packages/google-cloud-asset/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-asset/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-asset/.prettierrc.js b/packages/google-cloud-asset/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-asset/.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-asset/.repo-metadata.json b/packages/google-cloud-asset/.repo-metadata.json
new file mode 100644
index 00000000000..15f51f6e3a0
--- /dev/null
+++ b/packages/google-cloud-asset/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "name": "cloudasset",
+ "name_pretty": "Cloud Asset Inventory",
+ "product_documentation": "https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview",
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/asset/latest",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/559757",
+ "release_level": "stable",
+ "language": "nodejs",
+ "repo": "googleapis/google-cloud-node",
+ "distribution_name": "@google-cloud/asset",
+ "api_id": "cloudasset.googleapis.com",
+ "requires_billing": true,
+ "default_version": "v1",
+ "codeowner_team": "@googleapis/cloud-asset-team",
+ "api_shortname": "asset",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-asset/CHANGELOG.md b/packages/google-cloud-asset/CHANGELOG.md
new file mode 100644
index 00000000000..c267ea8f9cf
--- /dev/null
+++ b/packages/google-cloud-asset/CHANGELOG.md
@@ -0,0 +1,685 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/@google-cloud/asset?activeTab=versions
+
+## [4.5.0](https://github.com/googleapis/nodejs-asset/compare/v4.4.0...v4.5.0) (2022-11-11)
+
+
+### Features
+
+* Add a new searchable field kmsKeys ([#665](https://github.com/googleapis/nodejs-asset/issues/665)) ([567ccbd](https://github.com/googleapis/nodejs-asset/commit/567ccbd70f35f5fce8125b2569d9b0492a9da5cb))
+
+
+### Bug Fixes
+
+* deprecate searchable field kmsKey ([567ccbd](https://github.com/googleapis/nodejs-asset/commit/567ccbd70f35f5fce8125b2569d9b0492a9da5cb))
+* **deps:** Use google-gax v3.5.2 ([#669](https://github.com/googleapis/nodejs-asset/issues/669)) ([a6ede56](https://github.com/googleapis/nodejs-asset/commit/a6ede563b7cfd10e6646a3255b64a9aa74b07169))
+* Regenerated protos JS and TS definitions ([#673](https://github.com/googleapis/nodejs-asset/issues/673)) ([35bb44c](https://github.com/googleapis/nodejs-asset/commit/35bb44c04408a5319a34e816e63e26d1877e4cd5))
+
+## [4.4.0](https://github.com/googleapis/nodejs-asset/compare/v4.3.0...v4.4.0) (2022-09-22)
+
+
+### Features
+
+* Add client library support for AssetService v1 SavedQuery APIs ([#662](https://github.com/googleapis/nodejs-asset/issues/662)) ([68c8ece](https://github.com/googleapis/nodejs-asset/commit/68c8eceb6b0ff0c646992439886892eb0528ec8d))
+
+
+### Bug Fixes
+
+* Preserve default values in x-goog-request-params header ([#658](https://github.com/googleapis/nodejs-asset/issues/658)) ([e351ed1](https://github.com/googleapis/nodejs-asset/commit/e351ed172211d240968beb82cd0f106222f2b632))
+
+## [4.3.0](https://github.com/googleapis/nodejs-asset/compare/v4.2.0...v4.3.0) (2022-09-09)
+
+
+### Features
+
+* Add batchGetEffectiveIamPolicies sample code. ([#654](https://github.com/googleapis/nodejs-asset/issues/654)) ([11160b0](https://github.com/googleapis/nodejs-asset/commit/11160b098aec0854fe21fb79144120b9cb29caf6))
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#656](https://github.com/googleapis/nodejs-asset/issues/656)) ([af56ac6](https://github.com/googleapis/nodejs-asset/commit/af56ac6e2213df8bc65e95fee860251569075130))
+* Change import long to require ([#648](https://github.com/googleapis/nodejs-asset/issues/648)) ([0af8467](https://github.com/googleapis/nodejs-asset/commit/0af8467d716cc4f5bfb69482d4264350ceea2ec1))
+* **deps:** Update dependency uuid to v9 ([#657](https://github.com/googleapis/nodejs-asset/issues/657)) ([fac4751](https://github.com/googleapis/nodejs-asset/commit/fac4751e36b3d6340c6323d476bd7fc7ec6a8a30))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-asset/issues/1553)) ([#655](https://github.com/googleapis/nodejs-asset/issues/655)) ([25a9d42](https://github.com/googleapis/nodejs-asset/commit/25a9d42aa57e8a331aa115d6dcb7aa8bf16c4909))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-asset/issues/1546)) ([#651](https://github.com/googleapis/nodejs-asset/issues/651)) ([4fc24d0](https://github.com/googleapis/nodejs-asset/commit/4fc24d0bd85fca6d7a3b3b0e84f1b520d12d368d))
+* use google-gax v3.3.0 ([25a9d42](https://github.com/googleapis/nodejs-asset/commit/25a9d42aa57e8a331aa115d6dcb7aa8bf16c4909))
+
+## [4.2.0](https://github.com/googleapis/nodejs-asset/compare/v4.1.0...v4.2.0) (2022-08-23)
+
+
+### Features
+
+* Add client library support for AssetService v1 BatchGetEffectiveIamPolicies API ([201d2b8](https://github.com/googleapis/nodejs-asset/commit/201d2b8431b1c04ed1b6fd90dc22ec943474aed8))
+* Add client library support for AssetService v1 BatchGetEffectiveIamPolicies API ([201d2b8](https://github.com/googleapis/nodejs-asset/commit/201d2b8431b1c04ed1b6fd90dc22ec943474aed8))
+* Release of query system ([201d2b8](https://github.com/googleapis/nodejs-asset/commit/201d2b8431b1c04ed1b6fd90dc22ec943474aed8))
+
+
+### Bug Fixes
+
+* better support for fallback mode ([#646](https://github.com/googleapis/nodejs-asset/issues/646)) ([716c50e](https://github.com/googleapis/nodejs-asset/commit/716c50e0f0552419855d3fffd85a1d0a4fbdfe31))
+* remove pip install statements ([#649](https://github.com/googleapis/nodejs-asset/issues/649)) ([981571d](https://github.com/googleapis/nodejs-asset/commit/981571dd4c85437a437a60596d401568b8c4debe))
+
+## [4.1.0](https://github.com/googleapis/nodejs-asset/compare/v4.0.0...v4.1.0) (2022-06-29)
+
+
+### Features
+
+* support regapic LRO ([#635](https://github.com/googleapis/nodejs-asset/issues/635)) ([140ce9d](https://github.com/googleapis/nodejs-asset/commit/140ce9d312545671ad3f3f4bbcd4657081f2298e))
+
+## [4.0.0](https://github.com/googleapis/nodejs-asset/compare/v3.23.1...v4.0.0) (2022-06-16)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#625)
+
+### Features
+
+* Add SavedQuery CURD support ([#627](https://github.com/googleapis/nodejs-asset/issues/627)) ([d3727de](https://github.com/googleapis/nodejs-asset/commit/d3727de308b7f42bf974b494d4f06d7b4fc91993))
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/bigquery to v6 ([#630](https://github.com/googleapis/nodejs-asset/issues/630)) ([d779420](https://github.com/googleapis/nodejs-asset/commit/d77942087598d508cdbe1786b6b6a01d5db46174))
+* **deps:** update dependency @google-cloud/storage to v6 ([#629](https://github.com/googleapis/nodejs-asset/issues/629)) ([1fb5d23](https://github.com/googleapis/nodejs-asset/commit/1fb5d23a0384eb4f67c5c27c367c9dadda201dca))
+
+
+### Build System
+
+* update library to use Node 12 ([#625](https://github.com/googleapis/nodejs-asset/issues/625)) ([20eec3e](https://github.com/googleapis/nodejs-asset/commit/20eec3e3a5e23a469d08b0a9c415a9ad2d4c5b0d))
+
+### [3.23.1](https://github.com/googleapis/nodejs-asset/compare/v3.23.0...v3.23.1) (2022-02-11)
+
+
+### Bug Fixes
+
+* Fix description of an interpreter field, validate if the field is not unspecified ([#604](https://github.com/googleapis/nodejs-asset/issues/604)) ([7cebebe](https://github.com/googleapis/nodejs-asset/commit/7cebebeae1b328289c68c590fd3738c89a59b74f))
+
+## [3.23.0](https://github.com/googleapis/nodejs-asset/compare/v3.22.0...v3.23.0) (2022-02-08)
+
+
+### Features
+
+* Update osconfig v1 protos ([#602](https://github.com/googleapis/nodejs-asset/issues/602)) ([7816c8e](https://github.com/googleapis/nodejs-asset/commit/7816c8ec666cceeb06ac743904b888fa7f4af91a))
+
+## [3.22.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.21.0...v3.22.0) (2021-11-12)
+
+
+### Features
+
+* Update OSConfig API ([#578](https://www.github.com/googleapis/nodejs-asset/issues/578)) ([8af0ac8](https://www.github.com/googleapis/nodejs-asset/commit/8af0ac8a915b8b72d379b4e2a14c888ef98dfcf1))
+
+## [3.21.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.20.0...v3.21.0) (2021-11-09)
+
+
+### Features
+
+* OSConfig: add OS policy assignment rpcs ([#574](https://www.github.com/googleapis/nodejs-asset/issues/574)) ([ff9491d](https://www.github.com/googleapis/nodejs-asset/commit/ff9491d55bd527c451914b487ce08fed3068dbd8))
+
+## [3.20.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.19.0...v3.20.0) (2021-10-19)
+
+
+### Features
+
+* Update osconfig v1 and v1alpha RecurringSchedule.Frequency with DAILY frequency ([#569](https://www.github.com/googleapis/nodejs-asset/issues/569)) ([af03fd5](https://www.github.com/googleapis/nodejs-asset/commit/af03fd5c4fba4a258acf4c0332991bcb619fa10b))
+
+## [3.19.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.18.0...v3.19.0) (2021-09-07)
+
+
+### Features
+
+* add OSConfigZonalService API Committer: [@jaiminsh](https://www.github.com/jaiminsh) ([#553](https://www.github.com/googleapis/nodejs-asset/issues/553)) ([1ab2458](https://www.github.com/googleapis/nodejs-asset/commit/1ab2458b63ebe46b8aa8edbd2b1837e793d531f1))
+* Release of relationships in v1, Add content type Relationship to support relationship search Committer: yuwangyw@ ([#551](https://www.github.com/googleapis/nodejs-asset/issues/551)) ([56526b0](https://www.github.com/googleapis/nodejs-asset/commit/56526b02d14d15fd6fc469cd614bff9098f3789b))
+
+## [3.18.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.17.0...v3.18.0) (2021-08-30)
+
+
+### Features
+
+* Update osconfig v1 and v1alpha with WindowsApplication ([#548](https://www.github.com/googleapis/nodejs-asset/issues/548)) ([c096de8](https://www.github.com/googleapis/nodejs-asset/commit/c096de83a906953a08508a799014a37b2806da61))
+
+## [3.17.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.16.1...v3.17.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#542](https://www.github.com/googleapis/nodejs-asset/issues/542)) ([4c4137f](https://www.github.com/googleapis/nodejs-asset/commit/4c4137f78ebdd870c027118d2d966149b7beb9b7))
+
+### [3.16.1](https://www.github.com/googleapis/nodejs-asset/compare/v3.16.0...v3.16.1) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.24.1 ([#538](https://www.github.com/googleapis/nodejs-asset/issues/538)) ([c6397db](https://www.github.com/googleapis/nodejs-asset/commit/c6397db52e9a6c4b43071c79b9809e9b874097a1))
+
+## [3.16.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.15.5...v3.16.0) (2021-08-16)
+
+
+### Features
+
+* Release of relationships in v1, Add content type Relationship to support relationship export ([#537](https://www.github.com/googleapis/nodejs-asset/issues/537)) ([873aae6](https://www.github.com/googleapis/nodejs-asset/commit/873aae6f9b846a16b5695b692e8ad668d684dc6c))
+
+### [3.15.5](https://www.github.com/googleapis/nodejs-asset/compare/v3.15.4...v3.15.5) (2021-08-13)
+
+
+### Bug Fixes
+
+* failing tests for LRO check methods ([#530](https://www.github.com/googleapis/nodejs-asset/issues/530)) ([c756cd1](https://www.github.com/googleapis/nodejs-asset/commit/c756cd12f9c5b2133c15ddec68936f737c0fa77c))
+
+### [3.15.4](https://www.github.com/googleapis/nodejs-asset/compare/v3.15.3...v3.15.4) (2021-08-11)
+
+
+### Bug Fixes
+
+* **build:** migrate to using main branch ([#534](https://www.github.com/googleapis/nodejs-asset/issues/534)) ([30fa2c4](https://www.github.com/googleapis/nodejs-asset/commit/30fa2c48abe3de2a9482ea5bde9a4f315a726b89))
+
+### [3.15.3](https://www.github.com/googleapis/nodejs-asset/compare/v3.15.2...v3.15.3) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#522](https://www.github.com/googleapis/nodejs-asset/issues/522)) ([015b801](https://www.github.com/googleapis/nodejs-asset/commit/015b80196ecd3b6a0cba17ea0971f4c585b8f972))
+
+### [3.15.2](https://www.github.com/googleapis/nodejs-asset/compare/v3.15.1...v3.15.2) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#520](https://www.github.com/googleapis/nodejs-asset/issues/520)) ([24afa66](https://www.github.com/googleapis/nodejs-asset/commit/24afa6682619539c472da03ac813d915d62576b9))
+
+### [3.15.1](https://www.github.com/googleapis/nodejs-asset/compare/v3.15.0...v3.15.1) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#514](https://www.github.com/googleapis/nodejs-asset/issues/514)) ([85e0ebd](https://www.github.com/googleapis/nodejs-asset/commit/85e0ebd92f326ce52f3a920a8cea9d392ff821b5))
+
+## [3.15.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.14.1...v3.15.0) (2021-06-30)
+
+
+### Features
+
+* add new searchable fields (memberTypes, roles, project, folders and organization), new request fields (assetTypes and orderBy) and new response fields (assetType, folders and organization) in SearchAllIamPolicies ([#511](https://www.github.com/googleapis/nodejs-asset/issues/511)) ([1dfb0e9](https://www.github.com/googleapis/nodejs-asset/commit/1dfb0e95c58fdfbca2807744ea22c52d3c6e7651))
+
+### [3.14.1](https://www.github.com/googleapis/nodejs-asset/compare/v3.14.0...v3.14.1) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#507](https://www.github.com/googleapis/nodejs-asset/issues/507)) ([07b6827](https://www.github.com/googleapis/nodejs-asset/commit/07b68273ea5522ae4c3a94b714f05ee7d32391ef))
+
+## [3.14.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.13.0...v3.14.0) (2021-06-21)
+
+
+### Features
+
+* generate new surface for v1 ([#504](https://www.github.com/googleapis/nodejs-asset/issues/504)) ([e1c6350](https://www.github.com/googleapis/nodejs-asset/commit/e1c6350f09adb6ab1e420de4ce5a3a4fd4c8c252))
+
+## [3.13.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.12.2...v3.13.0) (2021-05-26)
+
+
+### Features
+
+* add Cloud Asset List API, add access time as condition context in request and evaluation value in response for Cloud Asset AnalyzeIamPolicy API, add more info (folders, organizations, kms_key, create_time, update_time, state, parent_full_resource_name, parent_asset_type) in response for Cloud Asset SearchAllResources API ([#491](https://www.github.com/googleapis/nodejs-asset/issues/491)) ([8eea45f](https://www.github.com/googleapis/nodejs-asset/commit/8eea45fe3e5b528faf85a8ebb96e2c0c35a7e66d))
+
+### [3.12.2](https://www.github.com/googleapis/nodejs-asset/compare/v3.12.1...v3.12.2) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#492](https://www.github.com/googleapis/nodejs-asset/issues/492)) ([f8f8ed6](https://www.github.com/googleapis/nodejs-asset/commit/f8f8ed67b1f71d2491c9f54eb2beb09475c5663d))
+
+### [3.12.1](https://www.github.com/googleapis/nodejs-asset/compare/v3.12.0...v3.12.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#481](https://www.github.com/googleapis/nodejs-asset/issues/481)) ([f6f890f](https://www.github.com/googleapis/nodejs-asset/commit/f6f890fa49a68b0b67556af8dae0ef9d52c43e34))
+* use require() to load JSON protos ([#484](https://www.github.com/googleapis/nodejs-asset/issues/484)) ([1aa6fa9](https://www.github.com/googleapis/nodejs-asset/commit/1aa6fa96540f94bd51784357186db87b080fdfe5))
+
+## [3.12.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.11.0...v3.12.0) (2021-02-09)
+
+
+### Features
+
+* **samples:** add samples for analyzeIamPolicy and analyzeIamPolicyLongrunning ([#433](https://www.github.com/googleapis/nodejs-asset/issues/433)) ([dfbd75c](https://www.github.com/googleapis/nodejs-asset/commit/dfbd75c98f2977d3a9af06e7637c005b82eda973))
+
+## [3.11.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.10.0...v3.11.0) (2021-01-09)
+
+
+### Features
+
+* adds style enumeration ([#445](https://www.github.com/googleapis/nodejs-asset/issues/445)) ([28c3612](https://www.github.com/googleapis/nodejs-asset/commit/28c361225ab0cdc2d4b141b5ef02cac5f257a85b))
+
+## [3.10.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.9.1...v3.10.0) (2020-12-02)
+
+
+### Features
+
+* added support OSInventory in Assets ([#436](https://www.github.com/googleapis/nodejs-asset/issues/436)) ([68298fd](https://www.github.com/googleapis/nodejs-asset/commit/68298fd9ebee3ae119bdb7dc6b848276804e2cda))
+
+### [3.9.1](https://www.github.com/googleapis/nodejs-asset/compare/v3.9.0...v3.9.1) (2020-11-12)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#419](https://www.github.com/googleapis/nodejs-asset/issues/419)) ([790ffd3](https://www.github.com/googleapis/nodejs-asset/commit/790ffd374b3bad580c2ba5dc5a7fd608d590cf32))
+
+## [3.9.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.8.0...v3.9.0) (2020-11-02)
+
+
+### Features
+
+* add AnalyzeIamPolicy and AnalyzeIamPolicyLongrunning RPCs ([#412](https://www.github.com/googleapis/nodejs-asset/issues/412)) ([43dde85](https://www.github.com/googleapis/nodejs-asset/commit/43dde85f123d0716b5c3b5aad3b3d1d8018399a6))
+
+## [3.8.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.7.1...v3.8.0) (2020-09-16)
+
+
+### Features
+
+* added support for per type and partition export for Cloud Asset API ([#398](https://www.github.com/googleapis/nodejs-asset/issues/398)) ([6462767](https://www.github.com/googleapis/nodejs-asset/commit/64627674e3e23e79ff055ea845d884e8714ad023))
+
+### [3.7.1](https://www.github.com/googleapis/nodejs-asset/compare/v3.7.0...v3.7.1) (2020-09-13)
+
+
+### ⚠ BREAKING CHANGES
+
+* remove unused AnalyzeIamPolicy and ExportIamPolicyAnalysis RPCs (#393)
+
+### Bug Fixes
+
+* remove unused AnalyzeIamPolicy and ExportIamPolicyAnalysis RPCs ([#393](https://www.github.com/googleapis/nodejs-asset/issues/393)) ([5994b6c](https://www.github.com/googleapis/nodejs-asset/commit/5994b6c74705e71d660f60fbbbfa55fa21b6251f))
+* remove unused AnalyzeIamPolicy and ExportIamPolicyAnalysis RPCs ([#395](https://www.github.com/googleapis/nodejs-asset/issues/395)) ([1d45e05](https://www.github.com/googleapis/nodejs-asset/commit/1d45e05b9241ba18fd906d5c9ac87653e1cc795d))
+* **deps:** update dependency yargs to v16 ([#391](https://www.github.com/googleapis/nodejs-asset/issues/391)) ([ee124ce](https://www.github.com/googleapis/nodejs-asset/commit/ee124ce650607387263f432adcd2afdb1d6065ee))
+
+## [3.7.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.6.0...v3.7.0) (2020-08-24)
+
+
+### Features
+
+* add AnalyzeIamPolicy and ExportIamPolicyAnalysis RPCs ([#386](https://www.github.com/googleapis/nodejs-asset/issues/386)) ([fa0981d](https://www.github.com/googleapis/nodejs-asset/commit/fa0981d949705814b790b2943d725ff4c118edc4))
+
+## [3.6.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.5.1...v3.6.0) (2020-08-14)
+
+
+### Features
+
+* added support OutputResult in ExportAssetsResponse. docs: updated existing docs. ([#381](https://www.github.com/googleapis/nodejs-asset/issues/381)) ([fa8aadd](https://www.github.com/googleapis/nodejs-asset/commit/fa8aaddeadc21f1a7c343d208df21561ecb3ac8c))
+
+### [3.5.1](https://www.github.com/googleapis/nodejs-asset/compare/v3.5.0...v3.5.1) (2020-07-27)
+
+
+### Bug Fixes
+
+* move gitattributes files to node templates ([#371](https://www.github.com/googleapis/nodejs-asset/issues/371)) ([e05f810](https://www.github.com/googleapis/nodejs-asset/commit/e05f810f0f15975d52fd9f6d62c8b194c8e96b5a))
+
+## [3.5.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.4.0...v3.5.0) (2020-07-08)
+
+
+### Features
+
+* **samples:** add sample code for ListAssets v1p5beta1 ([#355](https://www.github.com/googleapis/nodejs-asset/issues/355)) ([1f4cef8](https://www.github.com/googleapis/nodejs-asset/commit/1f4cef8af558cc000aec52c4e92afc1774141c53))
+
+## [3.4.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.3.0...v3.4.0) (2020-06-26)
+
+
+### Features
+
+* add v1p5beta1 API surface ([#349](https://www.github.com/googleapis/nodejs-asset/issues/349)) ([12b8ade](https://www.github.com/googleapis/nodejs-asset/commit/12b8ade2dee42b8578b0364d8876a6932288970c))
+
+## [3.3.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.2.0...v3.3.0) (2020-06-17)
+
+
+### Features
+
+* added support for condition in Feed ([#346](https://www.github.com/googleapis/nodejs-asset/issues/346)) ([3508ee5](https://www.github.com/googleapis/nodejs-asset/commit/3508ee5a7cf7eead10e6d3e2c3df91487898d40e))
+
+## [3.2.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.1.0...v3.2.0) (2020-06-16)
+
+
+### Features
+
+* move ts target to es2018 from es2016 ([#337](https://www.github.com/googleapis/nodejs-asset/issues/337)) ([0590785](https://www.github.com/googleapis/nodejs-asset/commit/0590785ac09c2459bc7c6eb77653a1a0696c27fe))
+
+
+### Bug Fixes
+
+* handle fallback option properly ([77f9ca7](https://www.github.com/googleapis/nodejs-asset/commit/77f9ca77f9e2d0ea13964ba61d69e2fac7c5e969))
+
+## [3.1.0](https://www.github.com/googleapis/nodejs-asset/compare/v3.0.0...v3.1.0) (2020-06-04)
+
+
+### Features
+
+* add `SearchAllResources` and `SearchAllIamPolicies` rpcs in asset service proto ([#332](https://www.github.com/googleapis/nodejs-asset/issues/332)) ([2f896c4](https://www.github.com/googleapis/nodejs-asset/commit/2f896c4fc347823549bd0b38df39fa30c25663bc))
+* added support for project id, order_by in SearchAllResources, search on location, labels and networkTags field ([321bc3a](https://www.github.com/googleapis/nodejs-asset/commit/321bc3ae0c187f29231037705a52ca4b805659ba))
+* check status of long running operation by its name ([#328](https://www.github.com/googleapis/nodejs-asset/issues/328)) ([488a18b](https://www.github.com/googleapis/nodejs-asset/commit/488a18ba934dbd3902595a5d4ea783033486b040))
+* clean proto list, add decoded function for longrunning method ([#327](https://www.github.com/googleapis/nodejs-asset/issues/327)) ([9e710b7](https://www.github.com/googleapis/nodejs-asset/commit/9e710b7a58132d2004ea8de0d1afdf2497ff702a))
+
+
+### Bug Fixes
+
+* remove eslint, update gax, fix generated protos, run the generator ([#311](https://www.github.com/googleapis/nodejs-asset/issues/311)) ([999b782](https://www.github.com/googleapis/nodejs-asset/commit/999b7824a2acb1538b1502029d7055aef930206c))
+* synth.py clean up for multiple version ([#326](https://www.github.com/googleapis/nodejs-asset/issues/326)) ([00e33b0](https://www.github.com/googleapis/nodejs-asset/commit/00e33b008089c8c1f7b8fba2eadef9ab744a75a6))
+* **deps:** update dependency @google-cloud/storage to v5 ([#330](https://www.github.com/googleapis/nodejs-asset/issues/330)) ([238c11a](https://www.github.com/googleapis/nodejs-asset/commit/238c11abedd65bc896762383a753e3c9bc4acddf))
+* **deps:** update dependency uuid to v8 ([#325](https://www.github.com/googleapis/nodejs-asset/issues/325)) ([dba0675](https://www.github.com/googleapis/nodejs-asset/commit/dba06757cbbcdcc244ae88197f01447176fc2ee3))
+
+## [3.0.0](https://www.github.com/googleapis/nodejs-asset/compare/v2.2.0...v3.0.0) (2020-04-10)
+
+
+### ⚠ BREAKING CHANGES
+
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+* removed SearchResources and SearchIamPolicies from v1p1beta1 client
+
+### Features
+
+* add org policy and access context manager protos ([#304](https://www.github.com/googleapis/nodejs-asset/issues/304)) ([4d18cc7](https://www.github.com/googleapis/nodejs-asset/commit/4d18cc7ac2fc4d4bae9999291575e8c3a020947f))
+* adds v1p4beta1 API surface ([#285](https://www.github.com/googleapis/nodejs-asset/issues/285)) ([9dee03a](https://www.github.com/googleapis/nodejs-asset/commit/9dee03a546df19ae1fc92f25f07f994e010f4ac4))
+* deferred client initialization ([#281](https://www.github.com/googleapis/nodejs-asset/issues/281)) ([8148ab0](https://www.github.com/googleapis/nodejs-asset/commit/8148ab0e075c36e2c49d2af96791f83398529b87))
+* drop node8 support, support for async iterators ([#299](https://www.github.com/googleapis/nodejs-asset/issues/299)) ([ae14ae8](https://www.github.com/googleapis/nodejs-asset/commit/ae14ae8fc84defbd65b06fdaaef94e07a1294e1b))
+* removed SearchResources and SearchIamPolicies from v1p1beta1 client ([184fd2f](https://www.github.com/googleapis/nodejs-asset/commit/184fd2fd3ee9cc32312f671398992f3b453fb78d))
+
+
+### Bug Fixes
+
+* in rare cases test can take longer than 180,000 timeout ([#307](https://www.github.com/googleapis/nodejs-asset/issues/307)) ([8a528fa](https://www.github.com/googleapis/nodejs-asset/commit/8a528fac934ce8dd1378c06a89b52c5d76286a9b))
+
+## [2.2.0](https://www.github.com/googleapis/nodejs-asset/compare/v2.1.0...v2.2.0) (2020-02-27)
+
+
+### Features
+
+* export protos in src/index.ts ([8f5e942](https://www.github.com/googleapis/nodejs-asset/commit/8f5e942bbe170dd2835c40c1d4354e822e2cbbce))
+
+
+### Bug Fixes
+
+* **deps:** update dependency uuid to v7 ([d83c322](https://www.github.com/googleapis/nodejs-asset/commit/d83c322d75e0b607cf019a837a040137a8925356))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-asset/compare/v2.0.1...v2.1.0) (2020-02-13)
+
+
+### Features
+
+* bump release level to ga ([#264](https://www.github.com/googleapis/nodejs-asset/issues/264)) ([b432a76](https://www.github.com/googleapis/nodejs-asset/commit/b432a76f80b0499125cd091135bc1f215dbaae64))
+
+### [2.0.1](https://www.github.com/googleapis/nodejs-asset/compare/v2.0.0...v2.0.1) (2020-02-10)
+
+
+### Bug Fixes
+
+* useless path template methods removed ([af1c939](https://www.github.com/googleapis/nodejs-asset/commit/af1c9398a284e62346758a1ce29f88e5f6692e67))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-asset/compare/v1.6.1...v2.0.0) (2020-01-30)
+
+
+### ⚠ BREAKING CHANGES
+
+* removes projectPath helper, instead use "projects/${project}".
+
+### Features
+
+* converts library to TypeScript adding v1p1beta1 surface ([#250](https://www.github.com/googleapis/nodejs-asset/issues/250)) ([54c1c48](https://www.github.com/googleapis/nodejs-asset/commit/54c1c48ebe364b665763fe056bd89401d11e020b))
+
+### [1.6.1](https://www.github.com/googleapis/nodejs-asset/compare/v1.6.0...v1.6.1) (2020-01-28)
+
+
+### Bug Fixes
+
+* enum, bytes, and Long types now accept strings ([21d58e1](https://www.github.com/googleapis/nodejs-asset/commit/21d58e1398b9af89a632083fa37e29a2157f3992))
+
+## [1.6.0](https://www.github.com/googleapis/nodejs-asset/compare/v1.5.0...v1.6.0) (2020-01-06)
+
+
+### Features
+
+* **samples:** update real time feed api sample code to use v1 API surface ([f15d2e2](https://www.github.com/googleapis/nodejs-asset/commit/f15d2e2cb4ff56bcc0fe5d83a090f5c92e4b25df))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-asset/compare/v1.4.2...v1.5.0) (2019-12-06)
+
+
+### Features
+
+* add plural and singular resource descriptor ([93c314d](https://www.github.com/googleapis/nodejs-asset/commit/93c314deee5e4b1a165f5126ca42a6b1568be148))
+* adds CreateFeed, GetFeed, ListFeeds, UpdateFeed, DeleteFeed methods ([13903ae](https://www.github.com/googleapis/nodejs-asset/commit/13903aebf37840973a7bf2b7c0d35f36880bf612))
+
+
+### Bug Fixes
+
+* **deps:** pin TypeScript below 3.7.0 ([10472c9](https://www.github.com/googleapis/nodejs-asset/commit/10472c9e4be30a9ad61ace224943808cb32c8813))
+* **deps:** update dependency yargs to v15 ([#222](https://www.github.com/googleapis/nodejs-asset/issues/222)) ([a7beda9](https://www.github.com/googleapis/nodejs-asset/commit/a7beda95d9fdf6b55c019128a74e62f1410eeae4))
+
+### [1.4.2](https://www.github.com/googleapis/nodejs-asset/compare/v1.4.1...v1.4.2) (2019-11-13)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/storage to v4 ([#207](https://www.github.com/googleapis/nodejs-asset/issues/207)) ([1b67b50](https://www.github.com/googleapis/nodejs-asset/commit/1b67b5022ee6cdf59e51614e911c5e45e00efdf2))
+* import long into proto ts declaration file ([#218](https://www.github.com/googleapis/nodejs-asset/issues/218)) ([00bc96e](https://www.github.com/googleapis/nodejs-asset/commit/00bc96e2944444b8ef5f61251202f42f5d54db72))
+* **docs:** snippets are now replaced in jsdoc comments ([#217](https://www.github.com/googleapis/nodejs-asset/issues/217)) ([bec38ad](https://www.github.com/googleapis/nodejs-asset/commit/bec38ad74dc50251cfdc5f4ab1c37e7d3ab9704f))
+
+### [1.4.1](https://www.github.com/googleapis/nodejs-asset/compare/v1.4.0...v1.4.1) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#208](https://www.github.com/googleapis/nodejs-asset/issues/208)) ([3803966](https://www.github.com/googleapis/nodejs-asset/commit/380396657e63cd69778eb42868149f5315dad69d))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-asset/compare/v1.3.0...v1.4.0) (2019-10-12)
+
+
+### Features
+
+* .d.ts for protos ([#197](https://www.github.com/googleapis/nodejs-asset/issues/197)) ([8f639cc](https://www.github.com/googleapis/nodejs-asset/commit/8f639cc1243bda24a83dd1005370a52eecd48654))
+* add BigQuery destination and proto types ([#206](https://www.github.com/googleapis/nodejs-asset/issues/206)) ([3834c36](https://www.github.com/googleapis/nodejs-asset/commit/3834c36ae39f4f0d98b03c2163ea92fccd51fc2f))
+
+
+### Bug Fixes
+
+* use compatible version of google-gax ([332323f](https://www.github.com/googleapis/nodejs-asset/commit/332323ff561c8d7fa23b3344e00226defb51d435))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-asset/compare/v1.2.1...v1.3.0) (2019-09-16)
+
+
+### Bug Fixes
+
+* **docs:** remove reference-docs anchor ([812bdc4](https://www.github.com/googleapis/nodejs-asset/commit/812bdc4))
+
+
+### Features
+
+* load protos from JSON, grpc-fallback support ([abe6f81](https://www.github.com/googleapis/nodejs-asset/commit/abe6f81))
+
+### [1.2.1](https://www.github.com/googleapis/nodejs-asset/compare/v1.2.0...v1.2.1) (2019-08-26)
+
+
+### Bug Fixes
+
+* **docs:** update READMEs with new samples ([#185](https://www.github.com/googleapis/nodejs-asset/issues/185)) ([775a5a0](https://www.github.com/googleapis/nodejs-asset/commit/775a5a0))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-asset/compare/v1.1.4...v1.2.0) (2019-08-20)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v14 ([e3e5872](https://www.github.com/googleapis/nodejs-asset/commit/e3e5872))
+
+
+### Features
+
+* introduce v1p2beta1 client ([#181](https://www.github.com/googleapis/nodejs-asset/issues/181)) ([675ae04](https://www.github.com/googleapis/nodejs-asset/commit/675ae04))
+
+### [1.1.4](https://www.github.com/googleapis/nodejs-asset/compare/v1.1.3...v1.1.4) (2019-08-05)
+
+
+### Bug Fixes
+
+* allow calls with no request, add JSON proto ([0015fbe](https://www.github.com/googleapis/nodejs-asset/commit/0015fbe))
+
+### [1.1.3](https://www.github.com/googleapis/nodejs-asset/compare/v1.1.2...v1.1.3) (2019-07-29)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/storage to v3 ([#168](https://www.github.com/googleapis/nodejs-asset/issues/168)) ([6ba18e7](https://www.github.com/googleapis/nodejs-asset/commit/6ba18e7))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-asset/compare/v1.1.1...v1.1.2) (2019-06-26)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#163](https://www.github.com/googleapis/nodejs-asset/issues/163)) ([290862a](https://www.github.com/googleapis/nodejs-asset/commit/290862a))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-asset/compare/v1.1.0...v1.1.1) (2019-06-14)
+
+
+### Bug Fixes
+
+* **docs:** move to new client docs URL ([#160](https://www.github.com/googleapis/nodejs-asset/issues/160)) ([d28147c](https://www.github.com/googleapis/nodejs-asset/commit/d28147c))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-asset/compare/v1.0.0...v1.1.0) (2019-06-05)
+
+
+### Features
+
+* support apiEndpoint override in client constructor ([#157](https://www.github.com/googleapis/nodejs-asset/issues/157)) ([0da529e](https://www.github.com/googleapis/nodejs-asset/commit/0da529e))
+
+## [1.0.0](https://www.github.com/googleapis/nodejs-asset/compare/v0.3.0...v1.0.0) (2019-05-11)
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-gax to ^0.26.0 ([#132](https://www.github.com/googleapis/nodejs-asset/issues/132)) ([29dec78](https://www.github.com/googleapis/nodejs-asset/commit/29dec78))
+* **deps:** update dependency google-gax to v1 ([#142](https://www.github.com/googleapis/nodejs-asset/issues/142)) ([c5d4508](https://www.github.com/googleapis/nodejs-asset/commit/c5d4508))
+* include 'x-goog-request-params' header in requests ([#126](https://www.github.com/googleapis/nodejs-asset/issues/126)) ([ff57600](https://www.github.com/googleapis/nodejs-asset/commit/ff57600))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#134](https://www.github.com/googleapis/nodejs-asset/issues/134)) ([ad7814c](https://www.github.com/googleapis/nodejs-asset/commit/ad7814c))
+
+
+### Features
+
+* introduces 'expression text', deprecates version field ([#143](https://www.github.com/googleapis/nodejs-asset/issues/143)) ([4c35683](https://www.github.com/googleapis/nodejs-asset/commit/4c35683))
+
+
+### BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#134)
+
+## v0.3.0
+
+03-19-2019 11:42 PDT
+
+This release ships the v1 version of the backend API.
+
+Create the v1 client:
+
+```javascript
+const asset = require('@google-cloud/asset');
+const client = new asset.v1.AssetServiceClient();
+```
+
+### New Features
+- feat: add the v1 version of the API ([#120](https://github.com/googleapis/nodejs-asset/pull/120))
+
+### Internal / Testing Changes
+- build: use per-repo publish token ([#119](https://github.com/googleapis/nodejs-asset/pull/119))
+
+## v0.2.1
+
+03-13-2019 21:45 PDT
+
+### Bug Fixes
+- fix: throw on invalid credentials
+
+### Documentation
+- docs: use backticks for JS values ([#116](https://github.com/googleapis/nodejs-asset/pull/116))
+- docs: update jsdoc samples and json import paths ([#115](https://github.com/googleapis/nodejs-asset/pull/115))
+- docs: update links in contrib guide ([#108](https://github.com/googleapis/nodejs-asset/pull/108))
+- docs: update contributing path in README ([#100](https://github.com/googleapis/nodejs-asset/pull/100))
+- docs: move CONTRIBUTING.md to root ([#99](https://github.com/googleapis/nodejs-asset/pull/99))
+- docs: add lint/fix example to contributing guide ([#97](https://github.com/googleapis/nodejs-asset/pull/97))
+
+### Internal / Testing Changes
+- build: Add docuploader credentials to node publish jobs ([#113](https://github.com/googleapis/nodejs-asset/pull/113))
+- build: use node10 to run samples-test, system-test etc ([#112](https://github.com/googleapis/nodejs-asset/pull/112))
+- build: update release configuration
+- chore: update proto formatting
+- chore(deps): update dependency mocha to v6
+- build: use linkinator for docs test ([#107](https://github.com/googleapis/nodejs-asset/pull/107))
+- fix(deps): update dependency yargs to v13 ([#105](https://github.com/googleapis/nodejs-asset/pull/105))
+- build: create docs test npm scripts ([#104](https://github.com/googleapis/nodejs-asset/pull/104))
+- build: test using @grpc/grpc-js in CI ([#103](https://github.com/googleapis/nodejs-asset/pull/103))
+- chore: ignore cache directories ([#102](https://github.com/googleapis/nodejs-asset/pull/102))
+- refactor: improve generated code style. ([#96](https://github.com/googleapis/nodejs-asset/pull/96))
+
+## v0.2.0
+
+01-31-2019 10:32 PST
+
+### Implementation Changes
+- refactor: remove unused IAM protobuf objects ([#83](https://github.com/googleapis/nodejs-asset/pull/83))
+- refactor: drop requirement of setting GCLOUD_PROJECT ([#81](https://github.com/googleapis/nodejs-asset/pull/81))
+
+### New Features
+- fix(proto): add support for folders ([#90](https://github.com/googleapis/nodejs-asset/pull/90))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.25.0 ([#94](https://github.com/googleapis/nodejs-asset/pull/94))
+
+### Documentation
+- fix(docs): www discovery link ([#87](https://github.com/googleapis/nodejs-asset/pull/87))
+- fix(docs): broken links in README.md ([#84](https://github.com/googleapis/nodejs-asset/pull/84))
+
+## v0.1.1
+
+12-04-2018 14:41 PST
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.22.0 ([#49](https://github.com/googleapis/nodejs-asset/pull/49))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#47](https://github.com/googleapis/nodejs-asset/pull/47))
+- chore(deps): update dependency through2 to v3 ([#44](https://github.com/googleapis/nodejs-asset/pull/44))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#36](https://github.com/googleapis/nodejs-asset/pull/36))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#21](https://github.com/googleapis/nodejs-asset/pull/21))
+
+### Documentation
+- sample: Add quickstart sample code for BatchGetAsstesHistory. ([#59](https://github.com/googleapis/nodejs-asset/pull/59))
+- refactor(samples): convert sample tests from ava to mocha ([#56](https://github.com/googleapis/nodejs-asset/pull/56))
+- docs: update README.md with correct links ([#66](https://github.com/googleapis/nodejs-asset/pull/66))
+- docs: update readme badges ([#63](https://github.com/googleapis/nodejs-asset/pull/63))
+- docs: Fix 404 link to product reference docs. ([#62](https://github.com/googleapis/nodejs-asset/pull/62))
+- docs(samples): add quickstart code for ExportAssets ([#50](https://github.com/googleapis/nodejs-asset/pull/50))
+
+### Internal / Testing Changes
+- chore: update license file ([#65](https://github.com/googleapis/nodejs-asset/pull/65))
+- fix(build): fix system key decryption ([#60](https://github.com/googleapis/nodejs-asset/pull/60))
+- fix: fix the lint rules ([#58](https://github.com/googleapis/nodejs-asset/pull/58))
+- chore: do a little lint cleanup ([#53](https://github.com/googleapis/nodejs-asset/pull/53))
+- chore: add synth.metadata
+- chore: update eslintignore config ([#48](https://github.com/googleapis/nodejs-asset/pull/48))
+- chore: drop contributors from multiple places ([#46](https://github.com/googleapis/nodejs-asset/pull/46))
+- chore: use latest npm on Windows ([#45](https://github.com/googleapis/nodejs-asset/pull/45))
+- chore: update CircleCI config ([#43](https://github.com/googleapis/nodejs-asset/pull/43))
+- chore: include build in eslintignore ([#40](https://github.com/googleapis/nodejs-asset/pull/40))
+- chore: update issue templates ([#35](https://github.com/googleapis/nodejs-asset/pull/35))
+- chore: remove old issue template ([#33](https://github.com/googleapis/nodejs-asset/pull/33))
+- build: run tests on node11 ([#32](https://github.com/googleapis/nodejs-asset/pull/32))
+- chores(build): run codecov on continuous builds ([#29](https://github.com/googleapis/nodejs-asset/pull/29))
+- chores(build): do not collect sponge.xml from windows builds ([#30](https://github.com/googleapis/nodejs-asset/pull/30))
+- chore: update new issue template ([#28](https://github.com/googleapis/nodejs-asset/pull/28))
+- build: fix codecov uploading on Kokoro ([#24](https://github.com/googleapis/nodejs-asset/pull/24))
+- Update CI config ([#22](https://github.com/googleapis/nodejs-asset/pull/22))
+- Update CI config and move to const ([#19](https://github.com/googleapis/nodejs-asset/pull/19))
+- test: remove appveyor config ([#17](https://github.com/googleapis/nodejs-asset/pull/17))
+- Fix the linter ([#16](https://github.com/googleapis/nodejs-asset/pull/16))
+- Enable prefer-const in the eslint config ([#15](https://github.com/googleapis/nodejs-asset/pull/15))
+
+## v0.1.0
+
+Initial release of the Cloud Asset API.
diff --git a/packages/google-cloud-asset/CODE_OF_CONDUCT.md b/packages/google-cloud-asset/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-asset/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-asset/CONTRIBUTING.md b/packages/google-cloud-asset/CONTRIBUTING.md
new file mode 100644
index 00000000000..47be3bfbb42
--- /dev/null
+++ b/packages/google-cloud-asset/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Cloud Asset Inventory 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=cloudasset.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-asset/LICENSE b/packages/google-cloud-asset/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-asset/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-asset/README.md b/packages/google-cloud-asset/README.md
new file mode 100644
index 00000000000..2e293fdf10c
--- /dev/null
+++ b/packages/google-cloud-asset/README.md
@@ -0,0 +1,204 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Cloud Asset Inventory: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/asset)
+
+
+
+
+Cloud Asset 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-asset/CHANGELOG.md).
+
+* [Cloud Asset Inventory Node.js Client API Reference][client-docs]
+* [Cloud Asset Inventory Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-asset](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-asset)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Cloud Asset Inventory 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/asset
+```
+
+
+### Using the client library
+
+```javascript
+/**
+ * TODO(developer): Uncomment these variables before running the sample.
+ */
+// const assetTypes = 'storage.googleapis.com/Bucket,bigquery.googleapis.com/Table';
+// const contentType = 'RESOURCE';
+
+const util = require('util');
+const {v1} = require('@google-cloud/asset');
+const client = new v1.AssetServiceClient();
+
+const projectResource = `projects/${projectId}`;
+// TODO(developer): Choose types of assets to list, such as 'storage.googleapis.com/Bucket':
+// const assetTypes = 'storage.googleapis.com/Bucket,bigquery.googleapis.com/Table';
+// Or simply use empty string to list all types of assets:
+// const assetTypes = '';
+const assetTypesList = assetTypes ? assetTypes.split(',') : [];
+
+async function listAssets() {
+ const request = {
+ parent: projectResource,
+ assetTypes: assetTypesList,
+ contentType: contentType,
+ // (Optional) Add readTime parameter to list assets at the given time instead of current time:
+ // readTime: { seconds: 1593988758 },
+ };
+
+ // Call cloud.assets.v1.ListAssets API.
+ const result = await client.listAssets(request);
+ // Handle the response.
+ console.log(util.inspect(result, {depth: null}));
+}
+listAssets();
+
+```
+
+
+
+## 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 |
+| --------------------------- | --------------------------------- | ------ |
+| Asset_service.analyze_iam_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.analyze_iam_policy.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-asset/samples/generated/v1/asset_service.analyze_iam_policy.js,samples/README.md) |
+| Asset_service.analyze_iam_policy_longrunning | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.analyze_iam_policy_longrunning.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-asset/samples/generated/v1/asset_service.analyze_iam_policy_longrunning.js,samples/README.md) |
+| Asset_service.analyze_move | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.analyze_move.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-asset/samples/generated/v1/asset_service.analyze_move.js,samples/README.md) |
+| Asset_service.batch_get_assets_history | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.batch_get_assets_history.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-asset/samples/generated/v1/asset_service.batch_get_assets_history.js,samples/README.md) |
+| Asset_service.batch_get_effective_iam_policies | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.batch_get_effective_iam_policies.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-asset/samples/generated/v1/asset_service.batch_get_effective_iam_policies.js,samples/README.md) |
+| Asset_service.create_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.create_feed.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-asset/samples/generated/v1/asset_service.create_feed.js,samples/README.md) |
+| Asset_service.create_saved_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.create_saved_query.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-asset/samples/generated/v1/asset_service.create_saved_query.js,samples/README.md) |
+| Asset_service.delete_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.delete_feed.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-asset/samples/generated/v1/asset_service.delete_feed.js,samples/README.md) |
+| Asset_service.delete_saved_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.delete_saved_query.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-asset/samples/generated/v1/asset_service.delete_saved_query.js,samples/README.md) |
+| Asset_service.export_assets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.export_assets.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-asset/samples/generated/v1/asset_service.export_assets.js,samples/README.md) |
+| Asset_service.get_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.get_feed.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-asset/samples/generated/v1/asset_service.get_feed.js,samples/README.md) |
+| Asset_service.get_saved_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.get_saved_query.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-asset/samples/generated/v1/asset_service.get_saved_query.js,samples/README.md) |
+| Asset_service.list_assets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.list_assets.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-asset/samples/generated/v1/asset_service.list_assets.js,samples/README.md) |
+| Asset_service.list_feeds | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.list_feeds.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-asset/samples/generated/v1/asset_service.list_feeds.js,samples/README.md) |
+| Asset_service.list_saved_queries | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.list_saved_queries.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-asset/samples/generated/v1/asset_service.list_saved_queries.js,samples/README.md) |
+| Asset_service.query_assets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.query_assets.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-asset/samples/generated/v1/asset_service.query_assets.js,samples/README.md) |
+| Asset_service.search_all_iam_policies | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.search_all_iam_policies.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-asset/samples/generated/v1/asset_service.search_all_iam_policies.js,samples/README.md) |
+| Asset_service.search_all_resources | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.search_all_resources.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-asset/samples/generated/v1/asset_service.search_all_resources.js,samples/README.md) |
+| Asset_service.update_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.update_feed.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-asset/samples/generated/v1/asset_service.update_feed.js,samples/README.md) |
+| Asset_service.update_saved_query | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1/asset_service.update_saved_query.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-asset/samples/generated/v1/asset_service.update_saved_query.js,samples/README.md) |
+| Asset_service.search_all_iam_policies | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p1beta1/asset_service.search_all_iam_policies.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-asset/samples/generated/v1p1beta1/asset_service.search_all_iam_policies.js,samples/README.md) |
+| Asset_service.search_all_resources | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p1beta1/asset_service.search_all_resources.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-asset/samples/generated/v1p1beta1/asset_service.search_all_resources.js,samples/README.md) |
+| Asset_service.create_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p2beta1/asset_service.create_feed.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-asset/samples/generated/v1p2beta1/asset_service.create_feed.js,samples/README.md) |
+| Asset_service.delete_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p2beta1/asset_service.delete_feed.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-asset/samples/generated/v1p2beta1/asset_service.delete_feed.js,samples/README.md) |
+| Asset_service.get_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p2beta1/asset_service.get_feed.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-asset/samples/generated/v1p2beta1/asset_service.get_feed.js,samples/README.md) |
+| Asset_service.list_feeds | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p2beta1/asset_service.list_feeds.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-asset/samples/generated/v1p2beta1/asset_service.list_feeds.js,samples/README.md) |
+| Asset_service.update_feed | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p2beta1/asset_service.update_feed.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-asset/samples/generated/v1p2beta1/asset_service.update_feed.js,samples/README.md) |
+| Asset_service.analyze_iam_policy | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p4beta1/asset_service.analyze_iam_policy.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-asset/samples/generated/v1p4beta1/asset_service.analyze_iam_policy.js,samples/README.md) |
+| Asset_service.export_iam_policy_analysis | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p4beta1/asset_service.export_iam_policy_analysis.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-asset/samples/generated/v1p4beta1/asset_service.export_iam_policy_analysis.js,samples/README.md) |
+| Asset_service.list_assets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/generated/v1p5beta1/asset_service.list_assets.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-asset/samples/generated/v1p5beta1/asset_service.list_assets.js,samples/README.md) |
+| List Assets | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/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-asset/samples/quickstart.js,samples/README.md) |
+| Sample.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-asset/samples/test/sample.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-asset/samples/test/sample.test.js,samples/README.md) |
+
+
+
+The [Cloud Asset Inventory 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/asset@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/asset/latest
+[product-docs]: https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview
+[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=cloudasset.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-asset/linkinator.config.json b/packages/google-cloud-asset/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-asset/linkinator.config.json
@@ -0,0 +1,16 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io",
+ "https://console.cloud.google.com/cloudshell",
+ "https://support.google.com"
+ ],
+ "silent": true,
+ "concurrency": 5,
+ "retry": true,
+ "retryErrors": true,
+ "retryErrorsCount": 5,
+ "retryErrorsJitter": 3000
+}
diff --git a/packages/google-cloud-asset/package.json b/packages/google-cloud-asset/package.json
new file mode 100644
index 00000000000..14ce3b58915
--- /dev/null
+++ b/packages/google-cloud-asset/package.json
@@ -0,0 +1,74 @@
+{
+ "name": "@google-cloud/asset",
+ "description": "Cloud Asset API client for Node.js",
+ "version": "4.5.0",
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-asset",
+ "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 cloudasset",
+ "cloudasset",
+ "Cloud Asset API"
+ ],
+ "scripts": {
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "samples-test-suite": "cd samples/ && npm link ../ && npm test && cd ../",
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "predocs-test": "npm run docs",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "prelint": "cd samples; npm link ../; npm install",
+ "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-asset"
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1/asset_service.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1/asset_service.proto
new file mode 100644
index 00000000000..9e13d0662d7
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1/asset_service.proto
@@ -0,0 +1,2014 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/asset/v1/assets.proto";
+import "google/iam/v1/policy.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+import "google/type/expr.proto";
+
+option csharp_namespace = "Google.Cloud.Asset.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetServiceProto";
+option java_package = "com.google.cloud.asset.v1";
+option php_namespace = "Google\\Cloud\\Asset\\V1";
+
+// Asset service definition.
+service AssetService {
+ option (google.api.default_host) = "cloudasset.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Exports assets with time and resource types to a given Cloud Storage
+ // location/BigQuery table. For Cloud Storage location destinations, the
+ // output format is newline-delimited JSON. Each line represents a
+ // [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table
+ // destinations, the output table stores the fields in asset Protobuf as
+ // columns. This API implements the [google.longrunning.Operation][google.longrunning.Operation] API,
+ // which allows you to keep track of the export. We recommend intervals of at
+ // least 2 seconds with exponential retry to poll the export operation result.
+ // For regular-size resource parent, the export operation usually finishes
+ // within 5 minutes.
+ rpc ExportAssets(ExportAssetsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=*/*}:exportAssets"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.asset.v1.ExportAssetsResponse"
+ metadata_type: "google.cloud.asset.v1.ExportAssetsRequest"
+ };
+ }
+
+ // Lists assets with time and resource types and returns paged results in
+ // response.
+ rpc ListAssets(ListAssetsRequest) returns (ListAssetsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=*/*}/assets"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Batch gets the update history of assets that overlap a time window.
+ // For IAM_POLICY content, this API outputs history when the asset and its
+ // attached IAM POLICY both exist. This can create gaps in the output history.
+ // Otherwise, this API outputs history with asset in both non-delete or
+ // deleted status.
+ // If a specified asset does not exist, this API returns an INVALID_ARGUMENT
+ // error.
+ rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest) returns (BatchGetAssetsHistoryResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=*/*}:batchGetAssetsHistory"
+ };
+ }
+
+ // Creates a feed in a parent project/folder/organization to listen to its
+ // asset updates.
+ rpc CreateFeed(CreateFeedRequest) returns (Feed) {
+ option (google.api.http) = {
+ post: "/v1/{parent=*/*}/feeds"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets details about an asset feed.
+ rpc GetFeed(GetFeedRequest) returns (Feed) {
+ option (google.api.http) = {
+ get: "/v1/{name=*/*/feeds/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all asset feeds in a parent project/folder/organization.
+ rpc ListFeeds(ListFeedsRequest) returns (ListFeedsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=*/*}/feeds"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates an asset feed configuration.
+ rpc UpdateFeed(UpdateFeedRequest) returns (Feed) {
+ option (google.api.http) = {
+ patch: "/v1/{feed.name=*/*/feeds/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "feed";
+ }
+
+ // Deletes an asset feed.
+ rpc DeleteFeed(DeleteFeedRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=*/*/feeds/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Searches all Cloud resources within the specified scope, such as a project,
+ // folder, or organization. The caller must be granted the
+ // `cloudasset.assets.searchAllResources` permission on the desired scope,
+ // otherwise the request will be rejected.
+ rpc SearchAllResources(SearchAllResourcesRequest) returns (SearchAllResourcesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{scope=*/*}:searchAllResources"
+ };
+ option (google.api.method_signature) = "scope,query,asset_types";
+ }
+
+ // Searches all IAM policies within the specified scope, such as a project,
+ // folder, or organization. The caller must be granted the
+ // `cloudasset.assets.searchAllIamPolicies` permission on the desired scope,
+ // otherwise the request will be rejected.
+ rpc SearchAllIamPolicies(SearchAllIamPoliciesRequest) returns (SearchAllIamPoliciesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{scope=*/*}:searchAllIamPolicies"
+ };
+ option (google.api.method_signature) = "scope,query";
+ }
+
+ // Analyzes IAM policies to answer which identities have what accesses on
+ // which resources.
+ rpc AnalyzeIamPolicy(AnalyzeIamPolicyRequest) returns (AnalyzeIamPolicyResponse) {
+ option (google.api.http) = {
+ get: "/v1/{analysis_query.scope=*/*}:analyzeIamPolicy"
+ };
+ }
+
+ // Analyzes IAM policies asynchronously to answer which identities have what
+ // accesses on which resources, and writes the analysis results to a Google
+ // Cloud Storage or a BigQuery destination. For Cloud Storage destination, the
+ // output format is the JSON format that represents a
+ // [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the
+ // [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation
+ // status. We recommend intervals of at least 2 seconds with exponential
+ // backoff retry to poll the operation result. The metadata contains the
+ // metadata for the long-running operation.
+ rpc AnalyzeIamPolicyLongrunning(AnalyzeIamPolicyLongrunningRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{analysis_query.scope=*/*}:analyzeIamPolicyLongrunning"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse"
+ metadata_type: "google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata"
+ };
+ }
+
+ // Analyze moving a resource to a specified destination without kicking off
+ // the actual move. The analysis is best effort depending on the user's
+ // permissions of viewing different hierarchical policies and configurations.
+ // The policies and configuration are subject to change before the actual
+ // resource migration takes place.
+ rpc AnalyzeMove(AnalyzeMoveRequest) returns (AnalyzeMoveResponse) {
+ option (google.api.http) = {
+ get: "/v1/{resource=*/*}:analyzeMove"
+ };
+ }
+
+ // Issue a job that queries assets using a SQL statement compatible with
+ // [BigQuery Standard
+ // SQL](http://cloud/bigquery/docs/reference/standard-sql/enabling-standard-sql).
+ //
+ // If the query execution finishes within timeout and there's no pagination,
+ // the full query results will be returned in the `QueryAssetsResponse`.
+ //
+ // Otherwise, full query results can be obtained by issuing extra requests
+ // with the `job_reference` from the a previous `QueryAssets` call.
+ //
+ // Note, the query result has approximately 10 GB limitation enforced by
+ // BigQuery
+ // https://cloud.google.com/bigquery/docs/best-practices-performance-output,
+ // queries return larger results will result in errors.
+ rpc QueryAssets(QueryAssetsRequest) returns (QueryAssetsResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=*/*}:queryAssets"
+ body: "*"
+ };
+ }
+
+ // Creates a saved query in a parent project/folder/organization.
+ rpc CreateSavedQuery(CreateSavedQueryRequest) returns (SavedQuery) {
+ option (google.api.http) = {
+ post: "/v1/{parent=*/*}/savedQueries"
+ body: "saved_query"
+ };
+ option (google.api.method_signature) = "parent,saved_query,saved_query_id";
+ }
+
+ // Gets details about a saved query.
+ rpc GetSavedQuery(GetSavedQueryRequest) returns (SavedQuery) {
+ option (google.api.http) = {
+ get: "/v1/{name=*/*/savedQueries/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all saved queries in a parent project/folder/organization.
+ rpc ListSavedQueries(ListSavedQueriesRequest) returns (ListSavedQueriesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=*/*}/savedQueries"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates a saved query.
+ rpc UpdateSavedQuery(UpdateSavedQueryRequest) returns (SavedQuery) {
+ option (google.api.http) = {
+ patch: "/v1/{saved_query.name=*/*/savedQueries/*}"
+ body: "saved_query"
+ };
+ option (google.api.method_signature) = "saved_query,update_mask";
+ }
+
+ // Deletes a saved query.
+ rpc DeleteSavedQuery(DeleteSavedQueryRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=*/*/savedQueries/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets effective IAM policies for a batch of resources.
+ rpc BatchGetEffectiveIamPolicies(BatchGetEffectiveIamPoliciesRequest) returns (BatchGetEffectiveIamPoliciesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{scope=*/*}/effectiveIamPolicies:batchGet"
+ };
+ }
+}
+
+// Represents the metadata of the longrunning operation for the
+// AnalyzeIamPolicyLongrunning rpc.
+message AnalyzeIamPolicyLongrunningMetadata {
+ // Output only. The time the operation was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Export asset request.
+message ExportAssetsRequest {
+ // Required. The relative name of the root asset. This can only be an
+ // organization number (such as "organizations/123"), a project ID (such as
+ // "projects/my-project-id"), or a project number (such as "projects/12345"),
+ // or a folder number (such as "folders/123").
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/Asset"
+ }
+ ];
+
+ // Timestamp to take an asset snapshot. This can only be set to a timestamp
+ // between the current time and the current time minus 35 days (inclusive).
+ // If not specified, the current time will be used. Due to delays in resource
+ // data collection and indexing, there is a volatile window during which
+ // running the same query may get different results.
+ google.protobuf.Timestamp read_time = 2;
+
+ // A list of asset types to take a snapshot for. For example:
+ // "compute.googleapis.com/Disk".
+ //
+ // Regular expressions are also supported. For example:
+ //
+ // * "compute.googleapis.com.*" snapshots resources whose asset type starts
+ // with "compute.googleapis.com".
+ // * ".*Instance" snapshots resources whose asset type ends with "Instance".
+ // * ".*Instance.*" snapshots resources whose asset type contains "Instance".
+ //
+ // See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
+ // regular expression syntax. If the regular expression does not match any
+ // supported asset type, an INVALID_ARGUMENT error will be returned.
+ //
+ // If specified, only matching assets will be returned, otherwise, it will
+ // snapshot all asset types. See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/asset-inventory/docs/overview)
+ // for all supported asset types.
+ repeated string asset_types = 3;
+
+ // Asset content type. If not specified, no content but the asset name will be
+ // returned.
+ ContentType content_type = 4;
+
+ // Required. Output configuration indicating where the results will be output to.
+ OutputConfig output_config = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // A list of relationship types to export, for example:
+ // `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
+ // content_type=RELATIONSHIP.
+ // * If specified:
+ // it snapshots specified relationships. It returns an error if
+ // any of the [relationship_types] doesn't belong to the supported
+ // relationship types of the [asset_types] or if any of the [asset_types]
+ // doesn't belong to the source types of the [relationship_types].
+ // * Otherwise:
+ // it snapshots the supported relationships for all [asset_types] or returns
+ // an error if any of the [asset_types] has no relationship support.
+ // An unspecified asset types field means all supported asset_types.
+ // See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
+ // supported asset types and relationship types.
+ repeated string relationship_types = 6;
+}
+
+// The export asset response. This message is returned by the
+// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned
+// [google.longrunning.Operation.response][google.longrunning.Operation.response] field.
+message ExportAssetsResponse {
+ // Time the snapshot was taken.
+ google.protobuf.Timestamp read_time = 1;
+
+ // Output configuration indicating where the results were output to.
+ OutputConfig output_config = 2;
+
+ // Output result indicating where the assets were exported to. For example, a
+ // set of actual Google Cloud Storage object uris where the assets are
+ // exported to. The uris can be different from what [output_config] has
+ // specified, as the service will split the output object into multiple ones
+ // once it exceeds a single Google Cloud Storage object limit.
+ OutputResult output_result = 3;
+}
+
+// ListAssets request.
+message ListAssetsRequest {
+ // Required. Name of the organization, folder, or project the assets belong to. Format:
+ // "organizations/[organization-number]" (such as "organizations/123"),
+ // "projects/[project-id]" (such as "projects/my-project-id"),
+ // "projects/[project-number]" (such as "projects/12345"), or
+ // "folders/[folder-number]" (such as "folders/12345").
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/Asset"
+ }
+ ];
+
+ // Timestamp to take an asset snapshot. This can only be set to a timestamp
+ // between the current time and the current time minus 35 days (inclusive).
+ // If not specified, the current time will be used. Due to delays in resource
+ // data collection and indexing, there is a volatile window during which
+ // running the same query may get different results.
+ google.protobuf.Timestamp read_time = 2;
+
+ // A list of asset types to take a snapshot for. For example:
+ // "compute.googleapis.com/Disk".
+ //
+ // Regular expression is also supported. For example:
+ //
+ // * "compute.googleapis.com.*" snapshots resources whose asset type starts
+ // with "compute.googleapis.com".
+ // * ".*Instance" snapshots resources whose asset type ends with "Instance".
+ // * ".*Instance.*" snapshots resources whose asset type contains "Instance".
+ //
+ // See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
+ // regular expression syntax. If the regular expression does not match any
+ // supported asset type, an INVALID_ARGUMENT error will be returned.
+ //
+ // If specified, only matching assets will be returned, otherwise, it will
+ // snapshot all asset types. See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/asset-inventory/docs/overview)
+ // for all supported asset types.
+ repeated string asset_types = 3;
+
+ // Asset content type. If not specified, no content but the asset name will
+ // be returned.
+ ContentType content_type = 4;
+
+ // The maximum number of assets to be returned in a single response. Default
+ // is 100, minimum is 1, and maximum is 1000.
+ int32 page_size = 5;
+
+ // The `next_page_token` returned from the previous `ListAssetsResponse`, or
+ // unspecified for the first `ListAssetsRequest`. It is a continuation of a
+ // prior `ListAssets` call, and the API should return the next page of assets.
+ string page_token = 6;
+
+ // A list of relationship types to output, for example:
+ // `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
+ // content_type=RELATIONSHIP.
+ // * If specified:
+ // it snapshots specified relationships. It returns an error if
+ // any of the [relationship_types] doesn't belong to the supported
+ // relationship types of the [asset_types] or if any of the [asset_types]
+ // doesn't belong to the source types of the [relationship_types].
+ // * Otherwise:
+ // it snapshots the supported relationships for all [asset_types] or returns
+ // an error if any of the [asset_types] has no relationship support.
+ // An unspecified asset types field means all supported asset_types.
+ // See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/asset-inventory/docs/overview)
+ // for all supported asset types and relationship types.
+ repeated string relationship_types = 7;
+}
+
+// ListAssets response.
+message ListAssetsResponse {
+ // Time the snapshot was taken.
+ google.protobuf.Timestamp read_time = 1;
+
+ // Assets.
+ repeated Asset assets = 2;
+
+ // Token to retrieve the next page of results. It expires 72 hours after the
+ // page token for the first page is generated. Set to empty if there are no
+ // remaining results.
+ string next_page_token = 3;
+}
+
+// Batch get assets history request.
+message BatchGetAssetsHistoryRequest {
+ // Required. The relative name of the root asset. It can only be an
+ // organization number (such as "organizations/123"), a project ID (such as
+ // "projects/my-project-id")", or a project number (such as "projects/12345").
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/Asset"
+ }
+ ];
+
+ // A list of the full names of the assets.
+ // See: https://cloud.google.com/asset-inventory/docs/resource-name-format
+ // Example:
+ //
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ //
+ // The request becomes a no-op if the asset name list is empty, and the max
+ // size of the asset name list is 100 in one request.
+ repeated string asset_names = 2;
+
+ // Optional. The content type.
+ ContentType content_type = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The time window for the asset history. Both start_time and
+ // end_time are optional and if set, it must be after the current time minus
+ // 35 days. If end_time is not set, it is default to current timestamp.
+ // If start_time is not set, the snapshot of the assets at end_time will be
+ // returned. The returned results contain all temporal assets whose time
+ // window overlap with read_time_window.
+ TimeWindow read_time_window = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A list of relationship types to output, for example:
+ // `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
+ // content_type=RELATIONSHIP.
+ // * If specified:
+ // it outputs specified relationships' history on the [asset_names]. It
+ // returns an error if any of the [relationship_types] doesn't belong to the
+ // supported relationship types of the [asset_names] or if any of the
+ // [asset_names]'s types doesn't belong to the source types of the
+ // [relationship_types].
+ // * Otherwise:
+ // it outputs the supported relationships' history on the [asset_names] or
+ // returns an error if any of the [asset_names]'s types has no relationship
+ // support.
+ // See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all
+ // supported asset types and relationship types.
+ repeated string relationship_types = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Batch get assets history response.
+message BatchGetAssetsHistoryResponse {
+ // A list of assets with valid time windows.
+ repeated TemporalAsset assets = 1;
+}
+
+// Create asset feed request.
+message CreateFeedRequest {
+ // Required. The name of the project/folder/organization where this feed
+ // should be created in. It can only be an organization number (such as
+ // "organizations/123"), a folder number (such as "folders/123"), a project ID
+ // (such as "projects/my-project-id")", or a project number (such as
+ // "projects/12345").
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. This is the client-assigned asset feed identifier and it needs to
+ // be unique under a specific parent project/folder/organization.
+ string feed_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The feed details. The field `name` must be empty and it will be generated
+ // in the format of:
+ // projects/project_number/feeds/feed_id
+ // folders/folder_number/feeds/feed_id
+ // organizations/organization_number/feeds/feed_id
+ Feed feed = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Get asset feed request.
+message GetFeedRequest {
+ // Required. The name of the Feed and it must be in the format of:
+ // projects/project_number/feeds/feed_id
+ // folders/folder_number/feeds/feed_id
+ // organizations/organization_number/feeds/feed_id
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudasset.googleapis.com/Feed"
+ }
+ ];
+}
+
+// List asset feeds request.
+message ListFeedsRequest {
+ // Required. The parent project/folder/organization whose feeds are to be
+ // listed. It can only be using project/folder/organization number (such as
+ // "folders/12345")", or a project ID (such as "projects/my-project-id").
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+message ListFeedsResponse {
+ // A list of feeds.
+ repeated Feed feeds = 1;
+}
+
+// Update asset feed request.
+message UpdateFeedRequest {
+ // Required. The new values of feed details. It must match an existing feed and the
+ // field `name` must be in the format of:
+ // projects/project_number/feeds/feed_id or
+ // folders/folder_number/feeds/feed_id or
+ // organizations/organization_number/feeds/feed_id.
+ Feed feed = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Only updates the `feed` fields indicated by this mask.
+ // The field mask must not be empty, and it must not contain fields that
+ // are immutable or only set by the server.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+message DeleteFeedRequest {
+ // Required. The name of the feed and it must be in the format of:
+ // projects/project_number/feeds/feed_id
+ // folders/folder_number/feeds/feed_id
+ // organizations/organization_number/feeds/feed_id
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudasset.googleapis.com/Feed"
+ }
+ ];
+}
+
+// Output configuration for export assets destination.
+message OutputConfig {
+ // Asset export destination.
+ oneof destination {
+ // Destination on Cloud Storage.
+ GcsDestination gcs_destination = 1;
+
+ // Destination on BigQuery. The output table stores the fields in asset
+ // Protobuf as columns in BigQuery.
+ BigQueryDestination bigquery_destination = 2;
+ }
+}
+
+// Output result of export assets.
+message OutputResult {
+ // Asset export result.
+ oneof result {
+ // Export result on Cloud Storage.
+ GcsOutputResult gcs_result = 1;
+ }
+}
+
+// A Cloud Storage output result.
+message GcsOutputResult {
+ // List of uris of the Cloud Storage objects. Example:
+ // "gs://bucket_name/object_name".
+ repeated string uris = 1;
+}
+
+// A Cloud Storage location.
+message GcsDestination {
+ // Required.
+ oneof object_uri {
+ // The uri of the Cloud Storage object. It's the same uri that is used by
+ // gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
+ // Editing Object
+ // Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
+ // for more information.
+ //
+ // If the specified Cloud Storage object already exists and there is no
+ // [hold](https://cloud.google.com/storage/docs/object-holds), it will be
+ // overwritten with the exported result.
+ string uri = 1;
+
+ // The uri prefix of all generated Cloud Storage objects. Example:
+ // "gs://bucket_name/object_name_prefix". Each object uri is in format:
+ // "gs://bucket_name/object_name_prefix// and only
+ // contains assets for that type. starts from 0. Example:
+ // "gs://bucket_name/object_name_prefix/compute.googleapis.com/Disk/0" is
+ // the first shard of output objects containing all
+ // compute.googleapis.com/Disk assets. An INVALID_ARGUMENT error will be
+ // returned if file with the same name "gs://bucket_name/object_name_prefix"
+ // already exists.
+ string uri_prefix = 2;
+ }
+}
+
+// A BigQuery destination for exporting assets to.
+message BigQueryDestination {
+ // Required. The BigQuery dataset in format
+ // "projects/projectId/datasets/datasetId", to which the snapshot result
+ // should be exported. If this dataset does not exist, the export call returns
+ // an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets`
+ // determines the
+ // [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema)
+ // of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also
+ // influences the schema.
+ string dataset = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The BigQuery table to which the snapshot result should be
+ // written. If this table does not exist, a new table with the given name
+ // will be created.
+ string table = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // If the destination table already exists and this flag is `TRUE`, the
+ // table will be overwritten by the contents of assets snapshot. If the flag
+ // is `FALSE` or unset and the destination table already exists, the export
+ // call returns an INVALID_ARGUMEMT error.
+ bool force = 3;
+
+ // [partition_spec] determines whether to export to partitioned table(s) and
+ // how to partition the data.
+ //
+ // If [partition_spec] is unset or [partition_spec.partition_key] is unset or
+ // `PARTITION_KEY_UNSPECIFIED`, the snapshot results will be exported to
+ // non-partitioned table(s). [force] will decide whether to overwrite existing
+ // table(s).
+ //
+ // If [partition_spec] is specified. First, the snapshot results will be
+ // written to partitioned table(s) with two additional timestamp columns,
+ // readTime and requestTime, one of which will be the partition key. Secondly,
+ // in the case when any destination table already exists, it will first try to
+ // update existing table's schema as necessary by appending additional
+ // columns. Then, if [force] is `TRUE`, the corresponding partition will be
+ // overwritten by the snapshot results (data in different partitions will
+ // remain intact); if [force] is unset or `FALSE`, it will append the data. An
+ // error will be returned if the schema update or data appension fails.
+ PartitionSpec partition_spec = 4;
+
+ // If this flag is `TRUE`, the snapshot results will be written to one or
+ // multiple tables, each of which contains results of one asset type. The
+ // [force] and [partition_spec] fields will apply to each of them.
+ //
+ // Field [table] will be concatenated with "_" and the asset type names (see
+ // https://cloud.google.com/asset-inventory/docs/supported-asset-types for
+ // supported asset types) to construct per-asset-type table names, in which
+ // all non-alphanumeric characters like "." and "/" will be substituted by
+ // "_". Example: if field [table] is "mytable" and snapshot results
+ // contain "storage.googleapis.com/Bucket" assets, the corresponding table
+ // name will be "mytable_storage_googleapis_com_Bucket". If any of these
+ // tables does not exist, a new table with the concatenated name will be
+ // created.
+ //
+ // When [content_type] in the ExportAssetsRequest is `RESOURCE`, the schema of
+ // each table will include RECORD-type columns mapped to the nested fields in
+ // the Asset.resource.data field of that asset type (up to the 15 nested level
+ // BigQuery supports
+ // (https://cloud.google.com/bigquery/docs/nested-repeated#limitations)). The
+ // fields in >15 nested levels will be stored in JSON format string as a child
+ // column of its parent RECORD column.
+ //
+ // If error occurs when exporting to any table, the whole export call will
+ // return an error but the export results that already succeed will persist.
+ // Example: if exporting to table_type_A succeeds when exporting to
+ // table_type_B fails during one export call, the results in table_type_A will
+ // persist and there will not be partial results persisting in a table.
+ bool separate_tables_per_asset_type = 5;
+}
+
+// Specifications of BigQuery partitioned table as export destination.
+message PartitionSpec {
+ // This enum is used to determine the partition key column when exporting
+ // assets to BigQuery partitioned table(s). Note that, if the partition key is
+ // a timestamp column, the actual partition is based on its date value
+ // (expressed in UTC. see details in
+ // https://cloud.google.com/bigquery/docs/partitioned-tables#date_timestamp_partitioned_tables).
+ enum PartitionKey {
+ // Unspecified partition key. If used, it means using non-partitioned table.
+ PARTITION_KEY_UNSPECIFIED = 0;
+
+ // The time when the snapshot is taken. If specified as partition key, the
+ // result table(s) is partitoned by the additional timestamp column,
+ // readTime. If [read_time] in ExportAssetsRequest is specified, the
+ // readTime column's value will be the same as it. Otherwise, its value will
+ // be the current time that is used to take the snapshot.
+ READ_TIME = 1;
+
+ // The time when the request is received and started to be processed. If
+ // specified as partition key, the result table(s) is partitoned by the
+ // requestTime column, an additional timestamp column representing when the
+ // request was received.
+ REQUEST_TIME = 2;
+ }
+
+ // The partition key for BigQuery partitioned table.
+ PartitionKey partition_key = 1;
+}
+
+// A Pub/Sub destination.
+message PubsubDestination {
+ // The name of the Pub/Sub topic to publish to.
+ // Example: `projects/PROJECT_ID/topics/TOPIC_ID`.
+ string topic = 1;
+}
+
+// Output configuration for asset feed destination.
+message FeedOutputConfig {
+ // Asset feed destination.
+ oneof destination {
+ // Destination on Pub/Sub.
+ PubsubDestination pubsub_destination = 1;
+ }
+}
+
+// An asset feed used to export asset updates to a destinations.
+// An asset feed filter controls what updates are exported.
+// The asset feed must be created within a project, organization, or
+// folder. Supported destinations are:
+// Pub/Sub topics.
+message Feed {
+ option (google.api.resource) = {
+ type: "cloudasset.googleapis.com/Feed"
+ pattern: "projects/{project}/feeds/{feed}"
+ pattern: "folders/{folder}/feeds/{feed}"
+ pattern: "organizations/{organization}/feeds/{feed}"
+ history: ORIGINALLY_SINGLE_PATTERN
+ };
+
+ // Required. The format will be
+ // projects/{project_number}/feeds/{client-assigned_feed_identifier} or
+ // folders/{folder_number}/feeds/{client-assigned_feed_identifier} or
+ // organizations/{organization_number}/feeds/{client-assigned_feed_identifier}
+ //
+ // The client-assigned feed identifier must be unique within the parent
+ // project/folder/organization.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // A list of the full names of the assets to receive updates. You must specify
+ // either or both of asset_names and asset_types. Only asset updates matching
+ // specified asset_names or asset_types are exported to the feed.
+ // Example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // For a list of the full names for supported asset types, see [Resource
+ // name format](/asset-inventory/docs/resource-name-format).
+ repeated string asset_names = 2;
+
+ // A list of types of the assets to receive updates. You must specify either
+ // or both of asset_names and asset_types. Only asset updates matching
+ // specified asset_names or asset_types are exported to the feed.
+ // Example: `"compute.googleapis.com/Disk"`
+ //
+ // For a list of all supported asset types, see
+ // [Supported asset types](/asset-inventory/docs/supported-asset-types).
+ repeated string asset_types = 3;
+
+ // Asset content type. If not specified, no content but the asset name and
+ // type will be returned.
+ ContentType content_type = 4;
+
+ // Required. Feed output configuration defining where the asset updates are
+ // published to.
+ FeedOutputConfig feed_output_config = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // A condition which determines whether an asset update should be published.
+ // If specified, an asset will be returned only when the expression evaluates
+ // to true.
+ // When set, `expression` field in the `Expr` must be a valid [CEL expression]
+ // (https://github.com/google/cel-spec) on a TemporalAsset with name
+ // `temporal_asset`. Example: a Feed with expression ("temporal_asset.deleted
+ // == true") will only publish Asset deletions. Other fields of `Expr` are
+ // optional.
+ //
+ // See our [user
+ // guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes-with-condition)
+ // for detailed instructions.
+ google.type.Expr condition = 6;
+
+ // A list of relationship types to output, for example:
+ // `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if
+ // content_type=RELATIONSHIP.
+ // * If specified:
+ // it outputs specified relationship updates on the [asset_names] or the
+ // [asset_types]. It returns an error if any of the [relationship_types]
+ // doesn't belong to the supported relationship types of the [asset_names] or
+ // [asset_types], or any of the [asset_names] or the [asset_types] doesn't
+ // belong to the source types of the [relationship_types].
+ // * Otherwise:
+ // it outputs the supported relationships of the types of [asset_names] and
+ // [asset_types] or returns an error if any of the [asset_names] or the
+ // [asset_types] has no replationship support.
+ // See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/asset-inventory/docs/overview)
+ // for all supported asset types and relationship types.
+ repeated string relationship_types = 7;
+}
+
+// Search all resources request.
+message SearchAllResourcesRequest {
+ // Required. A scope can be a project, a folder, or an organization. The search is
+ // limited to the resources within the `scope`. The caller must be granted the
+ // [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
+ // permission on the desired scope.
+ //
+ // The allowed values are:
+ //
+ // * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
+ // * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
+ // * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
+ // * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
+ string scope = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The query statement. See [how to construct a
+ // query](https://cloud.google.com/asset-inventory/docs/searching-resources#how_to_construct_a_query)
+ // for more information. If not specified or empty, it will search all the
+ // resources within the specified `scope`.
+ //
+ // Examples:
+ //
+ // * `name:Important` to find Cloud resources whose name contains
+ // "Important" as a word.
+ // * `name=Important` to find the Cloud resource whose name is exactly
+ // "Important".
+ // * `displayName:Impor*` to find Cloud resources whose display name
+ // contains "Impor" as a prefix of any word in the field.
+ // * `location:us-west*` to find Cloud resources whose location contains both
+ // "us" and "west" as prefixes.
+ // * `labels:prod` to find Cloud resources whose labels contain "prod" as
+ // a key or value.
+ // * `labels.env:prod` to find Cloud resources that have a label "env"
+ // and its value is "prod".
+ // * `labels.env:*` to find Cloud resources that have a label "env".
+ // * `kmsKey:key` to find Cloud resources encrypted with a customer-managed
+ // encryption key whose name contains "key" as a word. This field is
+ // deprecated. Please use the `kmsKeys` field to retrieve KMS key
+ // information.
+ // * `kmsKeys:key` to find Cloud resources encrypted with customer-managed
+ // encryption keys whose name contains the word "key".
+ // * `relationships:instance-group-1` to find Cloud resources that have
+ // relationships with "instance-group-1" in the related resource name.
+ // * `relationships:INSTANCE_TO_INSTANCEGROUP` to find compute instances that
+ // have relationships of type "INSTANCE_TO_INSTANCEGROUP".
+ // * `relationships.INSTANCE_TO_INSTANCEGROUP:instance-group-1` to find
+ // compute instances that have relationships with "instance-group-1" in the
+ // compute instance group resource name, for relationship type
+ // "INSTANCE_TO_INSTANCEGROUP".
+ // * `state:ACTIVE` to find Cloud resources whose state contains "ACTIVE" as a
+ // word.
+ // * `NOT state:ACTIVE` to find Cloud resources whose state doesn't contain
+ // "ACTIVE" as a word.
+ // * `createTime<1609459200` to find Cloud resources that were created before
+ // "2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of
+ // "2021-01-01 00:00:00 UTC" in seconds.
+ // * `updateTime>1609459200` to find Cloud resources that were updated after
+ // "2021-01-01 00:00:00 UTC". 1609459200 is the epoch timestamp of
+ // "2021-01-01 00:00:00 UTC" in seconds.
+ // * `Important` to find Cloud resources that contain "Important" as a word
+ // in any of the searchable fields.
+ // * `Impor*` to find Cloud resources that contain "Impor" as a prefix of any
+ // word in any of the searchable fields.
+ // * `Important location:(us-west1 OR global)` to find Cloud
+ // resources that contain "Important" as a word in any of the searchable
+ // fields and are also located in the "us-west1" region or the "global"
+ // location.
+ string query = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A list of asset types that this request searches for. If empty, it will
+ // search all the [searchable asset
+ // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
+ //
+ // Regular expressions are also supported. For example:
+ //
+ // * "compute.googleapis.com.*" snapshots resources whose asset type starts
+ // with "compute.googleapis.com".
+ // * ".*Instance" snapshots resources whose asset type ends with "Instance".
+ // * ".*Instance.*" snapshots resources whose asset type contains "Instance".
+ //
+ // See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
+ // regular expression syntax. If the regular expression does not match any
+ // supported asset type, an INVALID_ARGUMENT error will be returned.
+ repeated string asset_types = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The page size for search result pagination. Page size is capped at 500 even
+ // if a larger value is given. If set to zero, server will pick an appropriate
+ // default. Returned results may be fewer than requested. When this happens,
+ // there could be more results as long as `next_page_token` is returned.
+ int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If present, then retrieve the next batch of results from the preceding call
+ // to this method. `page_token` must be the value of `next_page_token` from
+ // the previous response. The values of all other method parameters, must be
+ // identical to those in the previous call.
+ string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A comma-separated list of fields specifying the sorting order of the
+ // results. The default order is ascending. Add " DESC" after the field name
+ // to indicate descending order. Redundant space characters are ignored.
+ // Example: "location DESC, name".
+ // Only singular primitive fields in the response are sortable:
+ //
+ // * name
+ // * assetType
+ // * project
+ // * displayName
+ // * description
+ // * location
+ // * createTime
+ // * updateTime
+ // * state
+ // * parentFullResourceName
+ // * parentAssetType
+ //
+ // All the other fields such as repeated fields (e.g., `networkTags`,
+ // `kmsKeys`), map fields (e.g., `labels`) and struct fields (e.g.,
+ // `additionalAttributes`) are not supported.
+ string order_by = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A comma-separated list of fields specifying which fields to be returned in
+ // ResourceSearchResult. Only '*' or combination of top level fields can be
+ // specified. Field names of both snake_case and camelCase are supported.
+ // Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
+ //
+ // The read_mask paths must be valid field paths listed but not limited to
+ // (both snake_case and camelCase are supported):
+ //
+ // * name
+ // * assetType
+ // * project
+ // * displayName
+ // * description
+ // * location
+ // * tagKeys
+ // * tagValues
+ // * tagValueIds
+ // * labels
+ // * networkTags
+ // * kmsKey (This field is deprecated. Please use the `kmsKeys` field to
+ // retrieve KMS key information.)
+ // * kmsKeys
+ // * createTime
+ // * updateTime
+ // * state
+ // * additionalAttributes
+ // * versionedResources
+ //
+ // If read_mask is not specified, all fields except versionedResources will
+ // be returned.
+ // If only '*' is specified, all fields including versionedResources will be
+ // returned.
+ // Any invalid field path will trigger INVALID_ARGUMENT error.
+ google.protobuf.FieldMask read_mask = 8 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Search all resources response.
+message SearchAllResourcesResponse {
+ // A list of Resources that match the search query. It contains the resource
+ // standard metadata information.
+ repeated ResourceSearchResult results = 1;
+
+ // If there are more results than those appearing in this response, then
+ // `next_page_token` is included. To get the next set of results, call this
+ // method again using the value of `next_page_token` as `page_token`.
+ string next_page_token = 2;
+}
+
+// Search all IAM policies request.
+message SearchAllIamPoliciesRequest {
+ // Required. A scope can be a project, a folder, or an organization. The search is
+ // limited to the IAM policies within the `scope`. The caller must be granted
+ // the
+ // [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
+ // permission on the desired scope.
+ //
+ // The allowed values are:
+ //
+ // * projects/{PROJECT_ID} (e.g., "projects/foo-bar")
+ // * projects/{PROJECT_NUMBER} (e.g., "projects/12345678")
+ // * folders/{FOLDER_NUMBER} (e.g., "folders/1234567")
+ // * organizations/{ORGANIZATION_NUMBER} (e.g., "organizations/123456")
+ string scope = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The query statement. See [how to construct a
+ // query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)
+ // for more information. If not specified or empty, it will search all the
+ // IAM policies within the specified `scope`. Note that the query string is
+ // compared against each Cloud IAM policy binding, including its principals,
+ // roles, and Cloud IAM conditions. The returned Cloud IAM policies will only
+ // contain the bindings that match your query. To learn more about the IAM
+ // policy structure, see the [IAM policy
+ // documentation](https://cloud.google.com/iam/help/allow-policies/structure).
+ //
+ // Examples:
+ //
+ // * `policy:amy@gmail.com` to find IAM policy bindings that specify user
+ // "amy@gmail.com".
+ // * `policy:roles/compute.admin` to find IAM policy bindings that specify
+ // the Compute Admin role.
+ // * `policy:comp*` to find IAM policy bindings that contain "comp" as a
+ // prefix of any word in the binding.
+ // * `policy.role.permissions:storage.buckets.update` to find IAM policy
+ // bindings that specify a role containing "storage.buckets.update"
+ // permission. Note that if callers don't have `iam.roles.get` access to a
+ // role's included permissions, policy bindings that specify this role will
+ // be dropped from the search results.
+ // * `policy.role.permissions:upd*` to find IAM policy bindings that specify a
+ // role containing "upd" as a prefix of any word in the role permission.
+ // Note that if callers don't have `iam.roles.get` access to a role's
+ // included permissions, policy bindings that specify this role will be
+ // dropped from the search results.
+ // * `resource:organizations/123456` to find IAM policy bindings
+ // that are set on "organizations/123456".
+ // * `resource=//cloudresourcemanager.googleapis.com/projects/myproject` to
+ // find IAM policy bindings that are set on the project named "myproject".
+ // * `Important` to find IAM policy bindings that contain "Important" as a
+ // word in any of the searchable fields (except for the included
+ // permissions).
+ // * `resource:(instance1 OR instance2) policy:amy` to find
+ // IAM policy bindings that are set on resources "instance1" or
+ // "instance2" and also specify user "amy".
+ // * `roles:roles/compute.admin` to find IAM policy bindings that specify the
+ // Compute Admin role.
+ // * `memberTypes:user` to find IAM policy bindings that contain the
+ // principal type "user".
+ string query = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The page size for search result pagination. Page size is capped at 500 even
+ // if a larger value is given. If set to zero, server will pick an appropriate
+ // default. Returned results may be fewer than requested. When this happens,
+ // there could be more results as long as `next_page_token` is returned.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If present, retrieve the next batch of results from the preceding call to
+ // this method. `page_token` must be the value of `next_page_token` from the
+ // previous response. The values of all other method parameters must be
+ // identical to those in the previous call.
+ string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A list of asset types that the IAM policies are attached to. If empty, it
+ // will search the IAM policies that are attached to all the [searchable asset
+ // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
+ //
+ // Regular expressions are also supported. For example:
+ //
+ // * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
+ // starts with "compute.googleapis.com".
+ // * ".*Instance" snapshots IAM policies attached to asset type ends with
+ // "Instance".
+ // * ".*Instance.*" snapshots IAM policies attached to asset type contains
+ // "Instance".
+ //
+ // See [RE2](https://github.com/google/re2/wiki/Syntax) for all supported
+ // regular expression syntax. If the regular expression does not match any
+ // supported asset type, an INVALID_ARGUMENT error will be returned.
+ repeated string asset_types = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A comma-separated list of fields specifying the sorting order of the
+ // results. The default order is ascending. Add " DESC" after the field name
+ // to indicate descending order. Redundant space characters are ignored.
+ // Example: "assetType DESC, resource".
+ // Only singular primitive fields in the response are sortable:
+ // * resource
+ // * assetType
+ // * project
+ // All the other fields such as repeated fields (e.g., `folders`) and
+ // non-primitive fields (e.g., `policy`) are not supported.
+ string order_by = 7 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Search all IAM policies response.
+message SearchAllIamPoliciesResponse {
+ // A list of IamPolicy that match the search query. Related information such
+ // as the associated resource is returned along with the policy.
+ repeated IamPolicySearchResult results = 1;
+
+ // Set if there are more results than those appearing in this response; to get
+ // the next set of results, call this method again, using this value as the
+ // `page_token`.
+ string next_page_token = 2;
+}
+
+// IAM policy analysis query message.
+message IamPolicyAnalysisQuery {
+ // Specifies the resource to analyze for access policies, which may be set
+ // directly on the resource, or on ancestors such as organizations, folders or
+ // projects.
+ message ResourceSelector {
+ // Required. The [full resource name]
+ // (https://cloud.google.com/asset-inventory/docs/resource-name-format)
+ // of a resource of [supported resource
+ // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#analyzable_asset_types).
+ string full_resource_name = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Specifies an identity for which to determine resource access, based on
+ // roles assigned either directly to them or to the groups they belong to,
+ // directly or indirectly.
+ message IdentitySelector {
+ // Required. The identity appear in the form of principals in
+ // [IAM policy
+ // binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
+ //
+ // The examples of supported forms are:
+ // "user:mike@example.com",
+ // "group:admins@example.com",
+ // "domain:google.com",
+ // "serviceAccount:my-project-id@appspot.gserviceaccount.com".
+ //
+ // Notice that wildcard characters (such as * and ?) are not supported.
+ // You must give a specific identity.
+ string identity = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Specifies roles and/or permissions to analyze, to determine both the
+ // identities possessing them and the resources they control. If multiple
+ // values are specified, results will include roles or permissions matching
+ // any of them. The total number of roles and permissions should be equal or
+ // less than 10.
+ message AccessSelector {
+ // Optional. The roles to appear in result.
+ repeated string roles = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The permissions to appear in result.
+ repeated string permissions = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Contains query options.
+ message Options {
+ // Optional. If true, the identities section of the result will expand any
+ // Google groups appearing in an IAM policy binding.
+ //
+ // If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the
+ // identity in the result will be determined by the selector, and this flag
+ // is not allowed to set.
+ //
+ // If true, the default max expansion per group is 1000 for
+ // AssetService.AnalyzeIamPolicy][].
+ //
+ // Default is false.
+ bool expand_groups = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the access section of result will expand any roles
+ // appearing in IAM policy bindings to include their permissions.
+ //
+ // If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access
+ // section of the result will be determined by the selector, and this flag
+ // is not allowed to set.
+ //
+ // Default is false.
+ bool expand_roles = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not
+ // specified, the resource section of the result will expand any resource
+ // attached to an IAM policy to include resources lower in the resource
+ // hierarchy.
+ //
+ // For example, if the request analyzes for which resources user A has
+ // permission P, and the results include an IAM policy with P on a GCP
+ // folder, the results will also include resources in that folder with
+ // permission P.
+ //
+ // If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified,
+ // the resource section of the result will expand the specified resource to
+ // include resources lower in the resource hierarchy. Only project or
+ // lower resources are supported. Folder and organization resource cannot be
+ // used together with this option.
+ //
+ // For example, if the request analyzes for which users have permission P on
+ // a GCP project with this option enabled, the results will include all
+ // users who have permission P on that project or any lower resource.
+ //
+ // If true, the default max expansion per resource is 1000 for
+ // AssetService.AnalyzeIamPolicy][] and 100000 for
+ // AssetService.AnalyzeIamPolicyLongrunning][].
+ //
+ // Default is false.
+ bool expand_resources = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the result will output the relevant parent/child relationships
+ // between resources.
+ // Default is false.
+ bool output_resource_edges = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the result will output the relevant membership relationships
+ // between groups and other groups, and between groups and principals.
+ // Default is false.
+ bool output_group_edges = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the response will include access analysis from identities to
+ // resources via service account impersonation. This is a very expensive
+ // operation, because many derived queries will be executed. We highly
+ // recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc
+ // instead.
+ //
+ // For example, if the request analyzes for which resources user A has
+ // permission P, and there's an IAM policy states user A has
+ // iam.serviceAccounts.getAccessToken permission to a service account SA,
+ // and there's another IAM policy states service account SA has permission P
+ // to a GCP folder F, then user A potentially has access to the GCP folder
+ // F. And those advanced analysis results will be included in
+ // [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
+ //
+ // Another example, if the request analyzes for who has
+ // permission P to a GCP folder F, and there's an IAM policy states user A
+ // has iam.serviceAccounts.actAs permission to a service account SA, and
+ // there's another IAM policy states service account SA has permission P to
+ // the GCP folder F, then user A potentially has access to the GCP folder
+ // F. And those advanced analysis results will be included in
+ // [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
+ //
+ // Only the following permissions are considered in this analysis:
+ //
+ // * `iam.serviceAccounts.actAs`
+ // * `iam.serviceAccounts.signBlob`
+ // * `iam.serviceAccounts.signJwt`
+ // * `iam.serviceAccounts.getAccessToken`
+ // * `iam.serviceAccounts.getOpenIdToken`
+ // * `iam.serviceAccounts.implicitDelegation`
+ //
+ // Default is false.
+ bool analyze_service_account_impersonation = 6 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // The IAM conditions context.
+ message ConditionContext {
+ // The IAM conditions time context.
+ oneof TimeContext {
+ // The hypothetical access timestamp to evaluate IAM conditions. Note that
+ // this value must not be earlier than the current time; otherwise, an
+ // INVALID_ARGUMENT error will be returned.
+ google.protobuf.Timestamp access_time = 1;
+ }
+ }
+
+ // Required. The relative name of the root asset. Only resources and IAM policies within
+ // the scope will be analyzed.
+ //
+ // This can only be an organization number (such as "organizations/123"), a
+ // folder number (such as "folders/123"), a project ID (such as
+ // "projects/my-project-id"), or a project number (such as "projects/12345").
+ //
+ // To know how to get organization id, visit [here
+ // ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ //
+ // To know how to get folder or project id, visit [here
+ // ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
+ string scope = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Specifies a resource for analysis.
+ ResourceSelector resource_selector = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies an identity for analysis.
+ IdentitySelector identity_selector = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies roles or permissions for analysis. This is optional.
+ AccessSelector access_selector = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The query options.
+ Options options = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The hypothetical context for IAM conditions evaluation.
+ ConditionContext condition_context = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
+message AnalyzeIamPolicyRequest {
+ // Required. The request query.
+ IamPolicyAnalysisQuery analysis_query = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The name of a saved query, which must be in the format of:
+ //
+ // * projects/project_number/savedQueries/saved_query_id
+ // * folders/folder_number/savedQueries/saved_query_id
+ // * organizations/organization_number/savedQueries/saved_query_id
+ //
+ // If both `analysis_query` and `saved_analysis_query` are provided, they
+ // will be merged together with the `saved_analysis_query` as base and
+ // the `analysis_query` as overrides. For more details of the merge behavior,
+ // please refer to the
+ // [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
+ // page.
+ //
+ // Note that you cannot override primitive fields with default value, such as
+ // 0 or empty string, etc., because we use proto3, which doesn't support field
+ // presence yet.
+ string saved_analysis_query = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Amount of time executable has to complete. See JSON representation of
+ // [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
+ //
+ // If this field is set with a value less than the RPC deadline, and the
+ // execution of your query hasn't finished in the specified
+ // execution timeout, you will get a response with partial result.
+ // Otherwise, your query's execution will continue until the RPC deadline.
+ // If it's not finished until then, you will get a DEADLINE_EXCEEDED error.
+ //
+ // Default is empty.
+ google.protobuf.Duration execution_timeout = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A response message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
+message AnalyzeIamPolicyResponse {
+ // An analysis message to group the query and results.
+ message IamPolicyAnalysis {
+ // The analysis query.
+ IamPolicyAnalysisQuery analysis_query = 1;
+
+ // A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
+ // empty if no result is found.
+ repeated IamPolicyAnalysisResult analysis_results = 2;
+
+ // Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
+ // fully explored to answer the query.
+ bool fully_explored = 3;
+
+ // A list of non-critical errors happened during the query handling.
+ repeated IamPolicyAnalysisState non_critical_errors = 5;
+ }
+
+ // The main analysis that matches the original request.
+ IamPolicyAnalysis main_analysis = 1;
+
+ // The service account impersonation analysis if
+ // [AnalyzeIamPolicyRequest.analyze_service_account_impersonation][] is
+ // enabled.
+ repeated IamPolicyAnalysis service_account_impersonation_analysis = 2;
+
+ // Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and
+ // [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
+ // answer the query in the request.
+ bool fully_explored = 3;
+}
+
+// Output configuration for export IAM policy analysis destination.
+message IamPolicyAnalysisOutputConfig {
+ // A Cloud Storage location.
+ message GcsDestination {
+ // Required. The uri of the Cloud Storage object. It's the same uri that is used by
+ // gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
+ // Editing Object
+ // Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
+ // for more information.
+ //
+ // If the specified Cloud Storage object already exists and there is no
+ // [hold](https://cloud.google.com/storage/docs/object-holds), it will be
+ // overwritten with the analysis result.
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // A BigQuery destination.
+ message BigQueryDestination {
+ // This enum determines the partition key column for the bigquery tables.
+ // Partitioning can improve query performance and reduce query cost by
+ // filtering partitions. Refer to
+ // https://cloud.google.com/bigquery/docs/partitioned-tables for details.
+ enum PartitionKey {
+ // Unspecified partition key. Tables won't be partitioned using this
+ // option.
+ PARTITION_KEY_UNSPECIFIED = 0;
+
+ // The time when the request is received. If specified as partition key,
+ // the result table(s) is partitoned by the RequestTime column, an
+ // additional timestamp column representing when the request was received.
+ REQUEST_TIME = 1;
+ }
+
+ // Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
+ // to which the analysis results should be exported. If this dataset does
+ // not exist, the export call will return an INVALID_ARGUMENT error.
+ string dataset = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The prefix of the BigQuery tables to which the analysis results will be
+ // written. Tables will be created based on this table_prefix if not exist:
+ // * _analysis table will contain export operation's metadata.
+ // * _analysis_result will contain all the
+ // [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
+ // When [partition_key] is specified, both tables will be partitioned based
+ // on the [partition_key].
+ string table_prefix = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The partition key for BigQuery partitioned table.
+ PartitionKey partition_key = 3;
+
+ // Optional. Specifies the action that occurs if the destination table or partition
+ // already exists. The following values are supported:
+ //
+ // * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
+ // overwrites the entire table or all the partitions data.
+ // * WRITE_APPEND: If the table or partition already exists, BigQuery
+ // appends the data to the table or the latest partition.
+ // * WRITE_EMPTY: If the table already exists and contains data, an error is
+ // returned.
+ //
+ // The default value is WRITE_APPEND. Each action is atomic and only occurs
+ // if BigQuery is able to complete the job successfully. Details are at
+ // https://cloud.google.com/bigquery/docs/loading-data-local#appending_to_or_overwriting_a_table_using_a_local_file.
+ string write_disposition = 4 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // IAM policy analysis export destination.
+ oneof destination {
+ // Destination on Cloud Storage.
+ GcsDestination gcs_destination = 1;
+
+ // Destination on BigQuery.
+ BigQueryDestination bigquery_destination = 2;
+ }
+}
+
+// A request message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
+message AnalyzeIamPolicyLongrunningRequest {
+ // Required. The request query.
+ IamPolicyAnalysisQuery analysis_query = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The name of a saved query, which must be in the format of:
+ //
+ // * projects/project_number/savedQueries/saved_query_id
+ // * folders/folder_number/savedQueries/saved_query_id
+ // * organizations/organization_number/savedQueries/saved_query_id
+ //
+ // If both `analysis_query` and `saved_analysis_query` are provided, they
+ // will be merged together with the `saved_analysis_query` as base and
+ // the `analysis_query` as overrides. For more details of the merge behavior,
+ // please refer to the
+ // [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
+ // doc.
+ //
+ // Note that you cannot override primitive fields with default value, such as
+ // 0 or empty string, etc., because we use proto3, which doesn't support field
+ // presence yet.
+ string saved_analysis_query = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Output configuration indicating where the results will be output to.
+ IamPolicyAnalysisOutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A response message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
+message AnalyzeIamPolicyLongrunningResponse {
+
+}
+
+// A saved query which can be shared with others or used later.
+message SavedQuery {
+ option (google.api.resource) = {
+ type: "cloudasset.googleapis.com/SavedQuery"
+ pattern: "projects/{project}/savedQueries/{saved_query}"
+ pattern: "folders/{folder}/savedQueries/{saved_query}"
+ pattern: "organizations/{organization}/savedQueries/{saved_query}"
+ };
+
+ // The query content.
+ message QueryContent {
+ oneof query_content {
+ // An IAM Policy Analysis query, which could be used in
+ // the [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy] rpc or
+ // the [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc.
+ IamPolicyAnalysisQuery iam_policy_analysis_query = 1;
+ }
+ }
+
+ // The resource name of the saved query. The format must be:
+ //
+ // * projects/project_number/savedQueries/saved_query_id
+ // * folders/folder_number/savedQueries/saved_query_id
+ // * organizations/organization_number/savedQueries/saved_query_id
+ string name = 1;
+
+ // The description of this saved query. This value should be fewer than 255
+ // characters.
+ string description = 2;
+
+ // Output only. The create time of this saved query.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The account's email address who has created this saved query.
+ string creator = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update time of this saved query.
+ google.protobuf.Timestamp last_update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The account's email address who has updated this saved query most recently.
+ string last_updater = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Labels applied on the resource.
+ // This value should not contain more than 10 entries. The key and value of
+ // each entry must be non-empty and fewer than 64 characters.
+ map labels = 7;
+
+ // The query content.
+ QueryContent content = 8;
+}
+
+// Request to create a saved query.
+message CreateSavedQueryRequest {
+ // Required. The name of the project/folder/organization where this saved_query
+ // should be created in. It can only be an organization number (such as
+ // "organizations/123"), a folder number (such as "folders/123"), a project ID
+ // (such as "projects/my-project-id")", or a project number (such as
+ // "projects/12345").
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/SavedQuery"
+ }
+ ];
+
+ // Required. The saved_query details. The `name` field must be empty as it will be
+ // generated based on the parent and saved_query_id.
+ SavedQuery saved_query = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The ID to use for the saved query, which must be unique in the specified
+ // parent. It will become the final component of the saved query's resource
+ // name.
+ //
+ // This value should be 4-63 characters, and valid characters
+ // are /[a-z][0-9]-/.
+ //
+ // Notice that this field is required in the saved query creation, and the
+ // `name` field of the `saved_query` will be ignored.
+ string saved_query_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request to get a saved query.
+message GetSavedQueryRequest {
+ // Required. The name of the saved query and it must be in the format of:
+ //
+ // * projects/project_number/savedQueries/saved_query_id
+ // * folders/folder_number/savedQueries/saved_query_id
+ // * organizations/organization_number/savedQueries/saved_query_id
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudasset.googleapis.com/SavedQuery"
+ }
+ ];
+}
+
+// Request to list saved queries.
+message ListSavedQueriesRequest {
+ // Required. The parent project/folder/organization whose savedQueries are to be
+ // listed. It can only be using project/folder/organization number (such as
+ // "folders/12345")", or a project ID (such as "projects/my-project-id").
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/SavedQuery"
+ }
+ ];
+
+ // Optional. The expression to filter resources.
+ // The expression is a list of zero or more restrictions combined via logical
+ // operators `AND` and `OR`. When `AND` and `OR` are both used in the
+ // expression, parentheses must be appropriately used to group the
+ // combinations. The expression may also contain regular expressions.
+ //
+ // See https://google.aip.dev/160 for more information on the grammar.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum number of saved queries to return per page. The service may
+ // return fewer than this value. If unspecified, at most 50 will be returned.
+ // The maximum value is 1000; values above 1000 will be coerced to 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListSavedQueries` call.
+ // Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to `ListSavedQueries` must
+ // match the call that provided the page token.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response of listing saved queries.
+message ListSavedQueriesResponse {
+ // A list of savedQueries.
+ repeated SavedQuery saved_queries = 1;
+
+ // A token, which can be sent as `page_token` to retrieve the next page.
+ // If this field is omitted, there are no subsequent pages.
+ string next_page_token = 2;
+}
+
+// Request to update a saved query.
+message UpdateSavedQueryRequest {
+ // Required. The saved query to update.
+ //
+ // The saved query's `name` field is used to identify the one to update,
+ // which has format as below:
+ //
+ // * projects/project_number/savedQueries/saved_query_id
+ // * folders/folder_number/savedQueries/saved_query_id
+ // * organizations/organization_number/savedQueries/saved_query_id
+ SavedQuery saved_query = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The list of fields to update.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request to delete a saved query.
+message DeleteSavedQueryRequest {
+ // Required. The name of the saved query to delete. It must be in the format of:
+ //
+ // * projects/project_number/savedQueries/saved_query_id
+ // * folders/folder_number/savedQueries/saved_query_id
+ // * organizations/organization_number/savedQueries/saved_query_id
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudasset.googleapis.com/SavedQuery"
+ }
+ ];
+}
+
+// The request message for performing resource move analysis.
+message AnalyzeMoveRequest {
+ // View enum for supporting partial analysis responses.
+ enum AnalysisView {
+ // The default/unset value.
+ // The API will default to the FULL view.
+ ANALYSIS_VIEW_UNSPECIFIED = 0;
+
+ // Full analysis including all level of impacts of the specified resource
+ // move.
+ FULL = 1;
+
+ // Basic analysis only including blockers which will prevent the specified
+ // resource move at runtime.
+ BASIC = 2;
+ }
+
+ // Required. Name of the resource to perform the analysis against.
+ // Only GCP Project are supported as of today. Hence, this can only be Project
+ // ID (such as "projects/my-project-id") or a Project Number (such as
+ // "projects/12345").
+ string resource = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Name of the GCP Folder or Organization to reparent the target
+ // resource. The analysis will be performed against hypothetically moving the
+ // resource to this specified desitination parent. This can only be a Folder
+ // number (such as "folders/123") or an Organization number (such as
+ // "organizations/123").
+ string destination_parent = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Analysis view indicating what information should be included in the
+ // analysis response. If unspecified, the default view is FULL.
+ AnalysisView view = 3;
+}
+
+// The response message for resource move analysis.
+message AnalyzeMoveResponse {
+ // The list of analyses returned from performing the intended resource move
+ // analysis. The analysis is grouped by different Cloud services.
+ repeated MoveAnalysis move_analysis = 1;
+}
+
+// A message to group the analysis information.
+message MoveAnalysis {
+ // The user friendly display name of the analysis. E.g. IAM, Organization
+ // Policy etc.
+ string display_name = 1;
+
+ oneof result {
+ // Analysis result of moving the target resource.
+ MoveAnalysisResult analysis = 2;
+
+ // Description of error encountered when performing the analysis.
+ google.rpc.Status error = 3;
+ }
+}
+
+// An analysis result including blockers and warnings.
+message MoveAnalysisResult {
+ // Blocking information that would prevent the target resource from moving
+ // to the specified destination at runtime.
+ repeated MoveImpact blockers = 1;
+
+ // Warning information indicating that moving the target resource to the
+ // specified destination might be unsafe. This can include important policy
+ // information and configuration changes, but will not block moves at runtime.
+ repeated MoveImpact warnings = 2;
+}
+
+// A message to group impacts of moving the target resource.
+message MoveImpact {
+ // User friendly impact detail in a free form message.
+ string detail = 1;
+}
+
+// Output configuration query assets.
+message QueryAssetsOutputConfig {
+ // BigQuery destination.
+ message BigQueryDestination {
+ // Required. The BigQuery dataset where the query results will be saved. It has the
+ // format of "projects/{projectId}/datasets/{datasetId}".
+ string dataset = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The BigQuery table where the query results will be saved. If this table
+ // does not exist, a new table with the given name will be created.
+ string table = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Specifies the action that occurs if the destination table or partition
+ // already exists. The following values are supported:
+ //
+ // * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
+ // overwrites the entire table or all the partitions data.
+ // * WRITE_APPEND: If the table or partition already exists, BigQuery
+ // appends the data to the table or the latest partition.
+ // * WRITE_EMPTY: If the table already exists and contains data, a
+ // 'duplicate' error is returned in the job result.
+ //
+ // The default value is WRITE_EMPTY.
+ string write_disposition = 3;
+ }
+
+ // BigQuery destination where the query results will be saved.
+ BigQueryDestination bigquery_destination = 1;
+}
+
+// QueryAssets request.
+message QueryAssetsRequest {
+ // Required. The relative name of the root asset. This can only be an
+ // organization number (such as "organizations/123"), a project ID (such as
+ // "projects/my-project-id"), or a project number (such as "projects/12345"),
+ // or a folder number (such as "folders/123").
+ //
+ // Only assets belonging to the `parent` will be returned.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/Asset"
+ }
+ ];
+
+ oneof query {
+ // Optional. A SQL statement that's compatible with [BigQuery Standard
+ // SQL](http://cloud/bigquery/docs/reference/standard-sql/enabling-standard-sql).
+ string statement = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Reference to the query job, which is from the `QueryAssetsResponse` of
+ // previous `QueryAssets` call.
+ string job_reference = 3 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. The maximum number of rows to return in the results. Responses are limited
+ // to 10 MB and 1000 rows.
+ //
+ // By default, the maximum row count is 1000. When the byte or row count limit
+ // is reached, the rest of the query results will be paginated.
+ //
+ // The field will be ignored when [output_config] is specified.
+ int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token received from previous `QueryAssets`.
+ //
+ // The field will be ignored when [output_config] is specified.
+ string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies the maximum amount of time that the client is willing to wait
+ // for the query to complete. By default, this limit is 5 min for the first
+ // query, and 1 minute for the following queries. If the query is complete,
+ // the `done` field in the `QueryAssetsResponse` is true, otherwise false.
+ //
+ // Like BigQuery [jobs.query
+ // API](https://cloud.google.com/bigquery/docs/reference/rest/v2/jobs/query#queryrequest)
+ // The call is not guaranteed to wait for the specified timeout; it typically
+ // returns after around 200 seconds (200,000 milliseconds), even if the query
+ // is not complete.
+ //
+ // The field will be ignored when [output_config] is specified.
+ google.protobuf.Duration timeout = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Specifies what time period or point in time to query asset metadata at.
+ // * unset - query asset metadata as it is right now
+ // * [read_time_window] - query asset metadata as it was at any point in time
+ // between [start_time] and [end_time].
+ // * [read_time] - query asset metadata as it was at that point in time.
+ // If data for the timestamp/date range selected does not exist,
+ // it will simply return a valid response with no rows.
+ oneof time {
+ // Optional. [start_time] is required. [start_time] must be less than [end_time]
+ // Defaults [end_time] to now if [start_time] is set and [end_time] isn't.
+ // Maximum permitted time range is 7 days.
+ TimeWindow read_time_window = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Queries cloud assets as they appeared at the specified point in time.
+ google.protobuf.Timestamp read_time = 8 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. Destination where the query results will be saved.
+ //
+ // When this field is specified, the query results won't be saved in the
+ // [QueryAssetsResponse.query_result]. Instead
+ // [QueryAssetsResponse.output_config] will be set.
+ //
+ // Meanwhile, [QueryAssetsResponse.job_reference] will be set and can be used
+ // to check the status of the query job when passed to a following
+ // [QueryAssets] API call.
+ QueryAssetsOutputConfig output_config = 9 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// QueryAssets response.
+message QueryAssetsResponse {
+ // Reference to a query job.
+ string job_reference = 1;
+
+ // The query response, which can be either an `error` or a valid `response`.
+ //
+ // If `done` == `false` and the query result is being saved in a output, the
+ // output_config field will be set.
+ // If `done` == `true`, exactly one of
+ // `error`, `query_result` or `output_config` will be set.
+ bool done = 2;
+
+ oneof response {
+ // Error status.
+ google.rpc.Status error = 3;
+
+ // Result of the query.
+ QueryResult query_result = 4;
+
+ // Output configuration which indicates instead of being returned in API
+ // response on the fly, the query result will be saved in a specific output.
+ QueryAssetsOutputConfig output_config = 5;
+ }
+}
+
+// Execution results of the query.
+//
+// The result is formatted as rows represented by BigQuery compatible [schema].
+// When pagination is necessary, it will contains the page token to retrieve
+// the results of following pages.
+message QueryResult {
+ // Each row hold a query result in the format of `Struct`.
+ repeated google.protobuf.Struct rows = 1;
+
+ // Describes the format of the [rows].
+ TableSchema schema = 2;
+
+ // Token to retrieve the next page of the results.
+ string next_page_token = 3;
+
+ // Total rows of the whole query results.
+ int64 total_rows = 4;
+}
+
+// BigQuery Compatible table schema.
+message TableSchema {
+ // Describes the fields in a table.
+ repeated TableFieldSchema fields = 1;
+}
+
+// A field in TableSchema.
+message TableFieldSchema {
+ // The field name. The name must contain only letters (a-z, A-Z),
+ // numbers (0-9), or underscores (_), and must start with a letter or
+ // underscore. The maximum length is 128 characters.
+ string field = 1;
+
+ // The field data type. Possible values include
+ // * STRING
+ // * BYTES
+ // * INTEGER
+ // * FLOAT
+ // * BOOLEAN
+ // * TIMESTAMP
+ // * DATE
+ // * TIME
+ // * DATETIME
+ // * GEOGRAPHY,
+ // * NUMERIC,
+ // * BIGNUMERIC,
+ // * RECORD
+ // (where RECORD indicates that the field contains a nested schema).
+ string type = 2;
+
+ // The field mode. Possible values include NULLABLE, REQUIRED and
+ // REPEATED. The default value is NULLABLE.
+ string mode = 3;
+
+ // Describes the nested schema fields if the type property is set
+ // to RECORD.
+ repeated TableFieldSchema fields = 4;
+}
+
+// A request message for [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies].
+message BatchGetEffectiveIamPoliciesRequest {
+ // Required. Only IAM policies on or below the scope will be returned.
+ //
+ // This can only be an organization number (such as "organizations/123"), a
+ // folder number (such as "folders/123"), a project ID (such as
+ // "projects/my-project-id"), or a project number (such as "projects/12345").
+ //
+ // To know how to get organization id, visit [here
+ // ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
+ //
+ // To know how to get folder or project id, visit [here
+ // ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
+ string scope = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "*"
+ }
+ ];
+
+ // Required. The names refer to the [full_resource_names]
+ // (https://cloud.google.com/asset-inventory/docs/resource-name-format)
+ // of [searchable asset
+ // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
+ // A maximum of 20 resources' effective policies can be retrieved in a batch.
+ repeated string names = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "*"
+ }
+ ];
+}
+
+// A response message for [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies].
+message BatchGetEffectiveIamPoliciesResponse {
+ // The effective IAM policies on one resource.
+ message EffectiveIamPolicy {
+ // The IAM policy and its attached resource.
+ message PolicyInfo {
+ // The full resource name the [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy] is directly attached to.
+ string attached_resource = 1;
+
+ // The IAM policy that's directly attached to the [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
+ google.iam.v1.Policy policy = 2;
+ }
+
+ // The [full_resource_name]
+ // (https://cloud.google.com/asset-inventory/docs/resource-name-format)
+ // for which the [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies] are computed. This is one of the
+ // [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names] the caller provides in the
+ // request.
+ string full_resource_name = 1;
+
+ // The effective policies for the [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
+ //
+ // These policies include the policy set on the [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name] and
+ // those set on its parents and ancestors up to the
+ // [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope]. Note that these policies
+ // are not filtered according to the resource type of the
+ // [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
+ //
+ // These policies are hierarchically ordered by
+ // [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource] starting from [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
+ // itself to its parents and ancestors, such that policies[i]'s
+ // [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource] is the child of policies[i+1]'s
+ // [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource], if policies[i+1] exists.
+ repeated PolicyInfo policies = 2;
+ }
+
+ // The effective policies for a batch of resources. Note that the results
+ // order is the same as the order of
+ // [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]. When a resource does not
+ // have any effective IAM policies, its corresponding policy_result will
+ // contain empty [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
+ repeated EffectiveIamPolicy policy_results = 2;
+}
+
+// Asset content type.
+enum ContentType {
+ // Unspecified content type.
+ CONTENT_TYPE_UNSPECIFIED = 0;
+
+ // Resource metadata.
+ RESOURCE = 1;
+
+ // The actual IAM policy set on a resource.
+ IAM_POLICY = 2;
+
+ // The Cloud Organization Policy set on an asset.
+ ORG_POLICY = 4;
+
+ // The Cloud Access context manager Policy set on an asset.
+ ACCESS_POLICY = 5;
+
+ // The runtime OS Inventory information.
+ OS_INVENTORY = 6;
+
+ // The related resources.
+ RELATIONSHIP = 7;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1/assets.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1/assets.proto
new file mode 100644
index 00000000000..8f22b5031f4
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1/assets.proto
@@ -0,0 +1,927 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/orgpolicy/v1/orgpolicy.proto";
+import "google/cloud/osconfig/v1/inventory.proto";
+import "google/iam/v1/policy.proto";
+import "google/identity/accesscontextmanager/v1/access_level.proto";
+import "google/identity/accesscontextmanager/v1/access_policy.proto";
+import "google/identity/accesscontextmanager/v1/service_perimeter.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/code.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Asset.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetProto";
+option java_package = "com.google.cloud.asset.v1";
+option php_namespace = "Google\\Cloud\\Asset\\V1";
+
+// An asset in Google Cloud and its temporal metadata, including the time window
+// when it was observed and its status during that window.
+message TemporalAsset {
+ // State of prior asset.
+ enum PriorAssetState {
+ // prior_asset is not applicable for the current asset.
+ PRIOR_ASSET_STATE_UNSPECIFIED = 0;
+
+ // prior_asset is populated correctly.
+ PRESENT = 1;
+
+ // Failed to set prior_asset.
+ INVALID = 2;
+
+ // Current asset is the first known state.
+ DOES_NOT_EXIST = 3;
+
+ // prior_asset is a deletion.
+ DELETED = 4;
+ }
+
+ // The time window when the asset data and state was observed.
+ TimeWindow window = 1;
+
+ // Whether the asset has been deleted or not.
+ bool deleted = 2;
+
+ // An asset in Google Cloud.
+ Asset asset = 3;
+
+ // State of prior_asset.
+ PriorAssetState prior_asset_state = 4;
+
+ // Prior copy of the asset. Populated if prior_asset_state is PRESENT.
+ // Currently this is only set for responses in Real-Time Feed.
+ Asset prior_asset = 5;
+}
+
+// A time window specified by its `start_time` and `end_time`.
+message TimeWindow {
+ // Start time of the time window (exclusive).
+ google.protobuf.Timestamp start_time = 1;
+
+ // End time of the time window (inclusive). If not specified, the current
+ // timestamp is used instead.
+ google.protobuf.Timestamp end_time = 2;
+}
+
+// An asset in Google Cloud. An asset can be any resource in the Google Cloud
+// [resource
+// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
+// a resource outside the Google Cloud resource hierarchy (such as Google
+// Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy),
+// or a relationship (e.g. an INSTANCE_TO_INSTANCEGROUP relationship).
+// See [Supported asset
+// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
+// for more information.
+message Asset {
+ option (google.api.resource) = {
+ type: "cloudasset.googleapis.com/Asset"
+ pattern: "*"
+ };
+
+ // The last update timestamp of an asset. update_time is updated when
+ // create/update/delete operation is performed.
+ google.protobuf.Timestamp update_time = 11;
+
+ // The full name of the asset. Example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`
+ //
+ // See [Resource
+ // names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ string name = 1;
+
+ // The type of the asset. Example: `compute.googleapis.com/Disk`
+ //
+ // See [Supported asset
+ // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
+ // for more information.
+ string asset_type = 2;
+
+ // A representation of the resource.
+ Resource resource = 3;
+
+ // A representation of the Cloud IAM policy set on a Google Cloud resource.
+ // There can be a maximum of one Cloud IAM policy set on any given resource.
+ // In addition, Cloud IAM policies inherit their granted access scope from any
+ // policies set on parent resources in the resource hierarchy. Therefore, the
+ // effectively policy is the union of both the policy set on this resource
+ // and each policy set on all of the resource's ancestry resource levels in
+ // the hierarchy. See
+ // [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance)
+ // for more information.
+ google.iam.v1.Policy iam_policy = 4;
+
+ // A representation of an [organization
+ // policy](https://cloud.google.com/resource-manager/docs/organization-policy/overview#organization_policy).
+ // There can be more than one organization policy with different constraints
+ // set on a given resource.
+ repeated google.cloud.orgpolicy.v1.Policy org_policy = 6;
+
+ // A representation of an [access
+ // policy](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
+ oneof access_context_policy {
+ // Please also refer to the [access policy user
+ // guide](https://cloud.google.com/access-context-manager/docs/overview#access-policies).
+ google.identity.accesscontextmanager.v1.AccessPolicy access_policy = 7;
+
+ // Please also refer to the [access level user
+ // guide](https://cloud.google.com/access-context-manager/docs/overview#access-levels).
+ google.identity.accesscontextmanager.v1.AccessLevel access_level = 8;
+
+ // Please also refer to the [service perimeter user
+ // guide](https://cloud.google.com/vpc-service-controls/docs/overview).
+ google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = 9;
+ }
+
+ // A representation of runtime OS Inventory information. See [this
+ // topic](https://cloud.google.com/compute/docs/instances/os-inventory-management)
+ // for more information.
+ google.cloud.osconfig.v1.Inventory os_inventory = 12;
+
+ // DEPRECATED. This field only presents for the purpose of
+ // backward-compatibility. The server will never generate responses with this
+ // field.
+ // The related assets of the asset of one relationship type. One asset
+ // only represents one type of relationship.
+ RelatedAssets related_assets = 13 [deprecated = true];
+
+ // One related asset of the current asset.
+ RelatedAsset related_asset = 15;
+
+ // The ancestry path of an asset in Google Cloud [resource
+ // hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
+ // represented as a list of relative resource names. An ancestry path starts
+ // with the closest ancestor in the hierarchy and ends at root. If the asset
+ // is a project, folder, or organization, the ancestry path starts from the
+ // asset itself.
+ //
+ // Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
+ repeated string ancestors = 10;
+}
+
+// A representation of a Google Cloud resource.
+message Resource {
+ // The API version. Example: `v1`
+ string version = 1;
+
+ // The URL of the discovery document containing the resource's JSON schema.
+ // Example:
+ // `https://www.googleapis.com/discovery/v1/apis/compute/v1/rest`
+ //
+ // This value is unspecified for resources that do not have an API based on a
+ // discovery document, such as Cloud Bigtable.
+ string discovery_document_uri = 2;
+
+ // The JSON schema name listed in the discovery document. Example:
+ // `Project`
+ //
+ // This value is unspecified for resources that do not have an API based on a
+ // discovery document, such as Cloud Bigtable.
+ string discovery_name = 3;
+
+ // The REST URL for accessing the resource. An HTTP `GET` request using this
+ // URL returns the resource itself. Example:
+ // `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`
+ //
+ // This value is unspecified for resources without a REST API.
+ string resource_url = 4;
+
+ // The full name of the immediate parent of this resource. See
+ // [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ //
+ // For Google Cloud assets, this value is the parent resource defined in the
+ // [Cloud IAM policy
+ // hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
+ // Example:
+ // `//cloudresourcemanager.googleapis.com/projects/my_project_123`
+ //
+ // For third-party assets, this field may be set differently.
+ string parent = 5;
+
+ // The content of the resource, in which some sensitive fields are removed
+ // and may not be present.
+ google.protobuf.Struct data = 6;
+
+ // The location of the resource in Google Cloud, such as its zone and region.
+ // For more information, see https://cloud.google.com/about/locations/.
+ string location = 8;
+}
+
+// DEPRECATED. This message only presents for the purpose of
+// backward-compatibility. The server will never populate this message in
+// responses.
+// The detailed related assets with the `relationship_type`.
+message RelatedAssets {
+ option deprecated = true;
+
+ // The detailed relationship attributes.
+ RelationshipAttributes relationship_attributes = 1;
+
+ // The peer resources of the relationship.
+ repeated RelatedAsset assets = 2;
+}
+
+// DEPRECATED. This message only presents for the purpose of
+// backward-compatibility. The server will never populate this message in
+// responses.
+// The relationship attributes which include `type`, `source_resource_type`,
+// `target_resource_type` and `action`.
+message RelationshipAttributes {
+ option deprecated = true;
+
+ // The unique identifier of the relationship type. Example:
+ // `INSTANCE_TO_INSTANCEGROUP`
+ string type = 4;
+
+ // The source asset type. Example: `compute.googleapis.com/Instance`
+ string source_resource_type = 1;
+
+ // The target asset type. Example: `compute.googleapis.com/Disk`
+ string target_resource_type = 2;
+
+ // The detail of the relationship, e.g. `contains`, `attaches`
+ string action = 3;
+}
+
+// An asset identifier in Google Cloud which contains its name, type and
+// ancestors. An asset can be any resource in the Google Cloud [resource
+// hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
+// a resource outside the Google Cloud resource hierarchy (such as Google
+// Kubernetes Engine clusters and objects), or a policy (e.g. Cloud IAM policy).
+// See [Supported asset
+// types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
+// for more information.
+message RelatedAsset {
+ // The full name of the asset. Example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`
+ //
+ // See [Resource
+ // names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ string asset = 1 [(google.api.resource_reference) = {
+ type: "cloudasset.googleapis.com/Asset"
+ }];
+
+ // The type of the asset. Example: `compute.googleapis.com/Disk`
+ //
+ // See [Supported asset
+ // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
+ // for more information.
+ string asset_type = 2;
+
+ // The ancestors of an asset in Google Cloud [resource
+ // hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
+ // represented as a list of relative resource names. An ancestry path starts
+ // with the closest ancestor in the hierarchy and ends at root.
+ //
+ // Example: `["projects/123456789", "folders/5432", "organizations/1234"]`
+ repeated string ancestors = 3;
+
+ // The unique identifier of the relationship type. Example:
+ // `INSTANCE_TO_INSTANCEGROUP`
+ string relationship_type = 4;
+}
+
+// A result of Resource Search, containing information of a cloud resource.
+// Next ID: 31
+message ResourceSearchResult {
+ // The full resource name of this resource. Example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Cloud Asset Inventory Resource Name
+ // Format](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+ // for more information.
+ //
+ // To search against the `name`:
+ //
+ // * Use a field query. Example: `name:instance1`
+ // * Use a free text query. Example: `instance1`
+ string name = 1;
+
+ // The type of this resource. Example: `compute.googleapis.com/Disk`.
+ //
+ // To search against the `asset_type`:
+ //
+ // * Specify the `asset_type` field in your search request.
+ string asset_type = 2;
+
+ // The project that this resource belongs to, in the form of
+ // projects/{PROJECT_NUMBER}. This field is available when the resource
+ // belongs to a project.
+ //
+ // To search against `project`:
+ //
+ // * Use a field query. Example: `project:12345`
+ // * Use a free text query. Example: `12345`
+ // * Specify the `scope` field as this project in your search request.
+ string project = 3;
+
+ // The folder(s) that this resource belongs to, in the form of
+ // folders/{FOLDER_NUMBER}. This field is available when the resource
+ // belongs to one or more folders.
+ //
+ // To search against `folders`:
+ //
+ // * Use a field query. Example: `folders:(123 OR 456)`
+ // * Use a free text query. Example: `123`
+ // * Specify the `scope` field as this folder in your search request.
+ repeated string folders = 17;
+
+ // The organization that this resource belongs to, in the form of
+ // organizations/{ORGANIZATION_NUMBER}. This field is available when the
+ // resource belongs to an organization.
+ //
+ // To search against `organization`:
+ //
+ // * Use a field query. Example: `organization:123`
+ // * Use a free text query. Example: `123`
+ // * Specify the `scope` field as this organization in your search request.
+ string organization = 18;
+
+ // The display name of this resource. This field is available only when the
+ // resource's Protobuf contains it.
+ //
+ // To search against the `display_name`:
+ //
+ // * Use a field query. Example: `displayName:"My Instance"`
+ // * Use a free text query. Example: `"My Instance"`
+ string display_name = 4;
+
+ // One or more paragraphs of text description of this resource. Maximum length
+ // could be up to 1M bytes. This field is available only when the resource's
+ // Protobuf contains it.
+ //
+ // To search against the `description`:
+ //
+ // * Use a field query. Example: `description:"important instance"`
+ // * Use a free text query. Example: `"important instance"`
+ string description = 5;
+
+ // Location can be `global`, regional like `us-east1`, or zonal like
+ // `us-west1-b`. This field is available only when the resource's Protobuf
+ // contains it.
+ //
+ // To search against the `location`:
+ //
+ // * Use a field query. Example: `location:us-west*`
+ // * Use a free text query. Example: `us-west*`
+ string location = 6;
+
+ // Labels associated with this resource. See [Labelling and grouping GCP
+ // resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
+ // for more information. This field is available only when the resource's
+ // Protobuf contains it.
+ //
+ // To search against the `labels`:
+ //
+ // * Use a field query:
+ // - query on any label's key or value. Example: `labels:prod`
+ // - query by a given label. Example: `labels.env:prod`
+ // - query by a given label's existence. Example: `labels.env:*`
+ // * Use a free text query. Example: `prod`
+ map labels = 7;
+
+ // Network tags associated with this resource. Like labels, network tags are a
+ // type of annotations used to group GCP resources. See [Labelling GCP
+ // resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
+ // for more information. This field is available only when the resource's
+ // Protobuf contains it.
+ //
+ // To search against the `network_tags`:
+ //
+ // * Use a field query. Example: `networkTags:internal`
+ // * Use a free text query. Example: `internal`
+ repeated string network_tags = 8;
+
+ // The Cloud KMS
+ // [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
+ // name or
+ // [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
+ // name.
+ //
+ // This field only presents for the purpose of backward compatibility. Please
+ // use the `kms_keys` field to retrieve KMS key information. This field is
+ // available only when the resource's Protobuf contains it and will only be
+ // populated for [these resource
+ // types](https://cloud.google.com/asset-inventory/docs/legacy-field-names#resource_types_with_the_to_be_deprecated_kmskey_field)
+ // for backward compatible purposes.
+ //
+ // To search against the `kms_key`:
+ //
+ // * Use a field query. Example: `kmsKey:key`
+ // * Use a free text query. Example: `key`
+ string kms_key = 10 [deprecated = true];
+
+ // The Cloud KMS
+ // [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
+ // names or
+ // [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
+ // names. This field is available only when the resource's Protobuf contains
+ // it.
+ //
+ // To search against the `kms_keys`:
+ //
+ // * Use a field query. Example: `kmsKeys:key`
+ // * Use a free text query. Example: `key`
+ repeated string kms_keys = 28;
+
+ // The create timestamp of this resource, at which the resource was created.
+ // The granularity is in seconds. Timestamp.nanos will always be 0. This field
+ // is available only when the resource's Protobuf contains it.
+ //
+ // To search against `create_time`:
+ //
+ // * Use a field query.
+ // - value in seconds since unix epoch. Example: `createTime > 1609459200`
+ // - value in date string. Example: `createTime > 2021-01-01`
+ // - value in date-time string (must be quoted). Example: `createTime >
+ // "2021-01-01T00:00:00"`
+ google.protobuf.Timestamp create_time = 11;
+
+ // The last update timestamp of this resource, at which the resource was last
+ // modified or deleted. The granularity is in seconds. Timestamp.nanos will
+ // always be 0. This field is available only when the resource's Protobuf
+ // contains it.
+ //
+ // To search against `update_time`:
+ //
+ // * Use a field query.
+ // - value in seconds since unix epoch. Example: `updateTime < 1609459200`
+ // - value in date string. Example: `updateTime < 2021-01-01`
+ // - value in date-time string (must be quoted). Example: `updateTime <
+ // "2021-01-01T00:00:00"`
+ google.protobuf.Timestamp update_time = 12;
+
+ // The state of this resource. Different resources types have different state
+ // definitions that are mapped from various fields of different resource
+ // types. This field is available only when the resource's Protobuf contains
+ // it.
+ //
+ // Example:
+ // If the resource is an instance provided by Compute Engine,
+ // its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
+ // SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. See `status` definition
+ // in [API
+ // Reference](https://cloud.google.com/compute/docs/reference/rest/v1/instances).
+ // If the resource is a project provided by Cloud Resource Manager, its state
+ // will include LIFECYCLE_STATE_UNSPECIFIED, ACTIVE, DELETE_REQUESTED and
+ // DELETE_IN_PROGRESS. See `lifecycleState` definition in [API
+ // Reference](https://cloud.google.com/resource-manager/reference/rest/v1/projects).
+ //
+ // To search against the `state`:
+ //
+ // * Use a field query. Example: `state:RUNNING`
+ // * Use a free text query. Example: `RUNNING`
+ string state = 13;
+
+ // The additional searchable attributes of this resource. The attributes may
+ // vary from one resource type to another. Examples: `projectId` for Project,
+ // `dnsName` for DNS ManagedZone. This field contains a subset of the resource
+ // metadata fields that are returned by the List or Get APIs provided by the
+ // corresponding GCP service (e.g., Compute Engine). see [API references and
+ // supported searchable
+ // attributes](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types)
+ // to see which fields are included.
+ //
+ // You can search values of these fields through free text search. However,
+ // you should not consume the field programically as the field names and
+ // values may change as the GCP service updates to a new incompatible API
+ // version.
+ //
+ // To search against the `additional_attributes`:
+ //
+ // * Use a free text query to match the attributes values. Example: to search
+ // `additional_attributes = { dnsName: "foobar" }`, you can issue a query
+ // `foobar`.
+ google.protobuf.Struct additional_attributes = 9;
+
+ // The full resource name of this resource's parent, if it has one.
+ // To search against the `parent_full_resource_name`:
+ //
+ // * Use a field query. Example:
+ // `parentFullResourceName:"project-name"`
+ // * Use a free text query. Example:
+ // `project-name`
+ string parent_full_resource_name = 19;
+
+ // Versioned resource representations of this resource. This is repeated
+ // because there could be multiple versions of resource representations during
+ // version migration.
+ //
+ // This `versioned_resources` field is not searchable. Some attributes of the
+ // resource representations are exposed in `additional_attributes` field, so
+ // as to allow users to search on them.
+ repeated VersionedResource versioned_resources = 16;
+
+ // Attached resources of this resource. For example, an OSConfig
+ // Inventory is an attached resource of a Compute Instance. This field is
+ // repeated because a resource could have multiple attached resources.
+ //
+ // This `attached_resources` field is not searchable. Some attributes
+ // of the attached resources are exposed in `additional_attributes` field, so
+ // as to allow users to search on them.
+ repeated AttachedResource attached_resources = 20;
+
+ // A map of related resources of this resource, keyed by the
+ // relationship type. A relationship type is in the format of
+ // {SourceType}_{ACTION}_{DestType}. Example: `DISK_TO_INSTANCE`,
+ // `DISK_TO_NETWORK`, `INSTANCE_TO_INSTANCEGROUP`.
+ // See [supported relationship
+ // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#supported_relationship_types).
+ map relationships = 21;
+
+ // TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
+ // To search against the `tagKeys`:
+ //
+ // * Use a field query. Example:
+ // - `tagKeys:"123456789/env*"`
+ // - `tagKeys="123456789/env"`
+ // - `tagKeys:"env"`
+ //
+ // * Use a free text query. Example:
+ // - `env`
+ repeated string tag_keys = 23;
+
+ // TagValue namespaced names, in the format of
+ // {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
+ // To search against the `tagValues`:
+ //
+ // * Use a field query. Example:
+ // - `tagValues:"env"`
+ // - `tagValues:"env/prod"`
+ // - `tagValues:"123456789/env/prod*"`
+ // - `tagValues="123456789/env/prod"`
+ //
+ // * Use a free text query. Example:
+ // - `prod`
+ repeated string tag_values = 25;
+
+ // TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
+ // To search against the `tagValueIds`:
+ //
+ // * Use a field query. Example:
+ // - `tagValueIds:"456"`
+ // - `tagValueIds="tagValues/456"`
+ //
+ // * Use a free text query. Example:
+ // - `456`
+ repeated string tag_value_ids = 26;
+
+ // The type of this resource's immediate parent, if there is one.
+ //
+ // To search against the `parent_asset_type`:
+ //
+ // * Use a field query. Example:
+ // `parentAssetType:"cloudresourcemanager.googleapis.com/Project"`
+ // * Use a free text query. Example:
+ // `cloudresourcemanager.googleapis.com/Project`
+ string parent_asset_type = 103;
+}
+
+// Resource representation as defined by the corresponding service providing the
+// resource for a given API version.
+message VersionedResource {
+ // API version of the resource.
+ //
+ // Example:
+ // If the resource is an instance provided by Compute Engine v1 API as defined
+ // in `https://cloud.google.com/compute/docs/reference/rest/v1/instances`,
+ // version will be "v1".
+ string version = 1;
+
+ // JSON representation of the resource as defined by the corresponding
+ // service providing this resource.
+ //
+ // Example:
+ // If the resource is an instance provided by Compute Engine, this field will
+ // contain the JSON representation of the instance as defined by Compute
+ // Engine:
+ // `https://cloud.google.com/compute/docs/reference/rest/v1/instances`.
+ //
+ // You can find the resource definition for each supported resource type in
+ // this table:
+ // `https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types`
+ google.protobuf.Struct resource = 2;
+}
+
+// Attached resource representation, which is defined by the corresponding
+// service provider. It represents an attached resource's payload.
+message AttachedResource {
+ // The type of this attached resource.
+ //
+ // Example: `osconfig.googleapis.com/Inventory`
+ //
+ // You can find the supported attached asset types of each resource in this
+ // table:
+ // `https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types`
+ string asset_type = 1;
+
+ // Versioned resource representations of this attached resource. This is
+ // repeated because there could be multiple versions of the attached resource
+ // representations during version migration.
+ repeated VersionedResource versioned_resources = 3;
+}
+
+// The related resources of the primary resource.
+message RelatedResources {
+ // The detailed related resources of the primary resource.
+ repeated RelatedResource related_resources = 1;
+}
+
+// The detailed related resource.
+message RelatedResource {
+ // The type of the asset. Example: `compute.googleapis.com/Instance`
+ string asset_type = 1;
+
+ // The full resource name of the related resource. Example:
+ // `//compute.googleapis.com/projects/my_proj_123/zones/instance/instance123`
+ string full_resource_name = 2;
+}
+
+// A result of IAM Policy search, containing information of an IAM policy.
+message IamPolicySearchResult {
+ // Explanation about the IAM policy search result.
+ message Explanation {
+ // IAM permissions
+ message Permissions {
+ // A list of permissions. A sample permission string: `compute.disk.get`.
+ repeated string permissions = 1;
+ }
+
+ // The map from roles to their included permissions that match the
+ // permission query (i.e., a query containing `policy.role.permissions:`).
+ // Example: if query `policy.role.permissions:compute.disk.get`
+ // matches a policy binding that contains owner role, the
+ // matched_permissions will be `{"roles/owner": ["compute.disk.get"]}`. The
+ // roles can also be found in the returned `policy` bindings. Note that the
+ // map is populated only for requests with permission queries.
+ map matched_permissions = 1;
+ }
+
+ // The full resource name of the resource associated with this IAM policy.
+ // Example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Cloud Asset Inventory Resource Name
+ // Format](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+ // for more information.
+ //
+ // To search against the `resource`:
+ //
+ // * use a field query. Example: `resource:organizations/123`
+ string resource = 1;
+
+ // The type of the resource associated with this IAM policy. Example:
+ // `compute.googleapis.com/Disk`.
+ //
+ // To search against the `asset_type`:
+ //
+ // * specify the `asset_types` field in your search request.
+ string asset_type = 5;
+
+ // The project that the associated GCP resource belongs to, in the form of
+ // projects/{PROJECT_NUMBER}. If an IAM policy is set on a resource (like VM
+ // instance, Cloud Storage bucket), the project field will indicate the
+ // project that contains the resource. If an IAM policy is set on a folder or
+ // orgnization, this field will be empty.
+ //
+ // To search against the `project`:
+ //
+ // * specify the `scope` field as this project in your search request.
+ string project = 2;
+
+ // The folder(s) that the IAM policy belongs to, in the form of
+ // folders/{FOLDER_NUMBER}. This field is available when the IAM policy
+ // belongs to one or more folders.
+ //
+ // To search against `folders`:
+ //
+ // * use a field query. Example: `folders:(123 OR 456)`
+ // * use a free text query. Example: `123`
+ // * specify the `scope` field as this folder in your search request.
+ repeated string folders = 6;
+
+ // The organization that the IAM policy belongs to, in the form
+ // of organizations/{ORGANIZATION_NUMBER}. This field is available when the
+ // IAM policy belongs to an organization.
+ //
+ // To search against `organization`:
+ //
+ // * use a field query. Example: `organization:123`
+ // * use a free text query. Example: `123`
+ // * specify the `scope` field as this organization in your search request.
+ string organization = 7;
+
+ // The IAM policy directly set on the given resource. Note that the original
+ // IAM policy can contain multiple bindings. This only contains the bindings
+ // that match the given query. For queries that don't contain a constrain on
+ // policies (e.g., an empty query), this contains all the bindings.
+ //
+ // To search against the `policy` bindings:
+ //
+ // * use a field query:
+ // - query by the policy contained members. Example:
+ // `policy:amy@gmail.com`
+ // - query by the policy contained roles. Example:
+ // `policy:roles/compute.admin`
+ // - query by the policy contained roles' included permissions. Example:
+ // `policy.role.permissions:compute.instances.create`
+ google.iam.v1.Policy policy = 3;
+
+ // Explanation about the IAM policy search result. It contains additional
+ // information to explain why the search result matches the query.
+ Explanation explanation = 4;
+}
+
+// Represents the detailed state of an entity under analysis, such as a
+// resource, an identity or an access.
+message IamPolicyAnalysisState {
+ // The Google standard error code that best describes the state.
+ // For example:
+ // - OK means the analysis on this entity has been successfully finished;
+ // - PERMISSION_DENIED means an access denied error is encountered;
+ // - DEADLINE_EXCEEDED means the analysis on this entity hasn't been started
+ // in time;
+ google.rpc.Code code = 1;
+
+ // The human-readable description of the cause of failure.
+ string cause = 2;
+}
+
+// The Condition evaluation.
+message ConditionEvaluation {
+ // Value of this expression.
+ enum EvaluationValue {
+ // Reserved for future use.
+ EVALUATION_VALUE_UNSPECIFIED = 0;
+
+ // The evaluation result is `true`.
+ TRUE = 1;
+
+ // The evaluation result is `false`.
+ FALSE = 2;
+
+ // The evaluation result is `conditional` when the condition expression
+ // contains variables that are either missing input values or have not been
+ // supported by Analyzer yet.
+ CONDITIONAL = 3;
+ }
+
+ // The evaluation result.
+ EvaluationValue evaluation_value = 1;
+}
+
+// IAM Policy analysis result, consisting of one IAM policy binding and derived
+// access control lists.
+message IamPolicyAnalysisResult {
+ // A Google Cloud resource under analysis.
+ message Resource {
+ // The [full resource
+ // name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+ string full_resource_name = 1;
+
+ // The analysis state of this resource.
+ IamPolicyAnalysisState analysis_state = 2;
+ }
+
+ // An IAM role or permission under analysis.
+ message Access {
+ oneof oneof_access {
+ // The role.
+ string role = 1;
+
+ // The permission.
+ string permission = 2;
+ }
+
+ // The analysis state of this access.
+ IamPolicyAnalysisState analysis_state = 3;
+ }
+
+ // An identity under analysis.
+ message Identity {
+ // The identity name in any form of members appear in
+ // [IAM policy
+ // binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such
+ // as:
+ // - user:foo@google.com
+ // - group:group1@google.com
+ // - serviceAccount:s1@prj1.iam.gserviceaccount.com
+ // - projectOwner:some_project_id
+ // - domain:google.com
+ // - allUsers
+ // - etc.
+ string name = 1;
+
+ // The analysis state of this identity.
+ IamPolicyAnalysisState analysis_state = 2;
+ }
+
+ // A directional edge.
+ message Edge {
+ // The source node of the edge. For example, it could be a full resource
+ // name for a resource node or an email of an identity.
+ string source_node = 1;
+
+ // The target node of the edge. For example, it could be a full resource
+ // name for a resource node or an email of an identity.
+ string target_node = 2;
+ }
+
+ // An access control list, derived from the above IAM policy binding, which
+ // contains a set of resources and accesses. May include one
+ // item from each set to compose an access control entry.
+ //
+ // NOTICE that there could be multiple access control lists for one IAM policy
+ // binding. The access control lists are created based on resource and access
+ // combinations.
+ //
+ // For example, assume we have the following cases in one IAM policy binding:
+ // - Permission P1 and P2 apply to resource R1 and R2;
+ // - Permission P3 applies to resource R2 and R3;
+ //
+ // This will result in the following access control lists:
+ // - AccessControlList 1: [R1, R2], [P1, P2]
+ // - AccessControlList 2: [R2, R3], [P3]
+ message AccessControlList {
+ // The resources that match one of the following conditions:
+ // - The resource_selector, if it is specified in request;
+ // - Otherwise, resources reachable from the policy attached resource.
+ repeated Resource resources = 1;
+
+ // The accesses that match one of the following conditions:
+ // - The access_selector, if it is specified in request;
+ // - Otherwise, access specifiers reachable from the policy binding's role.
+ repeated Access accesses = 2;
+
+ // Resource edges of the graph starting from the policy attached
+ // resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
+ // the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
+ // contains the full resource name of a child resource. This field is
+ // present only if the output_resource_edges option is enabled in request.
+ repeated Edge resource_edges = 3;
+
+ // Condition evaluation for this AccessControlList, if there is a condition
+ // defined in the above IAM policy binding.
+ ConditionEvaluation condition_evaluation = 4;
+ }
+
+ // The identities and group edges.
+ message IdentityList {
+ // Only the identities that match one of the following conditions will be
+ // presented:
+ // - The identity_selector, if it is specified in request;
+ // - Otherwise, identities reachable from the policy binding's members.
+ repeated Identity identities = 1;
+
+ // Group identity edges of the graph starting from the binding's
+ // group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
+ // contains a group, such as `group:parent@google.com`. The
+ // [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
+ // such as `group:child@google.com` or `user:foo@google.com`.
+ // This field is present only if the output_group_edges option is enabled in
+ // request.
+ repeated Edge group_edges = 2;
+ }
+
+ // The [full resource
+ // name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
+ // of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
+ string attached_resource_full_name = 1;
+
+ // The Cloud IAM policy binding under analysis.
+ google.iam.v1.Binding iam_binding = 2;
+
+ // The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
+ // potentially match resource and access selectors specified in the request.
+ repeated AccessControlList access_control_lists = 3;
+
+ // The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
+ // potentially match identity selector specified in the request.
+ IdentityList identity_list = 4;
+
+ // Represents whether all analyses on the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] have successfully
+ // finished.
+ bool fully_explored = 5;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1beta1/asset_service.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1beta1/asset_service.proto
new file mode 100644
index 00000000000..956c6a7677a
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1beta1/asset_service.proto
@@ -0,0 +1,215 @@
+// 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.
+//
+
+syntax = "proto3";
+
+package google.cloud.asset.v1beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/asset/v1beta1/assets.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Asset.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetServiceProto";
+option java_package = "com.google.cloud.asset.v1beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1beta1";
+
+// Asset service definition.
+service AssetService {
+ option (google.api.default_host) = "cloudasset.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Exports assets with time and resource types to a given Cloud Storage
+ // location. The output format is newline-delimited JSON.
+ // This API implements the
+ // [google.longrunning.Operation][google.longrunning.Operation] API allowing
+ // you to keep track of the export.
+ rpc ExportAssets(ExportAssetsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*}:exportAssets"
+ body: "*"
+ additional_bindings {
+ post: "/v1beta1/{parent=folders/*}:exportAssets"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v1beta1/{parent=organizations/*}:exportAssets"
+ body: "*"
+ }
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.asset.v1beta1.ExportAssetsResponse"
+ metadata_type: "google.cloud.asset.v1beta1.ExportAssetsRequest"
+ };
+ }
+
+ // Batch gets the update history of assets that overlap a time window.
+ // For RESOURCE content, this API outputs history with asset in both
+ // non-delete or deleted status.
+ // For IAM_POLICY content, this API outputs history when the asset and its
+ // attached IAM POLICY both exist. This can create gaps in the output history.
+ // If a specified asset does not exist, this API returns an INVALID_ARGUMENT
+ // error.
+ rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest)
+ returns (BatchGetAssetsHistoryResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*}:batchGetAssetsHistory"
+ additional_bindings {
+ get: "/v1beta1/{parent=organizations/*}:batchGetAssetsHistory"
+ }
+ };
+ }
+}
+
+// Export asset request.
+message ExportAssetsRequest {
+ // Required. The relative name of the root asset. This can only be an
+ // organization number (such as "organizations/123"), a project ID (such as
+ // "projects/my-project-id"), a project number (such as "projects/12345"), or
+ // a folder number (such as "folders/123").
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/Asset"
+ }
+ ];
+
+ // Timestamp to take an asset snapshot. This can only be set to a timestamp
+ // between 2018-10-02 UTC (inclusive) and the current time. If not specified,
+ // the current time will be used. Due to delays in resource data collection
+ // and indexing, there is a volatile window during which running the same
+ // query may get different results.
+ google.protobuf.Timestamp read_time = 2;
+
+ // A list of asset types of which to take a snapshot for. For example:
+ // "google.compute.Disk". If specified, only matching assets will be returned.
+ // See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview)
+ // for all supported asset types.
+ repeated string asset_types = 3;
+
+ // Asset content type. If not specified, no content but the asset name will be
+ // returned.
+ ContentType content_type = 4;
+
+ // Required. Output configuration indicating where the results will be output
+ // to. All results will be in newline delimited JSON format.
+ OutputConfig output_config = 5 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The export asset response. This message is returned by the
+// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation]
+// method in the returned
+// [google.longrunning.Operation.response][google.longrunning.Operation.response]
+// field.
+message ExportAssetsResponse {
+ // Time the snapshot was taken.
+ google.protobuf.Timestamp read_time = 1;
+
+ // Output configuration indicating where the results were output to.
+ // All results are in JSON format.
+ OutputConfig output_config = 2;
+}
+
+// Batch get assets history request.
+message BatchGetAssetsHistoryRequest {
+ // Required. The relative name of the root asset. It can only be an
+ // organization number (such as "organizations/123"), a project ID (such as
+ // "projects/my-project-id")", or a project number (such as "projects/12345").
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "cloudasset.googleapis.com/Asset"
+ }
+ ];
+
+ // A list of the full names of the assets. For example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more info.
+ //
+ // The request becomes a no-op if the asset name list is empty, and the max
+ // size of the asset name list is 100 in one request.
+ repeated string asset_names = 2;
+
+ // Optional. The content type.
+ ContentType content_type = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The time window for the asset history. Both start_time and
+ // end_time are optional and if set, it must be after 2018-10-02 UTC. If
+ // end_time is not set, it is default to current timestamp. If start_time is
+ // not set, the snapshot of the assets at end_time will be returned. The
+ // returned results contain all temporal assets whose time window overlap with
+ // read_time_window.
+ TimeWindow read_time_window = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Batch get assets history response.
+message BatchGetAssetsHistoryResponse {
+ // A list of assets with valid time windows.
+ repeated TemporalAsset assets = 1;
+}
+
+// Output configuration for export assets destination.
+message OutputConfig {
+ // Asset export destination.
+ oneof destination {
+ // Destination on Cloud Storage.
+ GcsDestination gcs_destination = 1;
+ }
+}
+
+// A Cloud Storage location.
+message GcsDestination {
+ // Required.
+ oneof object_uri {
+ // The uri of the Cloud Storage object. It's the same uri that is used by
+ // gsutil. For example: "gs://bucket_name/object_name". See [Viewing and
+ // Editing Object
+ // Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
+ // for more information.
+ string uri = 1;
+
+ // The uri prefix of all generated Cloud Storage objects. For example:
+ // "gs://bucket_name/object_name_prefix". Each object uri is in format:
+ // "gs://bucket_name/object_name_prefix// and only
+ // contains assets for that type. starts from 0. For example:
+ // "gs://bucket_name/object_name_prefix/google.compute.disk/0" is the first
+ // shard of output objects containing all google.compute.disk assets.
+ // An INVALID_ARGUMENT error will be returned if file with the same name
+ // "gs://bucket_name/object_name_prefix" already exists.
+ string uri_prefix = 2;
+ }
+}
+
+// Asset content type.
+enum ContentType {
+ // Unspecified content type.
+ CONTENT_TYPE_UNSPECIFIED = 0;
+
+ // Resource metadata.
+ RESOURCE = 1;
+
+ // The actual IAM policy set on a resource.
+ IAM_POLICY = 2;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1beta1/assets.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1beta1/assets.proto
new file mode 100644
index 00000000000..4bb1438c8d7
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1beta1/assets.proto
@@ -0,0 +1,124 @@
+// 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.
+//
+
+syntax = "proto3";
+
+package google.cloud.asset.v1beta1;
+
+import "google/api/annotations.proto";
+import "google/api/resource.proto";
+import "google/iam/v1/policy.proto";
+import "google/protobuf/any.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Asset.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetProto";
+option java_package = "com.google.cloud.asset.v1beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1beta1";
+
+// Temporal asset. In addition to the asset, the temporal asset includes the
+// status of the asset and valid from and to time of it.
+message TemporalAsset {
+ // The time window when the asset data and state was observed.
+ TimeWindow window = 1;
+
+ // If the asset is deleted or not.
+ bool deleted = 2;
+
+ // Asset.
+ Asset asset = 3;
+}
+
+// A time window of (start_time, end_time].
+message TimeWindow {
+ // Start time of the time window (exclusive).
+ google.protobuf.Timestamp start_time = 1;
+
+ // End time of the time window (inclusive).
+ // Current timestamp if not specified.
+ google.protobuf.Timestamp end_time = 2;
+}
+
+// Cloud asset. This includes all Google Cloud Platform resources,
+// Cloud IAM policies, and other non-GCP assets.
+message Asset {
+ option (google.api.resource) = {
+ type: "cloudasset.googleapis.com/Asset"
+ pattern: "*"
+ };
+
+ // The full name of the asset. For example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ string name = 1;
+
+ // Type of the asset. Example: "google.compute.Disk".
+ string asset_type = 2;
+
+ // Representation of the resource.
+ Resource resource = 3;
+
+ // Representation of the actual Cloud IAM policy set on a cloud resource. For
+ // each resource, there must be at most one Cloud IAM policy set on it.
+ google.iam.v1.Policy iam_policy = 4;
+}
+
+// Representation of a cloud resource.
+message Resource {
+ // The API version. Example: "v1".
+ string version = 1;
+
+ // The URL of the discovery document containing the resource's JSON schema.
+ // For example:
+ // `"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"`.
+ // It will be left unspecified for resources without a discovery-based API,
+ // such as Cloud Bigtable.
+ string discovery_document_uri = 2;
+
+ // The JSON schema name listed in the discovery document.
+ // Example: "Project". It will be left unspecified for resources (such as
+ // Cloud Bigtable) without a discovery-based API.
+ string discovery_name = 3;
+
+ // The REST URL for accessing the resource. An HTTP GET operation using this
+ // URL returns the resource itself.
+ // Example:
+ // `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.
+ // It will be left unspecified for resources without a REST API.
+ string resource_url = 4;
+
+ // The full name of the immediate parent of this resource. See
+ // [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ //
+ // For GCP assets, it is the parent resource defined in the [Cloud IAM policy
+ // hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
+ // For example:
+ // `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
+ //
+ // For third-party assets, it is up to the users to define.
+ string parent = 5;
+
+ // The content of the resource, in which some sensitive fields are scrubbed
+ // away and may not be present.
+ google.protobuf.Struct data = 6;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p1beta1/asset_service.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p1beta1/asset_service.proto
new file mode 100644
index 00000000000..d5a0d8c41b7
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p1beta1/asset_service.proto
@@ -0,0 +1,149 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p1beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/cloud/asset/v1p1beta1/assets.proto";
+
+option csharp_namespace = "Google.Cloud.Asset.V1P1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p1beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetServiceProto";
+option java_package = "com.google.cloud.asset.v1p1beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p1beta1";
+
+// Asset service definition.
+service AssetService {
+ option (google.api.default_host) = "cloudasset.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Searches all the resources under a given accessible CRM scope
+ // (project/folder/organization). This RPC gives callers
+ // especially admins the ability to search all the resources under a scope,
+ // even if they don't have .get permission of all the resources. Callers
+ // should have cloud.assets.SearchAllResources permission on the requested
+ // scope, otherwise it will be rejected.
+ rpc SearchAllResources(SearchAllResourcesRequest) returns (SearchAllResourcesResponse) {
+ option (google.api.http) = {
+ get: "/v1p1beta1/{scope=*/*}/resources:searchAll"
+ };
+ option (google.api.method_signature) = "scope,query,asset_types";
+ }
+
+ // Searches all the IAM policies under a given accessible CRM scope
+ // (project/folder/organization). This RPC gives callers
+ // especially admins the ability to search all the IAM policies under a scope,
+ // even if they don't have .getIamPolicy permission of all the IAM policies.
+ // Callers should have cloud.assets.SearchAllIamPolicies permission on the
+ // requested scope, otherwise it will be rejected.
+ rpc SearchAllIamPolicies(SearchAllIamPoliciesRequest) returns (SearchAllIamPoliciesResponse) {
+ option (google.api.http) = {
+ get: "/v1p1beta1/{scope=*/*}/iamPolicies:searchAll"
+ };
+ option (google.api.method_signature) = "scope,query";
+ }
+}
+
+// Search all resources request.
+message SearchAllResourcesRequest {
+ // Required. The relative name of an asset. The search is limited to the resources
+ // within the `scope`. The allowed value must be:
+ // * Organization number (such as "organizations/123")
+ // * Folder number(such as "folders/1234")
+ // * Project number (such as "projects/12345")
+ // * Project id (such as "projects/abc")
+ string scope = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The query statement.
+ string query = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A list of asset types that this request searches for. If empty, it will
+ // search all the supported asset types.
+ repeated string asset_types = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The page size for search result pagination. Page size is capped at 500 even
+ // if a larger value is given. If set to zero, server will pick an appropriate
+ // default. Returned results may be fewer than requested. When this happens,
+ // there could be more results as long as `next_page_token` is returned.
+ int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If present, then retrieve the next batch of results from the preceding call
+ // to this method. `page_token` must be the value of `next_page_token` from
+ // the previous response. The values of all other method parameters, must be
+ // identical to those in the previous call.
+ string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A comma separated list of fields specifying the sorting order of the
+ // results. The default order is ascending. Add " desc" after the field name
+ // to indicate descending order. Redundant space characters are ignored. For
+ // example, " foo , bar desc ".
+ string order_by = 10 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Search all resources response.
+message SearchAllResourcesResponse {
+ // A list of resource that match the search query.
+ repeated StandardResourceMetadata results = 1;
+
+ // If there are more results than those appearing in this response, then
+ // `next_page_token` is included. To get the next set of results, call this
+ // method again using the value of `next_page_token` as `page_token`.
+ string next_page_token = 2;
+}
+
+// Search all IAM policies request.
+message SearchAllIamPoliciesRequest {
+ // Required. The relative name of an asset. The search is limited to the resources
+ // within the `scope`. The allowed value must be:
+ // * Organization number (such as "organizations/123")
+ // * Folder number(such as "folders/1234")
+ // * Project number (such as "projects/12345")
+ // * Project id (such as "projects/abc")
+ string scope = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The query statement.
+ // Examples:
+ // * "policy:myuser@mydomain.com"
+ // * "policy:(myuser@mydomain.com viewer)"
+ string query = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The page size for search result pagination. Page size is capped at 500 even
+ // if a larger value is given. If set to zero, server will pick an appropriate
+ // default. Returned results may be fewer than requested. When this happens,
+ // there could be more results as long as `next_page_token` is returned.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If present, retrieve the next batch of results from the preceding call to
+ // this method. `page_token` must be the value of `next_page_token` from the
+ // previous response. The values of all other method parameters must be
+ // identical to those in the previous call.
+ string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Search all IAM policies response.
+message SearchAllIamPoliciesResponse {
+ // A list of IamPolicy that match the search query. Related information such
+ // as the associated resource is returned along with the policy.
+ repeated IamPolicySearchResult results = 1;
+
+ // Set if there are more results than those appearing in this response; to get
+ // the next set of results, call this method again, using this value as the
+ // `page_token`.
+ string next_page_token = 2;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p1beta1/assets.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p1beta1/assets.proto
new file mode 100644
index 00000000000..c0ac1403acc
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p1beta1/assets.proto
@@ -0,0 +1,113 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p1beta1;
+
+import "google/iam/v1/policy.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Asset.V1P1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p1beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetProto";
+option java_package = "com.google.cloud.asset.v1p1beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p1beta1";
+
+// The standard metadata of a cloud resource.
+message StandardResourceMetadata {
+ // The full resource name. For example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ string name = 1;
+
+ // The type of this resource.
+ // For example: "compute.googleapis.com/Disk".
+ string asset_type = 2;
+
+ // The project that this resource belongs to, in the form of
+ // `projects/{project_number}`.
+ string project = 3;
+
+ // The display name of this resource.
+ string display_name = 4;
+
+ // One or more paragraphs of text description of this resource. Maximum length
+ // could be up to 1M bytes.
+ string description = 5;
+
+ // Additional searchable attributes of this resource.
+ // Informational only. The exact set of attributes is subject to change.
+ // For example: project id, DNS name etc.
+ repeated string additional_attributes = 10;
+
+ // Location can be "global", regional like "us-east1", or zonal like
+ // "us-west1-b".
+ string location = 11;
+
+ // Labels associated with this resource. See [Labelling and grouping GCP
+ // resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
+ // for more information.
+ map labels = 12;
+
+ // Network tags associated with this resource. Like labels, network tags are a
+ // type of annotations used to group GCP resources. See [Labelling GCP
+ // resources](lhttps://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
+ // for more information.
+ repeated string network_tags = 13;
+}
+
+// The result for a IAM Policy search.
+message IamPolicySearchResult {
+ // Explanation about the IAM policy search result.
+ message Explanation {
+ // The map from roles to their included permission matching the permission
+ // query (e.g. containing `policy.role.permissions:`). A sample role string:
+ // "roles/compute.instanceAdmin". The roles can also be found in the
+ // returned `policy` bindings. Note that the map is populated only if
+ // requesting with a permission query.
+ map matched_permissions = 1;
+ }
+
+ // The [full resource
+ // name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // of the resource associated with this IAM policy.
+ string resource = 1;
+
+ // The project that the associated GCP resource belongs to, in the form of
+ // `projects/{project_number}`. If an IAM policy is set on a resource (like VM
+ // instance, Cloud Storage bucket), the project field will indicate the
+ // project that contains the resource. If an IAM policy is set on a folder or
+ // orgnization, the project field will be empty.
+ string project = 3;
+
+ // The IAM policy directly set on the given resource. Note that the original
+ // IAM policy can contain multiple bindings. This only contains the bindings
+ // that match the given query. For queries that don't contain a constrain on
+ // policies (e.g. an empty query), this contains all the bindings.
+ google.iam.v1.Policy policy = 4;
+
+ // Explanation about the IAM policy search result. It contains additional
+ // information to explain why the search result matches the query.
+ Explanation explanation = 5;
+}
+
+// IAM permissions
+message Permissions {
+ // A list of permissions. A sample permission string: "compute.disk.get".
+ repeated string permissions = 1;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p2beta1/asset_service.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p2beta1/asset_service.proto
new file mode 100644
index 00000000000..92f285f8652
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p2beta1/asset_service.proto
@@ -0,0 +1,259 @@
+// 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.
+//
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p2beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/asset/v1p2beta1/assets.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Cloud.Asset.V1p2Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p2beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetServiceProto";
+option java_package = "com.google.cloud.asset.v1p2beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p2beta1";
+
+// Asset service definition.
+service AssetService {
+ option (google.api.default_host) = "cloudasset.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a feed in a parent project/folder/organization to listen to its
+ // asset updates.
+ rpc CreateFeed(CreateFeedRequest) returns (Feed) {
+ option (google.api.http) = {
+ post: "/v1p2beta1/{parent=*/*}/feeds"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets details about an asset feed.
+ rpc GetFeed(GetFeedRequest) returns (Feed) {
+ option (google.api.http) = {
+ get: "/v1p2beta1/{name=*/*/feeds/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists all asset feeds in a parent project/folder/organization.
+ rpc ListFeeds(ListFeedsRequest) returns (ListFeedsResponse) {
+ option (google.api.http) = {
+ get: "/v1p2beta1/{parent=*/*}/feeds"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Updates an asset feed configuration.
+ rpc UpdateFeed(UpdateFeedRequest) returns (Feed) {
+ option (google.api.http) = {
+ patch: "/v1p2beta1/{feed.name=*/*/feeds/*}"
+ body: "*"
+ };
+ option (google.api.method_signature) = "feed";
+ }
+
+ // Deletes an asset feed.
+ rpc DeleteFeed(DeleteFeedRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1p2beta1/{name=*/*/feeds/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// Create asset feed request.
+message CreateFeedRequest {
+ // Required. The name of the project/folder/organization where this feed
+ // should be created in. It can only be an organization number (such as
+ // "organizations/123"), a folder number (such as "folders/123"), a project ID
+ // (such as "projects/my-project-id")", or a project number (such as
+ // "projects/12345").
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. This is the client-assigned asset feed identifier and it needs to
+ // be unique under a specific parent project/folder/organization.
+ string feed_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The feed details. The field `name` must be empty and it will be generated
+ // in the format of:
+ // projects/project_number/feeds/feed_id
+ // folders/folder_number/feeds/feed_id
+ // organizations/organization_number/feeds/feed_id
+ Feed feed = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Get asset feed request.
+message GetFeedRequest {
+ // Required. The name of the Feed and it must be in the format of:
+ // projects/project_number/feeds/feed_id
+ // folders/folder_number/feeds/feed_id
+ // organizations/organization_number/feeds/feed_id
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudasset.googleapis.com/Feed"
+ }
+ ];
+}
+
+// List asset feeds request.
+message ListFeedsRequest {
+ // Required. The parent project/folder/organization whose feeds are to be
+ // listed. It can only be using project/folder/organization number (such as
+ // "folders/12345")", or a project ID (such as "projects/my-project-id").
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+message ListFeedsResponse {
+ // A list of feeds.
+ repeated Feed feeds = 1;
+}
+
+// Update asset feed request.
+message UpdateFeedRequest {
+ // Required. The new values of feed details. It must match an existing feed and the
+ // field `name` must be in the format of:
+ // projects/project_number/feeds/feed_id or
+ // folders/folder_number/feeds/feed_id or
+ // organizations/organization_number/feeds/feed_id.
+ Feed feed = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Only updates the `feed` fields indicated by this mask.
+ // The field mask must not be empty, and it must not contain fields that
+ // are immutable or only set by the server.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+message DeleteFeedRequest {
+ // Required. The name of the feed and it must be in the format of:
+ // projects/project_number/feeds/feed_id
+ // folders/folder_number/feeds/feed_id
+ // organizations/organization_number/feeds/feed_id
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudasset.googleapis.com/Feed"
+ }
+ ];
+}
+
+// Output configuration for export assets destination.
+message OutputConfig {
+ // Asset export destination.
+ oneof destination {
+ // Destination on Cloud Storage.
+ GcsDestination gcs_destination = 1;
+ }
+}
+
+// A Cloud Storage location.
+message GcsDestination {
+ // Required.
+ oneof object_uri {
+ // The uri of the Cloud Storage object. It's the same uri that is used by
+ // gsutil. For example: "gs://bucket_name/object_name". See [Viewing and
+ // Editing Object
+ // Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
+ // for more information.
+ string uri = 1;
+ }
+}
+
+// A Cloud Pubsub destination.
+message PubsubDestination {
+ // The name of the Cloud Pub/Sub topic to publish to.
+ // For example: `projects/PROJECT_ID/topics/TOPIC_ID`.
+ string topic = 1;
+}
+
+// Output configuration for asset feed destination.
+message FeedOutputConfig {
+ // Asset feed destination.
+ oneof destination {
+ // Destination on Cloud Pubsub.
+ PubsubDestination pubsub_destination = 1;
+ }
+}
+
+// An asset feed used to export asset updates to a destinations.
+// An asset feed filter controls what updates are exported.
+// The asset feed must be created within a project, organization, or
+// folder. Supported destinations are:
+// Cloud Pub/Sub topics.
+message Feed {
+ option (google.api.resource) = {
+ type: "cloudasset.googleapis.com/Feed"
+ pattern: "projects/{project}/feeds/{feed}"
+ pattern: "folders/{folder}/feeds/{feed}"
+ pattern: "organizations/{organization}/feeds/{feed}"
+ history: ORIGINALLY_SINGLE_PATTERN
+ };
+
+ // Required. The format will be
+ // projects/{project_number}/feeds/{client-assigned_feed_identifier} or
+ // folders/{folder_number}/feeds/{client-assigned_feed_identifier} or
+ // organizations/{organization_number}/feeds/{client-assigned_feed_identifier}
+ //
+ // The client-assigned feed identifier must be unique within the parent
+ // project/folder/organization.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // A list of the full names of the assets to receive updates. You must specify
+ // either or both of asset_names and asset_types. Only asset updates matching
+ // specified asset_names and asset_types are exported to the feed. For
+ // example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more info.
+ repeated string asset_names = 2;
+
+ // A list of types of the assets to receive updates. You must specify either
+ // or both of asset_names and asset_types. Only asset updates matching
+ // specified asset_names and asset_types are exported to the feed.
+ // For example:
+ // "compute.googleapis.com/Disk" See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview)
+ // for all supported asset types.
+ repeated string asset_types = 3;
+
+ // Asset content type. If not specified, no content but the asset name and
+ // type will be returned.
+ ContentType content_type = 4;
+
+ // Required. Feed output configuration defining where the asset updates are
+ // published to.
+ FeedOutputConfig feed_output_config = 5 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Asset content type.
+enum ContentType {
+ // Unspecified content type.
+ CONTENT_TYPE_UNSPECIFIED = 0;
+
+ // Resource metadata.
+ RESOURCE = 1;
+
+ // The actual IAM policy set on a resource.
+ IAM_POLICY = 2;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p2beta1/assets.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p2beta1/assets.proto
new file mode 100644
index 00000000000..bc2a9c511f2
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p2beta1/assets.proto
@@ -0,0 +1,124 @@
+// 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.
+//
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p2beta1;
+
+import "google/iam/v1/policy.proto";
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Asset.v1p2beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p2beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetProto";
+option java_package = "com.google.cloud.asset.v1p2beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p2beta1";
+
+// Temporal asset. In addition to the asset, the temporal asset includes the
+// status of the asset and valid from and to time of it.
+message TemporalAsset {
+ // The time window when the asset data and state was observed.
+ TimeWindow window = 1;
+
+ // If the asset is deleted or not.
+ bool deleted = 2;
+
+ // Asset.
+ Asset asset = 3;
+}
+
+// A time window of (start_time, end_time].
+message TimeWindow {
+ // Start time of the time window (exclusive).
+ google.protobuf.Timestamp start_time = 1;
+
+ // End time of the time window (inclusive).
+ // Current timestamp if not specified.
+ google.protobuf.Timestamp end_time = 2;
+}
+
+// Cloud asset. This includes all Google Cloud Platform resources,
+// Cloud IAM policies, and other non-GCP assets.
+message Asset {
+ // The full name of the asset. For example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ string name = 1;
+
+ // Type of the asset. Example: "compute.googleapis.com/Disk".
+ string asset_type = 2;
+
+ // Representation of the resource.
+ Resource resource = 3;
+
+ // Representation of the actual Cloud IAM policy set on a cloud resource. For
+ // each resource, there must be at most one Cloud IAM policy set on it.
+ google.iam.v1.Policy iam_policy = 4;
+
+ // Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy,
+ // represented as a list of relative resource names. Ancestry path starts with
+ // the closest CRM ancestor and ends at root. If the asset is a CRM
+ // project/folder/organization, this starts from the asset itself.
+ //
+ // Example: ["projects/123456789", "folders/5432", "organizations/1234"]
+ repeated string ancestors = 6;
+}
+
+// Representation of a cloud resource.
+message Resource {
+ // The API version. Example: "v1".
+ string version = 1;
+
+ // The URL of the discovery document containing the resource's JSON schema.
+ // For example:
+ // `"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"`.
+ // It will be left unspecified for resources without a discovery-based API,
+ // such as Cloud Bigtable.
+ string discovery_document_uri = 2;
+
+ // The JSON schema name listed in the discovery document.
+ // Example: "Project". It will be left unspecified for resources (such as
+ // Cloud Bigtable) without a discovery-based API.
+ string discovery_name = 3;
+
+ // The REST URL for accessing the resource. An HTTP GET operation using this
+ // URL returns the resource itself.
+ // Example:
+ // `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.
+ // It will be left unspecified for resources without a REST API.
+ string resource_url = 4;
+
+ // The full name of the immediate parent of this resource. See
+ // [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ //
+ // For GCP assets, it is the parent resource defined in the [Cloud IAM policy
+ // hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
+ // For example:
+ // `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
+ //
+ // For third-party assets, it is up to the users to define.
+ string parent = 5;
+
+ // The content of the resource, in which some sensitive fields are scrubbed
+ // away and may not be present.
+ google.protobuf.Struct data = 6;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/asset_service.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/asset_service.proto
new file mode 100644
index 00000000000..db60941a567
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/asset_service.proto
@@ -0,0 +1,343 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p4beta1;
+
+import "google/api/annotations.proto";
+import "google/api/field_behavior.proto";
+import "google/cloud/asset/v1p4beta1/assets.proto";
+import "google/iam/v1/policy.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/duration.proto";
+import "google/api/client.proto";
+
+option csharp_namespace = "Google.Cloud.Asset.V1P4Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p4beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetServiceProto";
+option java_package = "com.google.cloud.asset.v1p4beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p4beta1";
+
+// Asset service definition.
+service AssetService {
+ option (google.api.default_host) = "cloudasset.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Analyzes IAM policies based on the specified request. Returns
+ // a list of [IamPolicyAnalysisResult][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult] matching the request.
+ rpc AnalyzeIamPolicy(AnalyzeIamPolicyRequest) returns (AnalyzeIamPolicyResponse) {
+ option (google.api.http) = {
+ get: "/v1p4beta1/{analysis_query.parent=*/*}:analyzeIamPolicy"
+ };
+ }
+
+ // Exports IAM policy analysis based on the specified request. This API
+ // implements the [google.longrunning.Operation][google.longrunning.Operation] API allowing you to keep
+ // track of the export. The metadata contains the request to help callers to
+ // map responses to requests.
+ rpc ExportIamPolicyAnalysis(ExportIamPolicyAnalysisRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1p4beta1/{analysis_query.parent=*/*}:exportIamPolicyAnalysis"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse"
+ metadata_type: "google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest"
+ };
+ }
+}
+
+// IAM policy analysis query message.
+message IamPolicyAnalysisQuery {
+ // Specifies the resource to analyze for access policies, which may be set
+ // directly on the resource, or on ancestors such as organizations, folders or
+ // projects. At least one of [ResourceSelector][google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector], [IdentitySelector][google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector] or
+ // [AccessSelector][google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector] must be specified in a request.
+ message ResourceSelector {
+ // Required. The [full resource
+ // name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // .
+ string full_resource_name = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Specifies an identity for which to determine resource access, based on
+ // roles assigned either directly to them or to the groups they belong to,
+ // directly or indirectly.
+ message IdentitySelector {
+ // Required. The identity appear in the form of members in
+ // [IAM policy
+ // binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
+ string identity = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Specifies roles and/or permissions to analyze, to determine both the
+ // identities possessing them and the resources they control. If multiple
+ // values are specified, results will include identities and resources
+ // matching any of them.
+ message AccessSelector {
+ // Optional. The roles to appear in result.
+ repeated string roles = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The permissions to appear in result.
+ repeated string permissions = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Required. The relative name of the root asset. Only resources and IAM policies within
+ // the parent will be analyzed. This can only be an organization number (such
+ // as "organizations/123") or a folder number (such as "folders/123").
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Specifies a resource for analysis. Leaving it empty means ANY.
+ ResourceSelector resource_selector = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies an identity for analysis. Leaving it empty means ANY.
+ IdentitySelector identity_selector = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies roles or permissions for analysis. Leaving it empty
+ // means ANY.
+ AccessSelector access_selector = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy].
+message AnalyzeIamPolicyRequest {
+ // Contains request options.
+ message Options {
+ // Optional. If true, the identities section of the result will expand any
+ // Google groups appearing in an IAM policy binding.
+ //
+ // If [identity_selector][] is specified, the identity in the result will
+ // be determined by the selector, and this flag will have no effect.
+ //
+ // Default is false.
+ bool expand_groups = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the access section of result will expand any roles
+ // appearing in IAM policy bindings to include their permissions.
+ //
+ // If [access_selector][] is specified, the access section of the result
+ // will be determined by the selector, and this flag will have no effect.
+ //
+ // Default is false.
+ bool expand_roles = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the resource section of the result will expand any
+ // resource attached to an IAM policy to include resources lower in the
+ // resource hierarchy.
+ //
+ // For example, if the request analyzes for which resources user A has
+ // permission P, and the results include an IAM policy with P on a GCP
+ // folder, the results will also include resources in that folder with
+ // permission P.
+ //
+ // If [resource_selector][] is specified, the resource section of the result
+ // will be determined by the selector, and this flag will have no effect.
+ // Default is false.
+ bool expand_resources = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the result will output resource edges, starting
+ // from the policy attached resource, to any expanded resources.
+ // Default is false.
+ bool output_resource_edges = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the result will output group identity edges, starting
+ // from the binding's group members, to any expanded identities.
+ // Default is false.
+ bool output_group_edges = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the response will include access analysis from identities to
+ // resources via service account impersonation. This is a very expensive
+ // operation, because many derived queries will be executed. We highly
+ // recommend you use ExportIamPolicyAnalysis rpc instead.
+ //
+ // For example, if the request analyzes for which resources user A has
+ // permission P, and there's an IAM policy states user A has
+ // iam.serviceAccounts.getAccessToken permission to a service account SA,
+ // and there's another IAM policy states service account SA has permission P
+ // to a GCP folder F, then user A potentially has access to the GCP folder
+ // F. And those advanced analysis results will be included in
+ // [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
+ //
+ // Another example, if the request analyzes for who has
+ // permission P to a GCP folder F, and there's an IAM policy states user A
+ // has iam.serviceAccounts.actAs permission to a service account SA, and
+ // there's another IAM policy states service account SA has permission P to
+ // the GCP folder F, then user A potentially has access to the GCP folder
+ // F. And those advanced analysis results will be included in
+ // [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
+ //
+ // Default is false.
+ bool analyze_service_account_impersonation = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Amount of time executable has to complete. See JSON representation of
+ // [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
+ //
+ // If this field is set with a value less than the RPC deadline, and the
+ // execution of your query hasn't finished in the specified
+ // execution timeout, you will get a response with partial result.
+ // Otherwise, your query's execution will continue until the RPC deadline.
+ // If it's not finished until then, you will get a DEADLINE_EXCEEDED error.
+ //
+ // Default is empty.
+ google.protobuf.Duration execution_timeout = 7 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Required. The request query.
+ IamPolicyAnalysisQuery analysis_query = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The request options.
+ Options options = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A response message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicy].
+message AnalyzeIamPolicyResponse {
+ // An analysis message to group the query and results.
+ message IamPolicyAnalysis {
+ // The analysis query.
+ IamPolicyAnalysisQuery analysis_query = 1;
+
+ // A list of [IamPolicyAnalysisResult][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult] that matches the analysis query, or
+ // empty if no result is found.
+ repeated IamPolicyAnalysisResult analysis_results = 2;
+
+ // Represents whether all entries in the [analysis_results][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
+ // fully explored to answer the query.
+ bool fully_explored = 3;
+ }
+
+ // The main analysis that matches the original request.
+ IamPolicyAnalysis main_analysis = 1;
+
+ // The service account impersonation analysis if
+ // [AnalyzeIamPolicyRequest.analyze_service_account_impersonation][] is
+ // enabled.
+ repeated IamPolicyAnalysis service_account_impersonation_analysis = 2;
+
+ // Represents whether all entries in the [main_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.main_analysis] and
+ // [service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
+ // answer the query in the request.
+ bool fully_explored = 3;
+
+ // A list of non-critical errors happened during the request handling to
+ // explain why `fully_explored` is false, or empty if no error happened.
+ repeated IamPolicyAnalysisResult.AnalysisState non_critical_errors = 4;
+}
+
+// Output configuration for export IAM policy analysis destination.
+message IamPolicyAnalysisOutputConfig {
+ // A Cloud Storage location.
+ message GcsDestination {
+ // Required. The uri of the Cloud Storage object. It's the same uri that is used by
+ // gsutil. For example: "gs://bucket_name/object_name". See [Viewing and
+ // Editing Object
+ // Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
+ // for more information.
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // IAM policy analysis export destination.
+ oneof destination {
+ // Destination on Cloud Storage.
+ GcsDestination gcs_destination = 1;
+ }
+}
+
+// A request message for [AssetService.ExportIamPolicyAnalysis][google.cloud.asset.v1p4beta1.AssetService.ExportIamPolicyAnalysis].
+message ExportIamPolicyAnalysisRequest {
+ // Contains request options.
+ message Options {
+ // Optional. If true, the identities section of the result will expand any
+ // Google groups appearing in an IAM policy binding.
+ //
+ // If [identity_selector][] is specified, the identity in the result will
+ // be determined by the selector, and this flag will have no effect.
+ //
+ // Default is false.
+ bool expand_groups = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the access section of result will expand any roles
+ // appearing in IAM policy bindings to include their permissions.
+ //
+ // If [access_selector][] is specified, the access section of the result
+ // will be determined by the selector, and this flag will have no effect.
+ //
+ // Default is false.
+ bool expand_roles = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the resource section of the result will expand any
+ // resource attached to an IAM policy to include resources lower in the
+ // resource hierarchy.
+ //
+ // For example, if the request analyzes for which resources user A has
+ // permission P, and the results include an IAM policy with P on a GCP
+ // folder, the results will also include resources in that folder with
+ // permission P.
+ //
+ // If [resource_selector][] is specified, the resource section of the result
+ // will be determined by the selector, and this flag will have no effect.
+ // Default is false.
+ bool expand_resources = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the result will output resource edges, starting
+ // from the policy attached resource, to any expanded resources.
+ // Default is false.
+ bool output_resource_edges = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the result will output group identity edges, starting
+ // from the binding's group members, to any expanded identities.
+ // Default is false.
+ bool output_group_edges = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If true, the response will include access analysis from identities to
+ // resources via service account impersonation. This is a very expensive
+ // operation, because many derived queries will be executed.
+ //
+ // For example, if the request analyzes for which resources user A has
+ // permission P, and there's an IAM policy states user A has
+ // iam.serviceAccounts.getAccessToken permission to a service account SA,
+ // and there's another IAM policy states service account SA has permission P
+ // to a GCP folder F, then user A potentially has access to the GCP folder
+ // F. And those advanced analysis results will be included in
+ // [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
+ //
+ // Another example, if the request analyzes for who has
+ // permission P to a GCP folder F, and there's an IAM policy states user A
+ // has iam.serviceAccounts.actAs permission to a service account SA, and
+ // there's another IAM policy states service account SA has permission P to
+ // the GCP folder F, then user A potentially has access to the GCP folder
+ // F. And those advanced analysis results will be included in
+ // [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
+ //
+ // Default is false.
+ bool analyze_service_account_impersonation = 6 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Required. The request query.
+ IamPolicyAnalysisQuery analysis_query = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The request options.
+ Options options = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Output configuration indicating where the results will be output to.
+ IamPolicyAnalysisOutputConfig output_config = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The export IAM policy analysis response. This message is returned by the
+// [google.longrunning.Operations.GetOperation][] method in the returned
+// [google.longrunning.Operation.response][] field.
+message ExportIamPolicyAnalysisResponse {
+ // Output configuration indicating where the results were output to.
+ IamPolicyAnalysisOutputConfig output_config = 1;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/assets.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/assets.proto
new file mode 100644
index 00000000000..0d7c5e055be
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p4beta1/assets.proto
@@ -0,0 +1,167 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p4beta1;
+
+import "google/iam/v1/policy.proto";
+import "google/rpc/code.proto";
+import "google/api/annotations.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Asset.V1P4Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p4beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetProto";
+option java_package = "com.google.cloud.asset.v1p4beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p4beta1";
+
+// IAM Policy analysis result, consisting of one IAM policy binding and derived
+// access control lists.
+message IamPolicyAnalysisResult {
+ // Represents analysis state of each node in the result graph or non-critical
+ // errors in the response.
+ message AnalysisState {
+ // The Google standard error code that best describes the state.
+ // For example:
+ // - OK means the node has been successfully explored;
+ // - PERMISSION_DENIED means an access denied error is encountered;
+ // - DEADLINE_EXCEEDED means the node hasn't been explored in time;
+ google.rpc.Code code = 1;
+
+ // The human-readable description of the cause of failure.
+ string cause = 2;
+ }
+
+ // A GCP resource that appears in an access control list.
+ message Resource {
+ // The [full resource name](https://aip.dev/122#full-resource-names).
+ string full_resource_name = 1;
+
+ // The analysis state of this resource node.
+ AnalysisState analysis_state = 2;
+ }
+
+ // A role or permission that appears in an access control list.
+ message Access {
+ oneof oneof_access {
+ // The role.
+ string role = 1;
+
+ // The permission.
+ string permission = 2;
+ }
+
+ // The analysis state of this access node.
+ AnalysisState analysis_state = 3;
+ }
+
+ // A directional edge.
+ message Edge {
+ // The source node of the edge.
+ string source_node = 1;
+
+ // The target node of the edge.
+ string target_node = 2;
+ }
+
+ // An identity that appears in an access control list.
+ message Identity {
+ // The identity name in any form of members appear in
+ // [IAM policy
+ // binding](https://cloud.google.com/iam/reference/rest/v1/Binding), such
+ // as:
+ // - user:foo@google.com
+ // - group:group1@google.com
+ // - serviceAccount:s1@prj1.iam.gserviceaccount.com
+ // - projectOwner:some_project_id
+ // - domain:google.com
+ // - allUsers
+ // - etc.
+ string name = 1;
+
+ // The analysis state of this identity node.
+ AnalysisState analysis_state = 2;
+ }
+
+ // An access control list, derived from the above IAM policy binding, which
+ // contains a set of resources and accesses. May include one
+ // item from each set to compose an access control entry.
+ //
+ // NOTICE that there could be multiple access control lists for one IAM policy
+ // binding. The access control lists are created based on resource and access
+ // combinations.
+ //
+ // For example, assume we have the following cases in one IAM policy binding:
+ // - Permission P1 and P2 apply to resource R1 and R2;
+ // - Permission P3 applies to resource R2 and R3;
+ //
+ // This will result in the following access control lists:
+ // - AccessControlList 1: [R1, R2], [P1, P2]
+ // - AccessControlList 2: [R2, R3], [P3]
+ message AccessControlList {
+ // The resources that match one of the following conditions:
+ // - The resource_selector, if it is specified in request;
+ // - Otherwise, resources reachable from the policy attached resource.
+ repeated Resource resources = 1;
+
+ // The accesses that match one of the following conditions:
+ // - The access_selector, if it is specified in request;
+ // - Otherwise, access specifiers reachable from the policy binding's role.
+ repeated Access accesses = 2;
+
+ // Resource edges of the graph starting from the policy attached
+ // resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge.source_node] contains
+ // the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge.target_node]
+ // contains the full resource name of a child resource. This field is
+ // present only if the output_resource_edges option is enabled in request.
+ repeated Edge resource_edges = 3;
+ }
+
+ message IdentityList {
+ // Only the identities that match one of the following conditions will be
+ // presented:
+ // - The identity_selector, if it is specified in request;
+ // - Otherwise, identities reachable from the policy binding's members.
+ repeated Identity identities = 1;
+
+ // Group identity edges of the graph starting from the binding's
+ // group members to any node of the [identities][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge.source_node]
+ // contains a group, such as "group:parent@google.com". The
+ // [Edge.target_node][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
+ // such as "group:child@google.com" or "user:foo@google.com".
+ // This field is present only if the output_group_edges option is enabled in
+ // request.
+ repeated Edge group_edges = 2;
+ }
+
+ // The full name of the resource to which the [iam_binding][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.iam_binding] policy attaches.
+ string attached_resource_full_name = 1;
+
+ // The Cloud IAM policy binding under analysis.
+ google.iam.v1.Binding iam_binding = 2;
+
+ // The access control lists derived from the [iam_binding][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.iam_binding] that match or
+ // potentially match resource and access selectors specified in the request.
+ repeated AccessControlList access_control_lists = 3;
+
+ // The identity list derived from members of the [iam_binding][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.iam_binding] that match or
+ // potentially match identity selector specified in the request.
+ IdentityList identity_list = 4;
+
+ // Represents whether all nodes in the transitive closure of the
+ // [iam_binding][google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.iam_binding] node have been explored.
+ bool fully_explored = 5;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p5beta1/asset_service.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p5beta1/asset_service.proto
new file mode 100644
index 00000000000..52233ad05b3
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p5beta1/asset_service.proto
@@ -0,0 +1,112 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p5beta1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/cloud/asset/v1p5beta1/assets.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.Asset.V1P5Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p5beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetServiceProto";
+option java_package = "com.google.cloud.asset.v1p5beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p5beta1";
+
+// Asset service definition.
+service AssetService {
+ option (google.api.default_host) = "cloudasset.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Lists assets with time and resource types and returns paged results in
+ // response.
+ rpc ListAssets(ListAssetsRequest) returns (ListAssetsResponse) {
+ option (google.api.http) = {
+ get: "/v1p5beta1/{parent=*/*}/assets"
+ };
+ }
+}
+
+// ListAssets request.
+message ListAssetsRequest {
+ // Required. Name of the organization or project the assets belong to. Format:
+ // "organizations/[organization-number]" (such as "organizations/123"),
+ // "projects/[project-number]" (such as "projects/my-project-id"), or
+ // "projects/[project-id]" (such as "projects/12345").
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Timestamp to take an asset snapshot. This can only be set to a timestamp
+ // between 2018-10-02 UTC (inclusive) and the current time. If not specified,
+ // the current time will be used. Due to delays in resource data collection
+ // and indexing, there is a volatile window during which running the same
+ // query may get different results.
+ google.protobuf.Timestamp read_time = 2;
+
+ // A list of asset types of which to take a snapshot for. For example:
+ // "compute.googleapis.com/Disk". If specified, only matching assets will be
+ // returned. See [Introduction to Cloud Asset
+ // Inventory](https://cloud.google.com/resource-manager/docs/cloud-asset-inventory/overview)
+ // for all supported asset types.
+ repeated string asset_types = 3;
+
+ // Asset content type. If not specified, no content but the asset name will
+ // be returned.
+ ContentType content_type = 4;
+
+ // The maximum number of assets to be returned in a single response. Default
+ // is 100, minimum is 1, and maximum is 1000.
+ int32 page_size = 5;
+
+ // The `next_page_token` returned from the previous `ListAssetsResponse`, or
+ // unspecified for the first `ListAssetsRequest`. It is a continuation of a
+ // prior `ListAssets` call, and the API should return the next page of assets.
+ string page_token = 6;
+}
+
+// Asset content type.
+enum ContentType {
+ // Unspecified content type.
+ CONTENT_TYPE_UNSPECIFIED = 0;
+
+ // Resource metadata.
+ RESOURCE = 1;
+
+ // The actual IAM policy set on a resource.
+ IAM_POLICY = 2;
+
+ // The Cloud Organization Policy set on an asset.
+ ORG_POLICY = 4;
+
+ // The Cloud Access context mananger Policy set on an asset.
+ ACCESS_POLICY = 5;
+}
+
+// ListAssets response.
+message ListAssetsResponse {
+ // Time the snapshot was taken.
+ google.protobuf.Timestamp read_time = 1;
+
+ // Assets.
+ repeated Asset assets = 2;
+
+ // Token to retrieve the next page of results. Set to empty if there are no
+ // remaining results.
+ string next_page_token = 3;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/asset/v1p5beta1/assets.proto b/packages/google-cloud-asset/protos/google/cloud/asset/v1p5beta1/assets.proto
new file mode 100644
index 00000000000..7ad133a5484
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/asset/v1p5beta1/assets.proto
@@ -0,0 +1,124 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.asset.v1p5beta1;
+
+import "google/api/resource.proto";
+import "google/cloud/orgpolicy/v1/orgpolicy.proto";
+import "google/iam/v1/policy.proto";
+import "google/identity/accesscontextmanager/v1/access_level.proto";
+import "google/identity/accesscontextmanager/v1/access_policy.proto";
+import "google/identity/accesscontextmanager/v1/service_perimeter.proto";
+import "google/protobuf/struct.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Asset.V1p5Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/asset/v1p5beta1;asset";
+option java_multiple_files = true;
+option java_outer_classname = "AssetProto";
+option java_package = "com.google.cloud.asset.v1p5beta1";
+option php_namespace = "Google\\Cloud\\Asset\\V1p5beta1";
+
+// Cloud asset. This includes all Google Cloud Platform resources,
+// Cloud IAM policies, and other non-GCP assets.
+message Asset {
+ option (google.api.resource) = {
+ type: "cloudasset.googleapis.com/Asset"
+ pattern: "*"
+ };
+
+ // The full name of the asset. For example:
+ // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`.
+ // See [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ string name = 1;
+
+ // Type of the asset. Example: "compute.googleapis.com/Disk".
+ string asset_type = 2;
+
+ // Representation of the resource.
+ Resource resource = 3;
+
+ // Representation of the actual Cloud IAM policy set on a cloud resource. For
+ // each resource, there must be at most one Cloud IAM policy set on it.
+ google.iam.v1.Policy iam_policy = 4;
+
+ // Representation of the Cloud Organization Policy set on an asset. For each
+ // asset, there could be multiple Organization policies with different
+ // constraints.
+ repeated google.cloud.orgpolicy.v1.Policy org_policy = 6;
+
+ // Representation of the Cloud Organization access policy.
+ oneof access_context_policy {
+ google.identity.accesscontextmanager.v1.AccessPolicy access_policy = 7;
+
+ google.identity.accesscontextmanager.v1.AccessLevel access_level = 8;
+
+ google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter =
+ 9;
+ }
+
+ // Asset's ancestry path in Cloud Resource Manager (CRM) hierarchy,
+ // represented as a list of relative resource names. Ancestry path starts with
+ // the closest CRM ancestor and ends at root. If the asset is a CRM
+ // project/folder/organization, this starts from the asset itself.
+ //
+ // Example: ["projects/123456789", "folders/5432", "organizations/1234"]
+ repeated string ancestors = 10;
+}
+
+// Representation of a cloud resource.
+message Resource {
+ // The API version. Example: "v1".
+ string version = 1;
+
+ // The URL of the discovery document containing the resource's JSON schema.
+ // For example:
+ // `"https://www.googleapis.com/discovery/v1/apis/compute/v1/rest"`.
+ // It will be left unspecified for resources without a discovery-based API,
+ // such as Cloud Bigtable.
+ string discovery_document_uri = 2;
+
+ // The JSON schema name listed in the discovery document.
+ // Example: "Project". It will be left unspecified for resources (such as
+ // Cloud Bigtable) without a discovery-based API.
+ string discovery_name = 3;
+
+ // The REST URL for accessing the resource. An HTTP GET operation using this
+ // URL returns the resource itself.
+ // Example:
+ // `https://cloudresourcemanager.googleapis.com/v1/projects/my-project-123`.
+ // It will be left unspecified for resources without a REST API.
+ string resource_url = 4;
+
+ // The full name of the immediate parent of this resource. See
+ // [Resource
+ // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name)
+ // for more information.
+ //
+ // For GCP assets, it is the parent resource defined in the [Cloud IAM policy
+ // hierarchy](https://cloud.google.com/iam/docs/overview#policy_hierarchy).
+ // For example:
+ // `"//cloudresourcemanager.googleapis.com/projects/my_project_123"`.
+ //
+ // For third-party assets, it is up to the users to define.
+ string parent = 5;
+
+ // The content of the resource, in which some sensitive fields are scrubbed
+ // away and may not be present.
+ google.protobuf.Struct data = 6;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/common_resources.proto b/packages/google-cloud-asset/protos/google/cloud/common_resources.proto
new file mode 100644
index 00000000000..56c9f800d5e
--- /dev/null
+++ b/packages/google-cloud-asset/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-asset/protos/google/cloud/orgpolicy/v1/orgpolicy.proto b/packages/google-cloud-asset/protos/google/cloud/orgpolicy/v1/orgpolicy.proto
new file mode 100644
index 00000000000..fbd62df6f3f
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/orgpolicy/v1/orgpolicy.proto
@@ -0,0 +1,315 @@
+// 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.
+//
+
+syntax = "proto3";
+
+package google.cloud.orgpolicy.v1;
+
+import "google/protobuf/empty.proto";
+import "google/protobuf/timestamp.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Cloud.OrgPolicy.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/orgpolicy/v1;orgpolicy";
+option java_multiple_files = true;
+option java_outer_classname = "OrgPolicyProto";
+option java_package = "com.google.cloud.orgpolicy.v1";
+option php_namespace = "Google\\Cloud\\OrgPolicy\\V1";
+option ruby_package = "Google::Cloud::OrgPolicy::V1";
+
+// Defines a Cloud Organization `Policy` which is used to specify `Constraints`
+// for configurations of Cloud Platform resources.
+message Policy {
+ // Used in `policy_type` to specify how `list_policy` behaves at this
+ // resource.
+ //
+ // `ListPolicy` can define specific values and subtrees of Cloud Resource
+ // Manager resource hierarchy (`Organizations`, `Folders`, `Projects`) that
+ // are allowed or denied by setting the `allowed_values` and `denied_values`
+ // fields. This is achieved by using the `under:` and optional `is:` prefixes.
+ // The `under:` prefix is used to denote resource subtree values.
+ // The `is:` prefix is used to denote specific values, and is required only
+ // if the value contains a ":". Values prefixed with "is:" are treated the
+ // same as values with no prefix.
+ // Ancestry subtrees must be in one of the following formats:
+ // - "projects/", e.g. "projects/tokyo-rain-123"
+ // - "folders/", e.g. "folders/1234"
+ // - "organizations/", e.g. "organizations/1234"
+ // The `supports_under` field of the associated `Constraint` defines whether
+ // ancestry prefixes can be used. You can set `allowed_values` and
+ // `denied_values` in the same `Policy` if `all_values` is
+ // `ALL_VALUES_UNSPECIFIED`. `ALLOW` or `DENY` are used to allow or deny all
+ // values. If `all_values` is set to either `ALLOW` or `DENY`,
+ // `allowed_values` and `denied_values` must be unset.
+ message ListPolicy {
+ // This enum can be used to set `Policies` that apply to all possible
+ // configuration values rather than specific values in `allowed_values` or
+ // `denied_values`.
+ //
+ // Settting this to `ALLOW` will mean this `Policy` allows all values.
+ // Similarly, setting it to `DENY` will mean no values are allowed. If
+ // set to either `ALLOW` or `DENY, `allowed_values` and `denied_values`
+ // must be unset. Setting this to `ALL_VALUES_UNSPECIFIED` allows for
+ // setting `allowed_values` and `denied_values`.
+ enum AllValues {
+ // Indicates that allowed_values or denied_values must be set.
+ ALL_VALUES_UNSPECIFIED = 0;
+
+ // A policy with this set allows all values.
+ ALLOW = 1;
+
+ // A policy with this set denies all values.
+ DENY = 2;
+ }
+
+ // List of values allowed at this resource. Can only be set if `all_values`
+ // is set to `ALL_VALUES_UNSPECIFIED`.
+ repeated string allowed_values = 1;
+
+ // List of values denied at this resource. Can only be set if `all_values`
+ // is set to `ALL_VALUES_UNSPECIFIED`.
+ repeated string denied_values = 2;
+
+ // The policy all_values state.
+ AllValues all_values = 3;
+
+ // Optional. The Google Cloud Console will try to default to a configuration
+ // that matches the value specified in this `Policy`. If `suggested_value`
+ // is not set, it will inherit the value specified higher in the hierarchy,
+ // unless `inherit_from_parent` is `false`.
+ string suggested_value = 4;
+
+ // Determines the inheritance behavior for this `Policy`.
+ //
+ // By default, a `ListPolicy` set at a resource supercedes any `Policy` set
+ // anywhere up the resource hierarchy. However, if `inherit_from_parent` is
+ // set to `true`, then the values from the effective `Policy` of the parent
+ // resource are inherited, meaning the values set in this `Policy` are
+ // added to the values inherited up the hierarchy.
+ //
+ // Setting `Policy` hierarchies that inherit both allowed values and denied
+ // values isn't recommended in most circumstances to keep the configuration
+ // simple and understandable. However, it is possible to set a `Policy` with
+ // `allowed_values` set that inherits a `Policy` with `denied_values` set.
+ // In this case, the values that are allowed must be in `allowed_values` and
+ // not present in `denied_values`.
+ //
+ // For example, suppose you have a `Constraint`
+ // `constraints/serviceuser.services`, which has a `constraint_type` of
+ // `list_constraint`, and with `constraint_default` set to `ALLOW`.
+ // Suppose that at the Organization level, a `Policy` is applied that
+ // restricts the allowed API activations to {`E1`, `E2`}. Then, if a
+ // `Policy` is applied to a project below the Organization that has
+ // `inherit_from_parent` set to `false` and field all_values set to DENY,
+ // then an attempt to activate any API will be denied.
+ //
+ // The following examples demonstrate different possible layerings for
+ // `projects/bar` parented by `organizations/foo`:
+ //
+ // Example 1 (no inherited values):
+ // `organizations/foo` has a `Policy` with values:
+ // {allowed_values: "E1" allowed_values:"E2"}
+ // `projects/bar` has `inherit_from_parent` `false` and values:
+ // {allowed_values: "E3" allowed_values: "E4"}
+ // The accepted values at `organizations/foo` are `E1`, `E2`.
+ // The accepted values at `projects/bar` are `E3`, and `E4`.
+ //
+ // Example 2 (inherited values):
+ // `organizations/foo` has a `Policy` with values:
+ // {allowed_values: "E1" allowed_values:"E2"}
+ // `projects/bar` has a `Policy` with values:
+ // {value: "E3" value: "E4" inherit_from_parent: true}
+ // The accepted values at `organizations/foo` are `E1`, `E2`.
+ // The accepted values at `projects/bar` are `E1`, `E2`, `E3`, and `E4`.
+ //
+ // Example 3 (inheriting both allowed and denied values):
+ // `organizations/foo` has a `Policy` with values:
+ // {allowed_values: "E1" allowed_values: "E2"}
+ // `projects/bar` has a `Policy` with:
+ // {denied_values: "E1"}
+ // The accepted values at `organizations/foo` are `E1`, `E2`.
+ // The value accepted at `projects/bar` is `E2`.
+ //
+ // Example 4 (RestoreDefault):
+ // `organizations/foo` has a `Policy` with values:
+ // {allowed_values: "E1" allowed_values:"E2"}
+ // `projects/bar` has a `Policy` with values:
+ // {RestoreDefault: {}}
+ // The accepted values at `organizations/foo` are `E1`, `E2`.
+ // The accepted values at `projects/bar` are either all or none depending on
+ // the value of `constraint_default` (if `ALLOW`, all; if
+ // `DENY`, none).
+ //
+ // Example 5 (no policy inherits parent policy):
+ // `organizations/foo` has no `Policy` set.
+ // `projects/bar` has no `Policy` set.
+ // The accepted values at both levels are either all or none depending on
+ // the value of `constraint_default` (if `ALLOW`, all; if
+ // `DENY`, none).
+ //
+ // Example 6 (ListConstraint allowing all):
+ // `organizations/foo` has a `Policy` with values:
+ // {allowed_values: "E1" allowed_values: "E2"}
+ // `projects/bar` has a `Policy` with:
+ // {all: ALLOW}
+ // The accepted values at `organizations/foo` are `E1`, E2`.
+ // Any value is accepted at `projects/bar`.
+ //
+ // Example 7 (ListConstraint allowing none):
+ // `organizations/foo` has a `Policy` with values:
+ // {allowed_values: "E1" allowed_values: "E2"}
+ // `projects/bar` has a `Policy` with:
+ // {all: DENY}
+ // The accepted values at `organizations/foo` are `E1`, E2`.
+ // No value is accepted at `projects/bar`.
+ //
+ // Example 10 (allowed and denied subtrees of Resource Manager hierarchy):
+ // Given the following resource hierarchy
+ // O1->{F1, F2}; F1->{P1}; F2->{P2, P3},
+ // `organizations/foo` has a `Policy` with values:
+ // {allowed_values: "under:organizations/O1"}
+ // `projects/bar` has a `Policy` with:
+ // {allowed_values: "under:projects/P3"}
+ // {denied_values: "under:folders/F2"}
+ // The accepted values at `organizations/foo` are `organizations/O1`,
+ // `folders/F1`, `folders/F2`, `projects/P1`, `projects/P2`,
+ // `projects/P3`.
+ // The accepted values at `projects/bar` are `organizations/O1`,
+ // `folders/F1`, `projects/P1`.
+ bool inherit_from_parent = 5;
+ }
+
+ // Used in `policy_type` to specify how `boolean_policy` will behave at this
+ // resource.
+ message BooleanPolicy {
+ // If `true`, then the `Policy` is enforced. If `false`, then any
+ // configuration is acceptable.
+ //
+ // Suppose you have a `Constraint`
+ // `constraints/compute.disableSerialPortAccess` with `constraint_default`
+ // set to `ALLOW`. A `Policy` for that `Constraint` exhibits the following
+ // behavior:
+ // - If the `Policy` at this resource has enforced set to `false`, serial
+ // port connection attempts will be allowed.
+ // - If the `Policy` at this resource has enforced set to `true`, serial
+ // port connection attempts will be refused.
+ // - If the `Policy` at this resource is `RestoreDefault`, serial port
+ // connection attempts will be allowed.
+ // - If no `Policy` is set at this resource or anywhere higher in the
+ // resource hierarchy, serial port connection attempts will be allowed.
+ // - If no `Policy` is set at this resource, but one exists higher in the
+ // resource hierarchy, the behavior is as if the`Policy` were set at
+ // this resource.
+ //
+ // The following examples demonstrate the different possible layerings:
+ //
+ // Example 1 (nearest `Constraint` wins):
+ // `organizations/foo` has a `Policy` with:
+ // {enforced: false}
+ // `projects/bar` has no `Policy` set.
+ // The constraint at `projects/bar` and `organizations/foo` will not be
+ // enforced.
+ //
+ // Example 2 (enforcement gets replaced):
+ // `organizations/foo` has a `Policy` with:
+ // {enforced: false}
+ // `projects/bar` has a `Policy` with:
+ // {enforced: true}
+ // The constraint at `organizations/foo` is not enforced.
+ // The constraint at `projects/bar` is enforced.
+ //
+ // Example 3 (RestoreDefault):
+ // `organizations/foo` has a `Policy` with:
+ // {enforced: true}
+ // `projects/bar` has a `Policy` with:
+ // {RestoreDefault: {}}
+ // The constraint at `organizations/foo` is enforced.
+ // The constraint at `projects/bar` is not enforced, because
+ // `constraint_default` for the `Constraint` is `ALLOW`.
+ bool enforced = 1;
+ }
+
+ // Ignores policies set above this resource and restores the
+ // `constraint_default` enforcement behavior of the specific `Constraint` at
+ // this resource.
+ //
+ // Suppose that `constraint_default` is set to `ALLOW` for the
+ // `Constraint` `constraints/serviceuser.services`. Suppose that organization
+ // foo.com sets a `Policy` at their Organization resource node that restricts
+ // the allowed service activations to deny all service activations. They
+ // could then set a `Policy` with the `policy_type` `restore_default` on
+ // several experimental projects, restoring the `constraint_default`
+ // enforcement of the `Constraint` for only those projects, allowing those
+ // projects to have all services activated.
+ message RestoreDefault {
+
+ }
+
+ // Version of the `Policy`. Default version is 0;
+ int32 version = 1;
+
+ // The name of the `Constraint` the `Policy` is configuring, for example,
+ // `constraints/serviceuser.services`.
+ //
+ // Immutable after creation.
+ string constraint = 2;
+
+ // An opaque tag indicating the current version of the `Policy`, used for
+ // concurrency control.
+ //
+ // When the `Policy` is returned from either a `GetPolicy` or a
+ // `ListOrgPolicy` request, this `etag` indicates the version of the current
+ // `Policy` to use when executing a read-modify-write loop.
+ //
+ // When the `Policy` is returned from a `GetEffectivePolicy` request, the
+ // `etag` will be unset.
+ //
+ // When the `Policy` is used in a `SetOrgPolicy` method, use the `etag` value
+ // that was returned from a `GetOrgPolicy` request as part of a
+ // read-modify-write loop for concurrency control. Not setting the `etag`in a
+ // `SetOrgPolicy` request will result in an unconditional write of the
+ // `Policy`.
+ bytes etag = 3;
+
+ // The time stamp the `Policy` was previously updated. This is set by the
+ // server, not specified by the caller, and represents the last time a call to
+ // `SetOrgPolicy` was made for that `Policy`. Any value set by the client will
+ // be ignored.
+ google.protobuf.Timestamp update_time = 4;
+
+ // The field to populate is based on the `constraint_type` value in the
+ // `Constraint`.
+ // `list_constraint` => `list_policy`
+ // `boolean_constraint` => `boolean_policy`
+ //
+ // A `restore_default` message may be used with any `Constraint` type.
+ //
+ // Providing a *_policy that is incompatible with the `constraint_type` will
+ // result in an `invalid_argument` error.
+ //
+ // Attempting to set a `Policy` with a `policy_type` not set will result in an
+ // `invalid_argument` error.
+ oneof policy_type {
+ // List of values either allowed or disallowed.
+ ListPolicy list_policy = 5;
+
+ // For boolean `Constraints`, whether to enforce the `Constraint` or not.
+ BooleanPolicy boolean_policy = 6;
+
+ // Restores the default behavior of the constraint; independent of
+ // `Constraint` type.
+ RestoreDefault restore_default = 7;
+ }
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/inventory.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/inventory.proto
new file mode 100644
index 00000000000..92c2b81c832
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/inventory.proto
@@ -0,0 +1,384 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/date.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_multiple_files = true;
+option java_outer_classname = "Inventories";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// OS Config Inventory is a service for collecting and reporting operating
+// system and package information on VM instances.
+
+// This API resource represents the available inventory data for a
+// Compute Engine virtual machine (VM) instance at a given point in time.
+//
+// You can use this API resource to determine the inventory data of your VM.
+//
+// For more information, see [Information provided by OS inventory
+// management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected).
+message Inventory {
+ option (google.api.resource) = {
+ type: "osconfig.googleapis.com/Inventory"
+ pattern: "projects/{project}/locations/{location}/instances/{instance}/inventory"
+ };
+
+ // Operating system information for the VM.
+ message OsInfo {
+ // The VM hostname.
+ string hostname = 9;
+
+ // The operating system long name.
+ // For example 'Debian GNU/Linux 9' or 'Microsoft Window Server 2019
+ // Datacenter'.
+ string long_name = 2;
+
+ // The operating system short name.
+ // For example, 'windows' or 'debian'.
+ string short_name = 3;
+
+ // The version of the operating system.
+ string version = 4;
+
+ // The system architecture of the operating system.
+ string architecture = 5;
+
+ // The kernel version of the operating system.
+ string kernel_version = 6;
+
+ // The kernel release of the operating system.
+ string kernel_release = 7;
+
+ // The current version of the OS Config agent running on the VM.
+ string osconfig_agent_version = 8;
+ }
+
+ // A single piece of inventory on a VM.
+ message Item {
+ // The origin of a specific inventory item.
+ enum OriginType {
+ // Invalid. An origin type must be specified.
+ ORIGIN_TYPE_UNSPECIFIED = 0;
+
+ // This inventory item was discovered as the result of the agent
+ // reporting inventory via the reporting API.
+ INVENTORY_REPORT = 1;
+ }
+
+ // The different types of inventory that are tracked on a VM.
+ enum Type {
+ // Invalid. An type must be specified.
+ TYPE_UNSPECIFIED = 0;
+
+ // This represents a package that is installed on the VM.
+ INSTALLED_PACKAGE = 1;
+
+ // This represents an update that is available for a package.
+ AVAILABLE_PACKAGE = 2;
+ }
+
+ // Identifier for this item, unique across items for this VM.
+ string id = 1;
+
+ // The origin of this inventory item.
+ OriginType origin_type = 2;
+
+ // When this inventory item was first detected.
+ google.protobuf.Timestamp create_time = 8;
+
+ // When this inventory item was last modified.
+ google.protobuf.Timestamp update_time = 9;
+
+ // The specific type of inventory, correlating to its specific details.
+ Type type = 5;
+
+ // Specific details of this inventory item based on its type.
+ oneof details {
+ // Software package present on the VM instance.
+ SoftwarePackage installed_package = 6;
+
+ // Software package available to be installed on the VM instance.
+ SoftwarePackage available_package = 7;
+ }
+ }
+
+ // Software package information of the operating system.
+ message SoftwarePackage {
+ // Information about the different types of software packages.
+ oneof details {
+ // Yum package info.
+ // For details about the yum package manager, see
+ // https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/ch-yum.
+ VersionedPackage yum_package = 1;
+
+ // Details of an APT package.
+ // For details about the apt package manager, see
+ // https://wiki.debian.org/Apt.
+ VersionedPackage apt_package = 2;
+
+ // Details of a Zypper package.
+ // For details about the Zypper package manager, see
+ // https://en.opensuse.org/SDB:Zypper_manual.
+ VersionedPackage zypper_package = 3;
+
+ // Details of a Googet package.
+ // For details about the googet package manager, see
+ // https://github.com/google/googet.
+ VersionedPackage googet_package = 4;
+
+ // Details of a Zypper patch.
+ // For details about the Zypper package manager, see
+ // https://en.opensuse.org/SDB:Zypper_manual.
+ ZypperPatch zypper_patch = 5;
+
+ // Details of a Windows Update package.
+ // See https://docs.microsoft.com/en-us/windows/win32/api/_wua/ for
+ // information about Windows Update.
+ WindowsUpdatePackage wua_package = 6;
+
+ // Details of a Windows Quick Fix engineering package.
+ // See
+ // https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
+ // for info in Windows Quick Fix Engineering.
+ WindowsQuickFixEngineeringPackage qfe_package = 7;
+
+ // Details of a COS package.
+ VersionedPackage cos_package = 8;
+
+ // Details of Windows Application.
+ WindowsApplication windows_application = 9;
+ }
+ }
+
+ // Information related to the a standard versioned package. This includes
+ // package info for APT, Yum, Zypper, and Googet package managers.
+ message VersionedPackage {
+ // The name of the package.
+ string package_name = 4;
+
+ // The system architecture this package is intended for.
+ string architecture = 2;
+
+ // The version of the package.
+ string version = 3;
+ }
+
+ // Details related to a Zypper Patch.
+ message ZypperPatch {
+ // The name of the patch.
+ string patch_name = 5;
+
+ // The category of the patch.
+ string category = 2;
+
+ // The severity specified for this patch
+ string severity = 3;
+
+ // Any summary information provided about this patch.
+ string summary = 4;
+ }
+
+ // Details related to a Windows Update package.
+ // Field data and names are taken from Windows Update API IUpdate Interface:
+ // https://docs.microsoft.com/en-us/windows/win32/api/_wua/
+ // Descriptive fields like title, and description are localized based on
+ // the locale of the VM being updated.
+ message WindowsUpdatePackage {
+ // Categories specified by the Windows Update.
+ message WindowsUpdateCategory {
+ // The identifier of the windows update category.
+ string id = 1;
+
+ // The name of the windows update category.
+ string name = 2;
+ }
+
+ // The localized title of the update package.
+ string title = 1;
+
+ // The localized description of the update package.
+ string description = 2;
+
+ // The categories that are associated with this update package.
+ repeated WindowsUpdateCategory categories = 3;
+
+ // A collection of Microsoft Knowledge Base article IDs that are associated
+ // with the update package.
+ repeated string kb_article_ids = 4;
+
+ // A hyperlink to the language-specific support information for the update.
+ string support_url = 11;
+
+ // A collection of URLs that provide more information about the update
+ // package.
+ repeated string more_info_urls = 5;
+
+ // Gets the identifier of an update package. Stays the same across
+ // revisions.
+ string update_id = 6;
+
+ // The revision number of this update package.
+ int32 revision_number = 7;
+
+ // The last published date of the update, in (UTC) date and time.
+ google.protobuf.Timestamp last_deployment_change_time = 10;
+ }
+
+ // Information related to a Quick Fix Engineering package.
+ // Fields are taken from Windows QuickFixEngineering Interface and match
+ // the source names:
+ // https://docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering
+ message WindowsQuickFixEngineeringPackage {
+ // A short textual description of the QFE update.
+ string caption = 1;
+
+ // A textual description of the QFE update.
+ string description = 2;
+
+ // Unique identifier associated with a particular QFE update.
+ string hot_fix_id = 3;
+
+ // Date that the QFE update was installed. Mapped from installed_on field.
+ google.protobuf.Timestamp install_time = 5;
+ }
+
+ // Contains information about a Windows application that is retrieved from the
+ // Windows Registry. For more information about these fields, see:
+ // https://docs.microsoft.com/en-us/windows/win32/msi/uninstall-registry-key
+ message WindowsApplication {
+ // The name of the application or product.
+ string display_name = 1;
+
+ // The version of the product or application in string format.
+ string display_version = 2;
+
+ // The name of the manufacturer for the product or application.
+ string publisher = 3;
+
+ // The last time this product received service. The value of this property
+ // is replaced each time a patch is applied or removed from the product or
+ // the command-line option is used to repair the product.
+ google.type.Date install_date = 4;
+
+ // The internet address for technical support.
+ string help_link = 5;
+ }
+
+ // Output only. The `Inventory` API resource name.
+ //
+ // Format:
+ // `projects/{project_number}/locations/{location}/instances/{instance_id}/inventory`
+ string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Base level operating system information for the VM.
+ OsInfo os_info = 1;
+
+ // Inventory items related to the VM keyed by an opaque unique identifier for
+ // each inventory item. The identifier is unique to each distinct and
+ // addressable inventory item and will change, when there is a new package
+ // version.
+ map items = 2;
+
+ // Output only. Timestamp of the last reported inventory for the VM.
+ google.protobuf.Timestamp update_time = 4
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A request message for getting inventory data for the specified VM.
+message GetInventoryRequest {
+ // Required. API resource name for inventory resource.
+ //
+ // Format:
+ // `projects/{project}/locations/{location}/instances/{instance}/inventory`
+ //
+ // For `{project}`, either `project-number` or `project-id` can be provided.
+ // For `{instance}`, either Compute Engine `instance-id` or `instance-name`
+ // can be provided.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/Inventory"
+ }
+ ];
+
+ // Inventory view indicating what information should be included in the
+ // inventory resource. If unspecified, the default view is BASIC.
+ InventoryView view = 2;
+}
+
+// A request message for listing inventory data for all VMs in the specified
+// location.
+message ListInventoriesRequest {
+ // Required. The parent resource name.
+ //
+ // Format: `projects/{project}/locations/{location}/instances/-`
+ //
+ // For `{project}`, either `project-number` or `project-id` can be provided.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "compute.googleapis.com/Instance"
+ }
+ ];
+
+ // Inventory view indicating what information should be included in the
+ // inventory resource. If unspecified, the default view is BASIC.
+ InventoryView view = 2;
+
+ // The maximum number of results to return.
+ int32 page_size = 3;
+
+ // A pagination token returned from a previous call to
+ // `ListInventories` that indicates where this listing
+ // should continue from.
+ string page_token = 4;
+
+ // If provided, this field specifies the criteria that must be met by a
+ // `Inventory` API resource to be included in the response.
+ string filter = 5;
+}
+
+// A response message for listing inventory data for all VMs in a specified
+// location.
+message ListInventoriesResponse {
+ // List of inventory objects.
+ repeated Inventory inventories = 1;
+
+ // The pagination token to retrieve the next page of inventory objects.
+ string next_page_token = 2;
+}
+
+// The view for inventory objects.
+enum InventoryView {
+ // The default value.
+ // The API defaults to the BASIC view.
+ INVENTORY_VIEW_UNSPECIFIED = 0;
+
+ // Returns the basic inventory information that includes `os_info`.
+ BASIC = 1;
+
+ // Returns all fields.
+ FULL = 2;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy.proto
new file mode 100644
index 00000000000..de0db191797
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy.proto
@@ -0,0 +1,548 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/field_behavior.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_multiple_files = true;
+option java_outer_classname = "OsPolicyProto";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// An OS policy defines the desired state configuration for a VM.
+message OSPolicy {
+ // Policy mode
+ enum Mode {
+ // Invalid mode
+ MODE_UNSPECIFIED = 0;
+
+ // This mode checks if the configuration resources in the policy are in
+ // their desired state. No actions are performed if they are not in the
+ // desired state. This mode is used for reporting purposes.
+ VALIDATION = 1;
+
+ // This mode checks if the configuration resources in the policy are in
+ // their desired state, and if not, enforces the desired state.
+ ENFORCEMENT = 2;
+ }
+
+ // Filtering criteria to select VMs based on inventory details.
+ message InventoryFilter {
+ // Required. The OS short name
+ string os_short_name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The OS version
+ //
+ // Prefix matches are supported if asterisk(*) is provided as the
+ // last character. For example, to match all versions with a major
+ // version of `7`, specify the following value for this field `7.*`
+ //
+ // An empty string matches all OS versions.
+ string os_version = 2;
+ }
+
+ // An OS policy resource is used to define the desired state configuration
+ // and provides a specific functionality like installing/removing packages,
+ // executing a script etc.
+ //
+ // The system ensures that resources are always in their desired state by
+ // taking necessary actions if they have drifted from their desired state.
+ message Resource {
+ // A remote or local file.
+ message File {
+ // Specifies a file available via some URI.
+ message Remote {
+ // Required. URI from which to fetch the object. It should contain both
+ // the protocol and path following the format `{protocol}://{location}`.
+ string uri = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // SHA256 checksum of the remote file.
+ string sha256_checksum = 2;
+ }
+
+ // Specifies a file available as a Cloud Storage Object.
+ message Gcs {
+ // Required. Bucket of the Cloud Storage object.
+ string bucket = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Name of the Cloud Storage object.
+ string object = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Generation number of the Cloud Storage object.
+ int64 generation = 3;
+ }
+
+ // A specific type of file.
+ oneof type {
+ // A generic remote file.
+ Remote remote = 1;
+
+ // A Cloud Storage object.
+ Gcs gcs = 2;
+
+ // A local path within the VM to use.
+ string local_path = 3;
+ }
+
+ // Defaults to false. When false, files are subject to validations
+ // based on the file type:
+ //
+ // Remote: A checksum must be specified.
+ // Cloud Storage: An object generation number must be specified.
+ bool allow_insecure = 4;
+ }
+
+ // A resource that manages a system package.
+ message PackageResource {
+ // The desired state that the OS Config agent maintains on the VM.
+ enum DesiredState {
+ // Unspecified is invalid.
+ DESIRED_STATE_UNSPECIFIED = 0;
+
+ // Ensure that the package is installed.
+ INSTALLED = 1;
+
+ // The agent ensures that the package is not installed and
+ // uninstalls it if detected.
+ REMOVED = 2;
+ }
+
+ // A deb package file. dpkg packages only support INSTALLED state.
+ message Deb {
+ // Required. A deb package.
+ File source = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Whether dependencies should also be installed.
+ // - install when false: `dpkg -i package`
+ // - install when true: `apt-get update && apt-get -y install
+ // package.deb`
+ bool pull_deps = 2;
+ }
+
+ // A package managed by APT.
+ // - install: `apt-get update && apt-get -y install [name]`
+ // - remove: `apt-get -y remove [name]`
+ message APT {
+ // Required. Package name.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // An RPM package file. RPM packages only support INSTALLED state.
+ message RPM {
+ // Required. An rpm package.
+ File source = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Whether dependencies should also be installed.
+ // - install when false: `rpm --upgrade --replacepkgs package.rpm`
+ // - install when true: `yum -y install package.rpm` or
+ // `zypper -y install package.rpm`
+ bool pull_deps = 2;
+ }
+
+ // A package managed by YUM.
+ // - install: `yum -y install package`
+ // - remove: `yum -y remove package`
+ message YUM {
+ // Required. Package name.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // A package managed by Zypper.
+ // - install: `zypper -y install package`
+ // - remove: `zypper -y rm package`
+ message Zypper {
+ // Required. Package name.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // A package managed by GooGet.
+ // - install: `googet -noconfirm install package`
+ // - remove: `googet -noconfirm remove package`
+ message GooGet {
+ // Required. Package name.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // An MSI package. MSI packages only support INSTALLED state.
+ message MSI {
+ // Required. The MSI package.
+ File source = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Additional properties to use during installation.
+ // This should be in the format of Property=Setting.
+ // Appended to the defaults of `ACTION=INSTALL
+ // REBOOT=ReallySuppress`.
+ repeated string properties = 2;
+ }
+
+ // Required. The desired state the agent should maintain for this package.
+ DesiredState desired_state = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // A system package.
+ oneof system_package {
+ // A package managed by Apt.
+ APT apt = 2;
+
+ // A deb package file.
+ Deb deb = 3;
+
+ // A package managed by YUM.
+ YUM yum = 4;
+
+ // A package managed by Zypper.
+ Zypper zypper = 5;
+
+ // An rpm package file.
+ RPM rpm = 6;
+
+ // A package managed by GooGet.
+ GooGet googet = 7;
+
+ // An MSI package.
+ MSI msi = 8;
+ }
+ }
+
+ // A resource that manages a package repository.
+ message RepositoryResource {
+ // Represents a single apt package repository. These will be added to
+ // a repo file that will be managed at
+ // `/etc/apt/sources.list.d/google_osconfig.list`.
+ message AptRepository {
+ // Type of archive.
+ enum ArchiveType {
+ // Unspecified is invalid.
+ ARCHIVE_TYPE_UNSPECIFIED = 0;
+
+ // Deb indicates that the archive contains binary files.
+ DEB = 1;
+
+ // Deb-src indicates that the archive contains source files.
+ DEB_SRC = 2;
+ }
+
+ // Required. Type of archive files in this repository.
+ ArchiveType archive_type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. URI for this repository.
+ string uri = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Distribution of this repository.
+ string distribution = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of components for this repository. Must contain at
+ // least one item.
+ repeated string components = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // URI of the key file for this repository. The agent maintains a
+ // keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
+ string gpg_key = 5;
+ }
+
+ // Represents a single yum package repository. These are added to a
+ // repo file that is managed at
+ // `/etc/yum.repos.d/google_osconfig.repo`.
+ message YumRepository {
+ // Required. A one word, unique name for this repository. This is the
+ // `repo id` in the yum config file and also the `display_name` if
+ // `display_name` is omitted. This id is also used as the unique
+ // identifier when checking for resource conflicts.
+ string id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The display name of the repository.
+ string display_name = 2;
+
+ // Required. The location of the repository directory.
+ string base_url = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // URIs of GPG keys.
+ repeated string gpg_keys = 4;
+ }
+
+ // Represents a single zypper package repository. These are added to a
+ // repo file that is managed at
+ // `/etc/zypp/repos.d/google_osconfig.repo`.
+ message ZypperRepository {
+ // Required. A one word, unique name for this repository. This is the
+ // `repo id` in the zypper config file and also the `display_name` if
+ // `display_name` is omitted. This id is also used as the unique
+ // identifier when checking for GuestPolicy conflicts.
+ string id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The display name of the repository.
+ string display_name = 2;
+
+ // Required. The location of the repository directory.
+ string base_url = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // URIs of GPG keys.
+ repeated string gpg_keys = 4;
+ }
+
+ // Represents a Goo package repository. These are added to a repo file
+ // that is managed at
+ // `C:/ProgramData/GooGet/repos/google_osconfig.repo`.
+ message GooRepository {
+ // Required. The name of the repository.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The url of the repository.
+ string url = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // A specific type of repository.
+ oneof repository {
+ // An Apt Repository.
+ AptRepository apt = 1;
+
+ // A Yum Repository.
+ YumRepository yum = 2;
+
+ // A Zypper Repository.
+ ZypperRepository zypper = 3;
+
+ // A Goo Repository.
+ GooRepository goo = 4;
+ }
+ }
+
+ // A resource that allows executing scripts on the VM.
+ //
+ // The `ExecResource` has 2 stages: `validate` and `enforce` and both stages
+ // accept a script as an argument to execute.
+ //
+ // When the `ExecResource` is applied by the agent, it first executes the
+ // script in the `validate` stage. The `validate` stage can signal that the
+ // `ExecResource` is already in the desired state by returning an exit code
+ // of `100`. If the `ExecResource` is not in the desired state, it should
+ // return an exit code of `101`. Any other exit code returned by this stage
+ // is considered an error.
+ //
+ // If the `ExecResource` is not in the desired state based on the exit code
+ // from the `validate` stage, the agent proceeds to execute the script from
+ // the `enforce` stage. If the `ExecResource` is already in the desired
+ // state, the `enforce` stage will not be run.
+ // Similar to `validate` stage, the `enforce` stage should return an exit
+ // code of `100` to indicate that the resource in now in its desired state.
+ // Any other exit code is considered an error.
+ //
+ // NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to
+ // have an explicit indicator of `in desired state`, `not in desired state`
+ // and errors. Because, for example, Powershell will always return an exit
+ // code of `0` unless an `exit` statement is provided in the script. So, for
+ // reasons of consistency and being explicit, exit codes `100` and `101`
+ // were chosen.
+ message ExecResource {
+ // A file or script to execute.
+ message Exec {
+ // The interpreter to use.
+ enum Interpreter {
+ // Invalid value, the request will return validation error.
+ INTERPRETER_UNSPECIFIED = 0;
+
+ // If an interpreter is not specified, the
+ // source is executed directly. This execution, without an
+ // interpreter, only succeeds for executables and scripts that have shebang lines.
+ NONE = 1;
+
+ // Indicates that the script runs with `/bin/sh` on Linux and
+ // `cmd.exe` on Windows.
+ SHELL = 2;
+
+ // Indicates that the script runs with PowerShell.
+ POWERSHELL = 3;
+ }
+
+ // What to execute.
+ oneof source {
+ // A remote or local file.
+ File file = 1;
+
+ // An inline script.
+ // The size of the script is limited to 1024 characters.
+ string script = 2;
+ }
+
+ // Optional arguments to pass to the source during execution.
+ repeated string args = 3;
+
+ // Required. The script interpreter to use.
+ Interpreter interpreter = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Only recorded for enforce Exec.
+ // Path to an output file (that is created by this Exec) whose
+ // content will be recorded in OSPolicyResourceCompliance after a
+ // successful run. Absence or failure to read this file will result in
+ // this ExecResource being non-compliant. Output file size is limited to
+ // 100K bytes.
+ string output_file_path = 5;
+ }
+
+ // Required. What to run to validate this resource is in the desired
+ // state. An exit code of 100 indicates "in desired state", and exit code
+ // of 101 indicates "not in desired state". Any other exit code indicates
+ // a failure running validate.
+ Exec validate = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // What to run to bring this resource into the desired state.
+ // An exit code of 100 indicates "success", any other exit code indicates
+ // a failure running enforce.
+ Exec enforce = 2;
+ }
+
+ // A resource that manages the state of a file.
+ message FileResource {
+ // Desired state of the file.
+ enum DesiredState {
+ // Unspecified is invalid.
+ DESIRED_STATE_UNSPECIFIED = 0;
+
+ // Ensure file at path is present.
+ PRESENT = 1;
+
+ // Ensure file at path is absent.
+ ABSENT = 2;
+
+ // Ensure the contents of the file at path matches. If the file does
+ // not exist it will be created.
+ CONTENTS_MATCH = 3;
+ }
+
+ // The source for the contents of the file.
+ oneof source {
+ // A remote or local source.
+ File file = 1;
+
+ // A a file with this content.
+ // The size of the content is limited to 1024 characters.
+ string content = 2;
+ }
+
+ // Required. The absolute path of the file within the VM.
+ string path = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Desired state of the file.
+ DesiredState state = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Consists of three octal digits which represent, in
+ // order, the permissions of the owner, group, and other users for the
+ // file (similarly to the numeric mode used in the linux chmod
+ // utility). Each digit represents a three bit number with the 4 bit
+ // corresponding to the read permissions, the 2 bit corresponds to the
+ // write bit, and the one bit corresponds to the execute permission.
+ // Default behavior is 755.
+ //
+ // Below are some examples of permissions and their associated values:
+ // read, write, and execute: 7
+ // read and execute: 5
+ // read and write: 6
+ // read only: 4
+ string permissions = 5;
+ }
+
+ // Required. The id of the resource with the following restrictions:
+ //
+ // * Must contain only lowercase letters, numbers, and hyphens.
+ // * Must start with a letter.
+ // * Must be between 1-63 characters.
+ // * Must end with a number or a letter.
+ // * Must be unique within the OS policy.
+ string id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Resource type.
+ oneof resource_type {
+ // Package resource
+ PackageResource pkg = 2;
+
+ // Package repository resource
+ RepositoryResource repository = 3;
+
+ // Exec resource
+ ExecResource exec = 4;
+
+ // File resource
+ FileResource file = 5;
+ }
+ }
+
+ // Resource groups provide a mechanism to group OS policy resources.
+ //
+ // Resource groups enable OS policy authors to create a single OS policy
+ // to be applied to VMs running different operating Systems.
+ //
+ // When the OS policy is applied to a target VM, the appropriate resource
+ // group within the OS policy is selected based on the `OSFilter` specified
+ // within the resource group.
+ message ResourceGroup {
+ // List of inventory filters for the resource group.
+ //
+ // The resources in this resource group are applied to the target VM if it
+ // satisfies at least one of the following inventory filters.
+ //
+ // For example, to apply this resource group to VMs running either `RHEL` or
+ // `CentOS` operating systems, specify 2 items for the list with following
+ // values:
+ // inventory_filters[0].os_short_name='rhel' and
+ // inventory_filters[1].os_short_name='centos'
+ //
+ // If the list is empty, this resource group will be applied to the target
+ // VM unconditionally.
+ repeated InventoryFilter inventory_filters = 1;
+
+ // Required. List of resources configured for this resource group.
+ // The resources are executed in the exact order specified here.
+ repeated Resource resources = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. The id of the OS policy with the following restrictions:
+ //
+ // * Must contain only lowercase letters, numbers, and hyphens.
+ // * Must start with a letter.
+ // * Must be between 1-63 characters.
+ // * Must end with a number or a letter.
+ // * Must be unique within the assignment.
+ string id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Policy description.
+ // Length of the description is limited to 1024 characters.
+ string description = 2;
+
+ // Required. Policy mode
+ Mode mode = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of resource groups for the policy.
+ // For a particular VM, resource groups are evaluated in the order specified
+ // and the first resource group that is applicable is selected and the rest
+ // are ignored.
+ //
+ // If none of the resource groups are applicable for a VM, the VM is
+ // considered to be non-compliant w.r.t this policy. This behavior can be
+ // toggled by the flag `allow_no_resource_group_match`
+ repeated ResourceGroup resource_groups = 4
+ [(google.api.field_behavior) = REQUIRED];
+
+ // This flag determines the OS policy compliance status when none of the
+ // resource groups within the policy are applicable for a VM. Set this value
+ // to `true` if the policy needs to be reported as compliant even if the
+ // policy has nothing to validate or enforce.
+ bool allow_no_resource_group_match = 5;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy_assignment_reports.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy_assignment_reports.proto
new file mode 100644
index 00000000000..aa4b2b11b4e
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy_assignment_reports.proto
@@ -0,0 +1,296 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_multiple_files = true;
+option java_outer_classname = "OSPolicyAssignmentReportsProto";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+option (google.api.resource_definition) = {
+ type: "osconfig.googleapis.com/InstanceOSPolicyAssignment"
+ pattern: "projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}"
+};
+
+// Get a report of the OS policy assignment for a VM instance.
+message GetOSPolicyAssignmentReportRequest {
+ // Required. API resource name for OS policy assignment report.
+ //
+ // Format:
+ // `/projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/report`
+ //
+ // For `{project}`, either `project-number` or `project-id` can be provided.
+ // For `{instance_id}`, either Compute Engine `instance-id` or `instance-name`
+ // can be provided.
+ // For `{assignment_id}`, the OSPolicyAssignment id must be provided.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignmentReport"
+ }
+ ];
+}
+
+// List the OS policy assignment reports for VM instances.
+message ListOSPolicyAssignmentReportsRequest {
+ // Required. The parent resource name.
+ //
+ // Format:
+ // `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/reports`
+ //
+ // For `{project}`, either `project-number` or `project-id` can be provided.
+ // For `{instance}`, either `instance-name`, `instance-id`, or `-` can be
+ // provided. If '-' is provided, the response will include
+ // OSPolicyAssignmentReports for all instances in the project/location.
+ // For `{assignment}`, either `assignment-id` or `-` can be provided. If '-'
+ // is provided, the response will include OSPolicyAssignmentReports for all
+ // OSPolicyAssignments in the project/location.
+ // Either {instance} or {assignment} must be `-`.
+ //
+ // For example:
+ // `projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/-/reports`
+ // returns all reports for the instance
+ // `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/{assignment-id}/reports`
+ // returns all the reports for the given assignment across all instances.
+ // `projects/{project}/locations/{location}/instances/-/osPolicyAssignments/-/reports`
+ // returns all the reports for all assignments across all instances.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/InstanceOSPolicyAssignment"
+ }
+ ];
+
+ // The maximum number of results to return.
+ int32 page_size = 2;
+
+ // If provided, this field specifies the criteria that must be met by the
+ // `OSPolicyAssignmentReport` API resource that is included in the response.
+ string filter = 3;
+
+ // A pagination token returned from a previous call to the
+ // `ListOSPolicyAssignmentReports` method that indicates where this listing
+ // should continue from.
+ string page_token = 4;
+}
+
+// A response message for listing OS Policy assignment reports including the
+// page of results and page token.
+message ListOSPolicyAssignmentReportsResponse {
+ // List of OS policy assignment reports.
+ repeated OSPolicyAssignmentReport os_policy_assignment_reports = 1;
+
+ // The pagination token to retrieve the next page of OS policy assignment
+ // report objects.
+ string next_page_token = 2;
+}
+
+// A report of the OS policy assignment status for a given instance.
+message OSPolicyAssignmentReport {
+ option (google.api.resource) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignmentReport"
+ pattern: "projects/{project}/locations/{location}/instances/{instance}/osPolicyAssignments/{assignment}/report"
+ };
+
+ // Compliance data for an OS policy
+ message OSPolicyCompliance {
+ // Possible compliance states for an os policy.
+ enum ComplianceState {
+ // The policy is in an unknown compliance state.
+ //
+ // Refer to the field `compliance_state_reason` to learn the exact reason
+ // for the policy to be in this compliance state.
+ UNKNOWN = 0;
+
+ // Policy is compliant.
+ //
+ // The policy is compliant if all the underlying resources are also
+ // compliant.
+ COMPLIANT = 1;
+
+ // Policy is non-compliant.
+ //
+ // The policy is non-compliant if one or more underlying resources are
+ // non-compliant.
+ NON_COMPLIANT = 2;
+ }
+
+ // Compliance data for an OS policy resource.
+ message OSPolicyResourceCompliance {
+ // Step performed by the OS Config agent for configuring an
+ // `OSPolicy` resource to its desired state.
+ message OSPolicyResourceConfigStep {
+ // Supported configuration step types
+ enum Type {
+ // Default value. This value is unused.
+ TYPE_UNSPECIFIED = 0;
+
+ // Checks for resource conflicts such as schema errors.
+ VALIDATION = 1;
+
+ // Checks the current status of the desired state for a resource.
+ DESIRED_STATE_CHECK = 2;
+
+ // Enforces the desired state for a resource that is not in desired
+ // state.
+ DESIRED_STATE_ENFORCEMENT = 3;
+
+ // Re-checks the status of the desired state. This check is done
+ // for a resource after the enforcement of all OS policies.
+ //
+ // This step is used to determine the final desired state status for
+ // the resource. It accounts for any resources that might have drifted
+ // from their desired state due to side effects from executing other
+ // resources.
+ DESIRED_STATE_CHECK_POST_ENFORCEMENT = 4;
+ }
+
+ // Configuration step type.
+ Type type = 1;
+
+ // An error message recorded during the execution of this step.
+ // Only populated if errors were encountered during this step execution.
+ string error_message = 2;
+ }
+
+ // Possible compliance states for a resource.
+ enum ComplianceState {
+ // The resource is in an unknown compliance state.
+ //
+ // To get more details about why the policy is in this state, review
+ // the output of the `compliance_state_reason` field.
+ UNKNOWN = 0;
+
+ // Resource is compliant.
+ COMPLIANT = 1;
+
+ // Resource is non-compliant.
+ NON_COMPLIANT = 2;
+ }
+
+ // ExecResource specific output.
+ message ExecResourceOutput {
+ // Output from enforcement phase output file (if run).
+ // Output size is limited to 100K bytes.
+ bytes enforcement_output = 2;
+ }
+
+ // The ID of the OS policy resource.
+ string os_policy_resource_id = 1;
+
+ // Ordered list of configuration completed by the agent for the OS policy
+ // resource.
+ repeated OSPolicyResourceConfigStep config_steps = 2;
+
+ // The compliance state of the resource.
+ ComplianceState compliance_state = 3;
+
+ // A reason for the resource to be in the given compliance state.
+ // This field is always populated when `compliance_state` is `UNKNOWN`.
+ //
+ // The following values are supported when `compliance_state == UNKNOWN`
+ //
+ // * `execution-errors`: Errors were encountered by the agent while
+ // executing the resource and the compliance state couldn't be
+ // determined.
+ // * `execution-skipped-by-agent`: Resource execution was skipped by the
+ // agent because errors were encountered while executing prior resources
+ // in the OS policy.
+ // * `os-policy-execution-attempt-failed`: The execution of the OS policy
+ // containing this resource failed and the compliance state couldn't be
+ // determined.
+ string compliance_state_reason = 4;
+
+ // Resource specific output.
+ oneof output {
+ // ExecResource specific output.
+ ExecResourceOutput exec_resource_output = 5;
+ }
+ }
+
+ // The OS policy id
+ string os_policy_id = 1;
+
+ // The compliance state of the OS policy.
+ ComplianceState compliance_state = 2;
+
+ // The reason for the OS policy to be in an unknown compliance state.
+ // This field is always populated when `compliance_state` is `UNKNOWN`.
+ //
+ // If populated, the field can contain one of the following values:
+ //
+ // * `vm-not-running`: The VM was not running.
+ // * `os-policies-not-supported-by-agent`: The version of the OS Config
+ // agent running on the VM does not support running OS policies.
+ // * `no-agent-detected`: The OS Config agent is not detected for the VM.
+ // * `resource-execution-errors`: The OS Config agent encountered errors
+ // while executing one or more resources in the policy. See
+ // `os_policy_resource_compliances` for details.
+ // * `task-timeout`: The task sent to the agent to apply the policy timed
+ // out.
+ // * `unexpected-agent-state`: The OS Config agent did not report the final
+ // status of the task that attempted to apply the policy. Instead, the agent
+ // unexpectedly started working on a different task. This mostly happens
+ // when the agent or VM unexpectedly restarts while applying OS policies.
+ // * `internal-service-errors`: Internal service errors were encountered
+ // while attempting to apply the policy.
+ string compliance_state_reason = 3;
+
+ // Compliance data for each resource within the policy that is applied to
+ // the VM.
+ repeated OSPolicyResourceCompliance os_policy_resource_compliances = 4;
+ }
+
+ // The `OSPolicyAssignmentReport` API resource name.
+ //
+ // Format:
+ // `projects/{project_number}/locations/{location}/instances/{instance_id}/osPolicyAssignments/{os_policy_assignment_id}/report`
+ string name = 1;
+
+ // The Compute Engine VM instance name.
+ string instance = 2;
+
+ // Reference to the `OSPolicyAssignment` API resource that the `OSPolicy`
+ // belongs to.
+ //
+ // Format:
+ // `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`
+ string os_policy_assignment = 3 [(google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignment"
+ }];
+
+ // Compliance data for each `OSPolicy` that is applied to the VM.
+ repeated OSPolicyCompliance os_policy_compliances = 4;
+
+ // Timestamp for when the report was last generated.
+ google.protobuf.Timestamp update_time = 5;
+
+ // Unique identifier of the last attempted run to apply the OS policies
+ // associated with this assignment on the VM.
+ //
+ // This ID is logged by the OS Config agent while applying the OS
+ // policies associated with this assignment on the VM.
+ // NOTE: If the service is unable to successfully connect to the agent for
+ // this run, then this id will not be available in the agent logs.
+ string last_run_id = 6;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy_assignments.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy_assignments.proto
new file mode 100644
index 00000000000..157b8fd3989
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/os_policy_assignments.proto
@@ -0,0 +1,386 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/osconfig/v1/os_policy.proto";
+import "google/cloud/osconfig/v1/osconfig_common.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_multiple_files = true;
+option java_outer_classname = "OsPolicyAssignmentsProto";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// OS policy assignment is an API resource that is used to
+// apply a set of OS policies to a dynamically targeted group of Compute Engine
+// VM instances.
+//
+// An OS policy is used to define the desired state configuration for a
+// Compute Engine VM instance through a set of configuration resources that
+// provide capabilities such as installing or removing software packages, or
+// executing a script.
+//
+// For more information, see [OS policy and OS policy
+// assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
+message OSPolicyAssignment {
+ option (google.api.resource) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignment"
+ pattern: "projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}"
+ };
+
+ // Message representing label set.
+ // * A label is a key value pair set for a VM.
+ // * A LabelSet is a set of labels.
+ // * Labels within a LabelSet are ANDed. In other words, a LabelSet is
+ // applicable for a VM only if it matches all the labels in the
+ // LabelSet.
+ // * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will
+ // only be applicable for those VMs with both labels
+ // present.
+ message LabelSet {
+ // Labels are identified by key/value pairs in this map.
+ // A VM should contain all the key/value pairs specified in this
+ // map to be selected.
+ map labels = 1;
+ }
+
+ // Filters to select target VMs for an assignment.
+ //
+ // If more than one filter criteria is specified below, a VM will be selected
+ // if and only if it satisfies all of them.
+ message InstanceFilter {
+ // VM inventory details.
+ message Inventory {
+ // Required. The OS short name
+ string os_short_name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The OS version
+ //
+ // Prefix matches are supported if asterisk(*) is provided as the
+ // last character. For example, to match all versions with a major
+ // version of `7`, specify the following value for this field `7.*`
+ //
+ // An empty string matches all OS versions.
+ string os_version = 2;
+ }
+
+ // Target all VMs in the project. If true, no other criteria is
+ // permitted.
+ bool all = 1;
+
+ // List of label sets used for VM inclusion.
+ //
+ // If the list has more than one `LabelSet`, the VM is included if any
+ // of the label sets are applicable for the VM.
+ repeated LabelSet inclusion_labels = 2;
+
+ // List of label sets used for VM exclusion.
+ //
+ // If the list has more than one label set, the VM is excluded if any
+ // of the label sets are applicable for the VM.
+ repeated LabelSet exclusion_labels = 3;
+
+ // List of inventories to select VMs.
+ //
+ // A VM is selected if its inventory data matches at least one of the
+ // following inventories.
+ repeated Inventory inventories = 4;
+ }
+
+ // Message to configure the rollout at the zonal level for the OS policy
+ // assignment.
+ message Rollout {
+ // Required. The maximum number (or percentage) of VMs per zone to disrupt
+ // at any given moment.
+ FixedOrPercent disruption_budget = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. This determines the minimum duration of time to wait after the
+ // configuration changes are applied through the current rollout. A
+ // VM continues to count towards the `disruption_budget` at least
+ // until this duration of time has passed after configuration changes are
+ // applied.
+ google.protobuf.Duration min_wait_duration = 2
+ [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // OS policy assignment rollout state
+ enum RolloutState {
+ // Invalid value
+ ROLLOUT_STATE_UNSPECIFIED = 0;
+
+ // The rollout is in progress.
+ IN_PROGRESS = 1;
+
+ // The rollout is being cancelled.
+ CANCELLING = 2;
+
+ // The rollout is cancelled.
+ CANCELLED = 3;
+
+ // The rollout has completed successfully.
+ SUCCEEDED = 4;
+ }
+
+ // Resource name.
+ //
+ // Format:
+ // `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}`
+ //
+ // This field is ignored when you create an OS policy assignment.
+ string name = 1;
+
+ // OS policy assignment description.
+ // Length of the description is limited to 1024 characters.
+ string description = 2;
+
+ // Required. List of OS policies to be applied to the VMs.
+ repeated OSPolicy os_policies = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Filter to select VMs.
+ InstanceFilter instance_filter = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Rollout to deploy the OS policy assignment.
+ // A rollout is triggered in the following situations:
+ // 1) OSPolicyAssignment is created.
+ // 2) OSPolicyAssignment is updated and the update contains changes to one of
+ // the following fields:
+ // - instance_filter
+ // - os_policies
+ // 3) OSPolicyAssignment is deleted.
+ Rollout rollout = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. The assignment revision ID
+ // A new revision is committed whenever a rollout is triggered for a OS policy
+ // assignment
+ string revision_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp that the revision was created.
+ google.protobuf.Timestamp revision_create_time = 7
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The etag for this OS policy assignment.
+ // If this is provided on update, it must match the server's etag.
+ string etag = 8;
+
+ // Output only. OS policy assignment rollout state
+ RolloutState rollout_state = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Indicates that this revision has been successfully rolled out
+ // in this zone and new VMs will be assigned OS policies from this revision.
+ //
+ // For a given OS policy assignment, there is only one revision with a value
+ // of `true` for this field.
+ bool baseline = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Indicates that this revision deletes the OS policy assignment.
+ bool deleted = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Indicates that reconciliation is in progress for the revision.
+ // This value is `true` when the `rollout_state` is one of:
+ // * IN_PROGRESS
+ // * CANCELLING
+ bool reconciling = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Server generated unique id for the OS policy assignment
+ // resource.
+ string uid = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// OS policy assignment operation metadata provided by OS policy assignment API
+// methods that return long running operations.
+message OSPolicyAssignmentOperationMetadata {
+ // The OS policy assignment API method.
+ enum APIMethod {
+ // Invalid value
+ API_METHOD_UNSPECIFIED = 0;
+
+ // Create OS policy assignment API method
+ CREATE = 1;
+
+ // Update OS policy assignment API method
+ UPDATE = 2;
+
+ // Delete OS policy assignment API method
+ DELETE = 3;
+ }
+
+ // State of the rollout
+ enum RolloutState {
+ // Invalid value
+ ROLLOUT_STATE_UNSPECIFIED = 0;
+
+ // The rollout is in progress.
+ IN_PROGRESS = 1;
+
+ // The rollout is being cancelled.
+ CANCELLING = 2;
+
+ // The rollout is cancelled.
+ CANCELLED = 3;
+
+ // The rollout has completed successfully.
+ SUCCEEDED = 4;
+ }
+
+ // Reference to the `OSPolicyAssignment` API resource.
+ //
+ // Format:
+ // `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`
+ string os_policy_assignment = 1 [(google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignment"
+ }];
+
+ // The OS policy assignment API method.
+ APIMethod api_method = 2;
+
+ // State of the rollout
+ RolloutState rollout_state = 3;
+
+ // Rollout start time
+ google.protobuf.Timestamp rollout_start_time = 4;
+
+ // Rollout update time
+ google.protobuf.Timestamp rollout_update_time = 5;
+}
+
+// A request message to create an OS policy assignment
+message CreateOSPolicyAssignmentRequest {
+ // Required. The parent resource name in the form:
+ // projects/{project}/locations/{location}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. The OS policy assignment to be created.
+ OSPolicyAssignment os_policy_assignment = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The logical name of the OS policy assignment in the project
+ // with the following restrictions:
+ //
+ // * Must contain only lowercase letters, numbers, and hyphens.
+ // * Must start with a letter.
+ // * Must be between 1-63 characters.
+ // * Must end with a number or a letter.
+ // * Must be unique within the project.
+ string os_policy_assignment_id = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A request message to update an OS policy assignment
+message UpdateOSPolicyAssignmentRequest {
+ // Required. The updated OS policy assignment.
+ OSPolicyAssignment os_policy_assignment = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Field mask that controls which fields of the assignment should be
+ // updated.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A request message to get an OS policy assignment
+message GetOSPolicyAssignmentRequest {
+ // Required. The resource name of OS policy assignment.
+ //
+ // Format:
+ // `projects/{project}/locations/{location}/osPolicyAssignments/{os_policy_assignment}@{revisionId}`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignment"
+ }
+ ];
+}
+
+// A request message to list OS policy assignments for a parent resource
+message ListOSPolicyAssignmentsRequest {
+ // Required. The parent resource name.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // The maximum number of assignments to return.
+ int32 page_size = 2;
+
+ // A pagination token returned from a previous call to
+ // `ListOSPolicyAssignments` that indicates where this listing should continue
+ // from.
+ string page_token = 3;
+}
+
+// A response message for listing all assignments under given parent.
+message ListOSPolicyAssignmentsResponse {
+ // The list of assignments
+ repeated OSPolicyAssignment os_policy_assignments = 1;
+
+ // The pagination token to retrieve the next page of OS policy assignments.
+ string next_page_token = 2;
+}
+
+// A request message to list revisions for a OS policy assignment
+message ListOSPolicyAssignmentRevisionsRequest {
+ // Required. The name of the OS policy assignment to list revisions for.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignment"
+ }
+ ];
+
+ // The maximum number of revisions to return.
+ int32 page_size = 2;
+
+ // A pagination token returned from a previous call to
+ // `ListOSPolicyAssignmentRevisions` that indicates where this listing should
+ // continue from.
+ string page_token = 3;
+}
+
+// A response message for listing all revisions for a OS policy assignment.
+message ListOSPolicyAssignmentRevisionsResponse {
+ // The OS policy assignment revisions
+ repeated OSPolicyAssignment os_policy_assignments = 1;
+
+ // The pagination token to retrieve the next page of OS policy assignment
+ // revisions.
+ string next_page_token = 2;
+}
+
+// A request message for deleting a OS policy assignment.
+message DeleteOSPolicyAssignmentRequest {
+ // Required. The name of the OS policy assignment to be deleted
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/OSPolicyAssignment"
+ }
+ ];
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_common.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_common.proto
new file mode 100644
index 00000000000..2b72d6ae945
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_common.proto
@@ -0,0 +1,38 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_outer_classname = "Common";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// Message encapsulating a value that can be either absolute ("fixed") or
+// relative ("percent") to a value.
+message FixedOrPercent {
+ // Type of the value.
+ oneof mode {
+ // Specifies a fixed value.
+ int32 fixed = 1;
+
+ // Specifies the relative value defined as a percentage, which will be
+ // multiplied by a reference value.
+ int32 percent = 2;
+ }
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_service.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_service.proto
new file mode 100644
index 00000000000..515905c87d5
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_service.proto
@@ -0,0 +1,158 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/client.proto";
+import "google/api/resource.proto";
+import "google/cloud/osconfig/v1/patch_deployments.proto";
+import "google/cloud/osconfig/v1/patch_jobs.proto";
+import "google/protobuf/empty.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_outer_classname = "OsConfigProto";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+option (google.api.resource_definition) = {
+ type: "compute.googleapis.com/Instance"
+ pattern: "projects/{project}/zones/{zone}/instances/{instance}"
+ pattern: "projects/{project}/locations/{location}/instances/{instance}"
+};
+
+// OS Config API
+//
+// The OS Config service is a server-side component that you can use to
+// manage package installations and patch jobs for virtual machine instances.
+service OsConfigService {
+ option (google.api.default_host) = "osconfig.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Patch VM instances by creating and running a patch job.
+ rpc ExecutePatchJob(ExecutePatchJobRequest) returns (PatchJob) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/patchJobs:execute"
+ body: "*"
+ };
+ }
+
+ // Get the patch job. This can be used to track the progress of an
+ // ongoing patch job or review the details of completed jobs.
+ rpc GetPatchJob(GetPatchJobRequest) returns (PatchJob) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/patchJobs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Cancel a patch job. The patch job must be active. Canceled patch jobs
+ // cannot be restarted.
+ rpc CancelPatchJob(CancelPatchJobRequest) returns (PatchJob) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/patchJobs/*}:cancel"
+ body: "*"
+ };
+ }
+
+ // Get a list of patch jobs.
+ rpc ListPatchJobs(ListPatchJobsRequest) returns (ListPatchJobsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*}/patchJobs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Get a list of instance details for a given patch job.
+ rpc ListPatchJobInstanceDetails(ListPatchJobInstanceDetailsRequest)
+ returns (ListPatchJobInstanceDetailsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/patchJobs/*}/instanceDetails"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Create an OS Config patch deployment.
+ rpc CreatePatchDeployment(CreatePatchDeploymentRequest)
+ returns (PatchDeployment) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/patchDeployments"
+ body: "patch_deployment"
+ };
+ option (google.api.method_signature) =
+ "parent,patch_deployment,patch_deployment_id";
+ }
+
+ // Get an OS Config patch deployment.
+ rpc GetPatchDeployment(GetPatchDeploymentRequest) returns (PatchDeployment) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/patchDeployments/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Get a page of OS Config patch deployments.
+ rpc ListPatchDeployments(ListPatchDeploymentsRequest)
+ returns (ListPatchDeploymentsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*}/patchDeployments"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Delete an OS Config patch deployment.
+ rpc DeletePatchDeployment(DeletePatchDeploymentRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/patchDeployments/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Update an OS Config patch deployment.
+ rpc UpdatePatchDeployment(UpdatePatchDeploymentRequest)
+ returns (PatchDeployment) {
+ option (google.api.http) = {
+ patch: "/v1/{patch_deployment.name=projects/*/patchDeployments/*}"
+ body: "patch_deployment"
+ };
+ option (google.api.method_signature) = "patch_deployment,update_mask";
+ }
+
+ // Change state of patch deployment to "PAUSED".
+ // Patch deployment in paused state doesn't generate patch jobs.
+ rpc PausePatchDeployment(PausePatchDeploymentRequest)
+ returns (PatchDeployment) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/patchDeployments/*}:pause"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Change state of patch deployment back to "ACTIVE".
+ // Patch deployment in active state continues to generate patch jobs.
+ rpc ResumePatchDeployment(ResumePatchDeploymentRequest)
+ returns (PatchDeployment) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/patchDeployments/*}:resume"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_zonal_service.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_zonal_service.proto
new file mode 100644
index 00000000000..196737c1941
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/osconfig_zonal_service.proto
@@ -0,0 +1,202 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/cloud/osconfig/v1/inventory.proto";
+import "google/cloud/osconfig/v1/os_policy_assignment_reports.proto";
+import "google/cloud/osconfig/v1/os_policy_assignments.proto";
+import "google/cloud/osconfig/v1/vulnerability.proto";
+import "google/longrunning/operations.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_multiple_files = true;
+option java_outer_classname = "OsConfigZonalServiceProto";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// Zonal OS Config API
+//
+// The OS Config service is the server-side component that allows users to
+// manage package installations and patch jobs for Compute Engine VM instances.
+service OsConfigZonalService {
+ option (google.api.default_host) = "osconfig.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Create an OS policy assignment.
+ //
+ // This method also creates the first revision of the OS policy assignment.
+ //
+ // This method returns a long running operation (LRO) that contains the
+ // rollout details. The rollout can be cancelled by cancelling the LRO.
+ //
+ // For more information, see [Method:
+ // projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel).
+ rpc CreateOSPolicyAssignment(CreateOSPolicyAssignmentRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/osPolicyAssignments"
+ body: "os_policy_assignment"
+ };
+ option (google.api.method_signature) =
+ "parent,os_policy_assignment,os_policy_assignment_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "OSPolicyAssignment"
+ metadata_type: "OSPolicyAssignmentOperationMetadata"
+ };
+ }
+
+ // Update an existing OS policy assignment.
+ //
+ // This method creates a new revision of the OS policy assignment.
+ //
+ // This method returns a long running operation (LRO) that contains the
+ // rollout details. The rollout can be cancelled by cancelling the LRO.
+ //
+ // For more information, see [Method:
+ // projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel).
+ rpc UpdateOSPolicyAssignment(UpdateOSPolicyAssignmentRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{os_policy_assignment.name=projects/*/locations/*/osPolicyAssignments/*}"
+ body: "os_policy_assignment"
+ };
+ option (google.api.method_signature) = "os_policy_assignment,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "OSPolicyAssignment"
+ metadata_type: "OSPolicyAssignmentOperationMetadata"
+ };
+ }
+
+ // Retrieve an existing OS policy assignment.
+ //
+ // This method always returns the latest revision. In order to retrieve a
+ // previous revision of the assignment, also provide the revision ID in the
+ // `name` parameter.
+ rpc GetOSPolicyAssignment(GetOSPolicyAssignmentRequest)
+ returns (OSPolicyAssignment) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/osPolicyAssignments/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // List the OS policy assignments under the parent resource.
+ //
+ // For each OS policy assignment, the latest revision is returned.
+ rpc ListOSPolicyAssignments(ListOSPolicyAssignmentsRequest)
+ returns (ListOSPolicyAssignmentsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/osPolicyAssignments"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // List the OS policy assignment revisions for a given OS policy assignment.
+ rpc ListOSPolicyAssignmentRevisions(ListOSPolicyAssignmentRevisionsRequest)
+ returns (ListOSPolicyAssignmentRevisionsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/osPolicyAssignments/*}:listRevisions"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Delete the OS policy assignment.
+ //
+ // This method creates a new revision of the OS policy assignment.
+ //
+ // This method returns a long running operation (LRO) that contains the
+ // rollout details. The rollout can be cancelled by cancelling the LRO.
+ //
+ // If the LRO completes and is not cancelled, all revisions associated with
+ // the OS policy assignment are deleted.
+ //
+ // For more information, see [Method:
+ // projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel).
+ rpc DeleteOSPolicyAssignment(DeleteOSPolicyAssignmentRequest)
+ returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/osPolicyAssignments/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OSPolicyAssignmentOperationMetadata"
+ };
+ }
+
+ // Get the OS policy asssignment report for the specified Compute Engine VM
+ // instance.
+ rpc GetOSPolicyAssignmentReport(GetOSPolicyAssignmentReportRequest)
+ returns (OSPolicyAssignmentReport) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/instances/*/osPolicyAssignments/*/report}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // List OS policy asssignment reports for all Compute Engine VM instances in
+ // the specified zone.
+ rpc ListOSPolicyAssignmentReports(ListOSPolicyAssignmentReportsRequest)
+ returns (ListOSPolicyAssignmentReportsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/instances/*/osPolicyAssignments/*}/reports"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Get inventory data for the specified VM instance. If the VM has no
+ // associated inventory, the message `NOT_FOUND` is returned.
+ rpc GetInventory(GetInventoryRequest) returns (Inventory) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/instances/*/inventory}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // List inventory data for all VM instances in the specified zone.
+ rpc ListInventories(ListInventoriesRequest)
+ returns (ListInventoriesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/instances/*}/inventories"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the vulnerability report for the specified VM instance. Only VMs with
+ // inventory data have vulnerability reports associated with them.
+ rpc GetVulnerabilityReport(GetVulnerabilityReportRequest)
+ returns (VulnerabilityReport) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/instances/*/vulnerabilityReport}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // List vulnerability reports for all VM instances in the specified zone.
+ rpc ListVulnerabilityReports(ListVulnerabilityReportsRequest)
+ returns (ListVulnerabilityReportsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/instances/*}/vulnerabilityReports"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/patch_deployments.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/patch_deployments.proto
new file mode 100644
index 00000000000..d5708544f8b
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/patch_deployments.proto
@@ -0,0 +1,339 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/osconfig/v1/patch_jobs.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/datetime.proto";
+import "google/type/dayofweek.proto";
+import "google/type/timeofday.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_outer_classname = "PatchDeployments";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// Patch deployments are configurations that individual patch jobs use to
+// complete a patch. These configurations include instance filter, package
+// repository settings, and a schedule. For more information about creating and
+// managing patch deployments, see [Scheduling patch
+// jobs](https://cloud.google.com/compute/docs/os-patch-management/schedule-patch-jobs).
+message PatchDeployment {
+ option (google.api.resource) = {
+ type: "osconfig.googleapis.com/PatchDeployment"
+ pattern: "projects/{project}/patchDeployments/{patch_deployment}"
+ };
+
+ // Represents state of patch peployment.
+ enum State {
+ // The default value. This value is used if the state is omitted.
+ STATE_UNSPECIFIED = 0;
+
+ // Active value means that patch deployment generates Patch Jobs.
+ ACTIVE = 1;
+
+ // Paused value means that patch deployment does not generate
+ // Patch jobs. Requires user action to move in and out from this state.
+ PAUSED = 2;
+ }
+
+ // Unique name for the patch deployment resource in a project. The patch
+ // deployment name is in the form:
+ // `projects/{project_id}/patchDeployments/{patch_deployment_id}`.
+ // This field is ignored when you create a new patch deployment.
+ string name = 1;
+
+ // Optional. Description of the patch deployment. Length of the description is
+ // limited to 1024 characters.
+ string description = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. VM instances to patch.
+ PatchInstanceFilter instance_filter = 3
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Patch configuration that is applied.
+ PatchConfig patch_config = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Duration of the patch. After the duration ends, the patch times
+ // out.
+ google.protobuf.Duration duration = 5
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Schedule for the patch.
+ oneof schedule {
+ // Required. Schedule a one-time execution.
+ OneTimeSchedule one_time_schedule = 6
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Schedule recurring executions.
+ RecurringSchedule recurring_schedule = 7
+ [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Output only. Time the patch deployment was created. Timestamp is in
+ // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ google.protobuf.Timestamp create_time = 8
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time the patch deployment was last updated. Timestamp is in
+ // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+ google.protobuf.Timestamp update_time = 9
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last time a patch job was started by this deployment.
+ // Timestamp is in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text
+ // format.
+ google.protobuf.Timestamp last_execute_time = 10
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Rollout strategy of the patch job.
+ PatchRollout rollout = 11 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Current state of the patch deployment.
+ State state = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Sets the time for a one time patch deployment. Timestamp is in
+// [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
+message OneTimeSchedule {
+ // Required. The desired patch job execution time.
+ google.protobuf.Timestamp execute_time = 1
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// Sets the time for recurring patch deployments.
+message RecurringSchedule {
+ // Specifies the frequency of the recurring patch deployments.
+ enum Frequency {
+ // Invalid. A frequency must be specified.
+ FREQUENCY_UNSPECIFIED = 0;
+
+ // Indicates that the frequency of recurrence should be expressed in terms
+ // of weeks.
+ WEEKLY = 1;
+
+ // Indicates that the frequency of recurrence should be expressed in terms
+ // of months.
+ MONTHLY = 2;
+
+ // Indicates that the frequency of recurrence should be expressed in terms
+ // of days.
+ DAILY = 3;
+ }
+
+ // Required. Defines the time zone that `time_of_day` is relative to.
+ // The rules for daylight saving time are determined by the chosen time zone.
+ google.type.TimeZone time_zone = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The time that the recurring schedule becomes effective.
+ // Defaults to `create_time` of the patch deployment.
+ google.protobuf.Timestamp start_time = 2
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The end time at which a recurring patch deployment schedule is no
+ // longer active.
+ google.protobuf.Timestamp end_time = 3
+ [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Time of the day to run a recurring deployment.
+ google.type.TimeOfDay time_of_day = 4
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The frequency unit of this recurring schedule.
+ Frequency frequency = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Configurations for this recurring schedule.
+ // Configurations must match frequency.
+ oneof schedule_config {
+ // Required. Schedule with weekly executions.
+ WeeklySchedule weekly = 6 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Schedule with monthly executions.
+ MonthlySchedule monthly = 7 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Output only. The time the last patch job ran successfully.
+ google.protobuf.Timestamp last_execute_time = 9
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the next patch job is scheduled to run.
+ google.protobuf.Timestamp next_execute_time = 10
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Represents a weekly schedule.
+message WeeklySchedule {
+ // Required. Day of the week.
+ google.type.DayOfWeek day_of_week = 1
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// Represents a monthly schedule. An example of a valid monthly schedule is
+// "on the third Tuesday of the month" or "on the 15th of the month".
+message MonthlySchedule {
+ // One day in a month.
+ oneof day_of_month {
+ // Required. Week day in a month.
+ WeekDayOfMonth week_day_of_month = 1
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Required. One day of the month. 1-31 indicates the 1st to the 31st day.
+ // -1 indicates the last day of the month. Months without the target day
+ // will be skipped. For example, a schedule to run "every month on the 31st"
+ // will not run in February, April, June, etc.
+ int32 month_day = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// Represents one week day in a month. An example is "the 4th Sunday".
+message WeekDayOfMonth {
+ // Required. Week number in a month. 1-4 indicates the 1st to 4th week of the
+ // month. -1 indicates the last week of the month.
+ int32 week_ordinal = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A day of the week.
+ google.type.DayOfWeek day_of_week = 2
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Represents the number of days before or after the given week day
+ // of month that the patch deployment is scheduled for. For example if
+ // `week_ordinal` and `day_of_week` values point to the second day of the
+ // month and this `day_offset` value is set to `3`, the patch deployment takes
+ // place three days after the second Tuesday of the month. If this value is
+ // negative, for example -5, the patches are deployed five days before before
+ // the second Tuesday of the month. Allowed values are in range [-30, 30].
+ int32 day_offset = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A request message for creating a patch deployment.
+message CreatePatchDeploymentRequest {
+ // Required. The project to apply this patch deployment to in the form
+ // `projects/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. A name for the patch deployment in the project. When creating a
+ // name the following rules apply:
+ // * Must contain only lowercase letters, numbers, and hyphens.
+ // * Must start with a letter.
+ // * Must be between 1-63 characters.
+ // * Must end with a number or a letter.
+ // * Must be unique within the project.
+ string patch_deployment_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The patch deployment to create.
+ PatchDeployment patch_deployment = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A request message for retrieving a patch deployment.
+message GetPatchDeploymentRequest {
+ // Required. The resource name of the patch deployment in the form
+ // `projects/*/patchDeployments/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchDeployment"
+ }
+ ];
+}
+
+// A request message for listing patch deployments.
+message ListPatchDeploymentsRequest {
+ // Required. The resource name of the parent in the form `projects/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Optional. The maximum number of patch deployments to return. Default is
+ // 100.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A pagination token returned from a previous call to
+ // ListPatchDeployments that indicates where this listing should continue
+ // from.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A response message for listing patch deployments.
+message ListPatchDeploymentsResponse {
+ // The list of patch deployments.
+ repeated PatchDeployment patch_deployments = 1;
+
+ // A pagination token that can be used to get the next page of patch
+ // deployments.
+ string next_page_token = 2;
+}
+
+// A request message for deleting a patch deployment.
+message DeletePatchDeploymentRequest {
+ // Required. The resource name of the patch deployment in the form
+ // `projects/*/patchDeployments/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchDeployment"
+ }
+ ];
+}
+
+// A request message for updating a patch deployment.
+message UpdatePatchDeploymentRequest {
+ // Required. The patch deployment to Update.
+ PatchDeployment patch_deployment = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Field mask that controls which fields of the patch deployment
+ // should be updated.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A request message for pausing a patch deployment.
+message PausePatchDeploymentRequest {
+ // Required. The resource name of the patch deployment in the form
+ // `projects/*/patchDeployments/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchDeployment"
+ }
+ ];
+}
+
+// A request message for resuming a patch deployment.
+message ResumePatchDeploymentRequest {
+ // Required. The resource name of the patch deployment in the form
+ // `projects/*/patchDeployments/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchDeployment"
+ }
+ ];
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/patch_jobs.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/patch_jobs.proto
new file mode 100644
index 00000000000..4edfc8df555
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/patch_jobs.proto
@@ -0,0 +1,742 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/osconfig/v1/osconfig_common.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_outer_classname = "PatchJobs";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// A request message to initiate patching across Compute Engine
+// instances.
+message ExecutePatchJobRequest {
+ // Required. The project in which to run this patch in the form `projects/*`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Description of the patch job. Length of the description is limited
+ // to 1024 characters.
+ string description = 2;
+
+ // Required. Instances to patch, either explicitly or filtered by some
+ // criteria such as zone or labels.
+ PatchInstanceFilter instance_filter = 7
+ [(google.api.field_behavior) = REQUIRED];
+
+ // Patch configuration being applied. If omitted, instances are
+ // patched using the default configurations.
+ PatchConfig patch_config = 4;
+
+ // Duration of the patch job. After the duration ends, the patch job
+ // times out.
+ google.protobuf.Duration duration = 5;
+
+ // If this patch is a dry-run only, instances are contacted but
+ // will do nothing.
+ bool dry_run = 6;
+
+ // Display name for this patch job. This does not have to be unique.
+ string display_name = 8;
+
+ // Rollout strategy of the patch job.
+ PatchRollout rollout = 9;
+}
+
+// Request to get an active or completed patch job.
+message GetPatchJobRequest {
+ // Required. Name of the patch in the form `projects/*/patchJobs/*`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchJob"
+ }
+ ];
+}
+
+// Request to list details for all instances that are part of a patch job.
+message ListPatchJobInstanceDetailsRequest {
+ // Required. The parent for the instances are in the form of
+ // `projects/*/patchJobs/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchJob"
+ }
+ ];
+
+ // The maximum number of instance details records to return. Default is 100.
+ int32 page_size = 2;
+
+ // A pagination token returned from a previous call
+ // that indicates where this listing should continue from.
+ string page_token = 3;
+
+ // A filter expression that filters results listed in the response. This
+ // field supports filtering results by instance zone, name, state, or
+ // `failure_reason`.
+ string filter = 4;
+}
+
+// A response message for listing the instances details for a patch job.
+message ListPatchJobInstanceDetailsResponse {
+ // A list of instance status.
+ repeated PatchJobInstanceDetails patch_job_instance_details = 1;
+
+ // A pagination token that can be used to get the next page of results.
+ string next_page_token = 2;
+}
+
+// Patch details for a VM instance. For more information about reviewing VM
+// instance details, see
+// [Listing all VM instance details for a specific patch
+// job](https://cloud.google.com/compute/docs/os-patch-management/manage-patch-jobs#list-instance-details).
+message PatchJobInstanceDetails {
+ // The instance name in the form `projects/*/zones/*/instances/*`
+ string name = 1 [(google.api.resource_reference) = {
+ type: "compute.googleapis.com/Instance"
+ }];
+
+ // The unique identifier for the instance. This identifier is
+ // defined by the server.
+ string instance_system_id = 2;
+
+ // Current state of instance patch.
+ Instance.PatchState state = 3;
+
+ // If the patch fails, this field provides the reason.
+ string failure_reason = 4;
+
+ // The number of times the agent that the agent attempts to apply the patch.
+ int64 attempt_count = 5;
+}
+
+// A request message for listing patch jobs.
+message ListPatchJobsRequest {
+ // Required. In the form of `projects/*`
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // The maximum number of instance status to return.
+ int32 page_size = 2;
+
+ // A pagination token returned from a previous call
+ // that indicates where this listing should continue from.
+ string page_token = 3;
+
+ // If provided, this field specifies the criteria that must be met by patch
+ // jobs to be included in the response.
+ // Currently, filtering is only available on the patch_deployment field.
+ string filter = 4;
+}
+
+// A response message for listing patch jobs.
+message ListPatchJobsResponse {
+ // The list of patch jobs.
+ repeated PatchJob patch_jobs = 1;
+
+ // A pagination token that can be used to get the next page of results.
+ string next_page_token = 2;
+}
+
+// A high level representation of a patch job that is either in progress
+// or has completed.
+//
+// Instance details are not included in the job. To paginate through instance
+// details, use ListPatchJobInstanceDetails.
+//
+// For more information about patch jobs, see
+// [Creating patch
+// jobs](https://cloud.google.com/compute/docs/os-patch-management/create-patch-job).
+message PatchJob {
+ option (google.api.resource) = {
+ type: "osconfig.googleapis.com/PatchJob"
+ pattern: "projects/{project}/patchJobs/{patch_job}"
+ };
+
+ // Enumeration of the various states a patch job passes through as it
+ // executes.
+ enum State {
+ // State must be specified.
+ STATE_UNSPECIFIED = 0;
+
+ // The patch job was successfully initiated.
+ STARTED = 1;
+
+ // The patch job is looking up instances to run the patch on.
+ INSTANCE_LOOKUP = 2;
+
+ // Instances are being patched.
+ PATCHING = 3;
+
+ // Patch job completed successfully.
+ SUCCEEDED = 4;
+
+ // Patch job completed but there were errors.
+ COMPLETED_WITH_ERRORS = 5;
+
+ // The patch job was canceled.
+ CANCELED = 6;
+
+ // The patch job timed out.
+ TIMED_OUT = 7;
+ }
+
+ // A summary of the current patch state across all instances that this patch
+ // job affects. Contains counts of instances in different states. These states
+ // map to `InstancePatchState`. List patch job instance details to see the
+ // specific states of each instance.
+ message InstanceDetailsSummary {
+ // Number of instances pending patch job.
+ int64 pending_instance_count = 1;
+
+ // Number of instances that are inactive.
+ int64 inactive_instance_count = 2;
+
+ // Number of instances notified about patch job.
+ int64 notified_instance_count = 3;
+
+ // Number of instances that have started.
+ int64 started_instance_count = 4;
+
+ // Number of instances that are downloading patches.
+ int64 downloading_patches_instance_count = 5;
+
+ // Number of instances that are applying patches.
+ int64 applying_patches_instance_count = 6;
+
+ // Number of instances rebooting.
+ int64 rebooting_instance_count = 7;
+
+ // Number of instances that have completed successfully.
+ int64 succeeded_instance_count = 8;
+
+ // Number of instances that require reboot.
+ int64 succeeded_reboot_required_instance_count = 9;
+
+ // Number of instances that failed.
+ int64 failed_instance_count = 10;
+
+ // Number of instances that have acked and will start shortly.
+ int64 acked_instance_count = 11;
+
+ // Number of instances that exceeded the time out while applying the patch.
+ int64 timed_out_instance_count = 12;
+
+ // Number of instances that are running the pre-patch step.
+ int64 pre_patch_step_instance_count = 13;
+
+ // Number of instances that are running the post-patch step.
+ int64 post_patch_step_instance_count = 14;
+
+ // Number of instances that do not appear to be running the agent. Check to
+ // ensure that the agent is installed, running, and able to communicate with
+ // the service.
+ int64 no_agent_detected_instance_count = 15;
+ }
+
+ // Unique identifier for this patch job in the form
+ // `projects/*/patchJobs/*`
+ string name = 1;
+
+ // Display name for this patch job. This is not a unique identifier.
+ string display_name = 14;
+
+ // Description of the patch job. Length of the description is limited
+ // to 1024 characters.
+ string description = 2;
+
+ // Time this patch job was created.
+ google.protobuf.Timestamp create_time = 3;
+
+ // Last time this patch job was updated.
+ google.protobuf.Timestamp update_time = 4;
+
+ // The current state of the PatchJob.
+ State state = 5;
+
+ // Instances to patch.
+ PatchInstanceFilter instance_filter = 13;
+
+ // Patch configuration being applied.
+ PatchConfig patch_config = 7;
+
+ // Duration of the patch job. After the duration ends, the
+ // patch job times out.
+ google.protobuf.Duration duration = 8;
+
+ // Summary of instance details.
+ InstanceDetailsSummary instance_details_summary = 9;
+
+ // If this patch job is a dry run, the agent reports that it has
+ // finished without running any updates on the VM instance.
+ bool dry_run = 10;
+
+ // If this patch job failed, this message provides information about the
+ // failure.
+ string error_message = 11;
+
+ // Reflects the overall progress of the patch job in the range of
+ // 0.0 being no progress to 100.0 being complete.
+ double percent_complete = 12;
+
+ // Output only. Name of the patch deployment that created this patch job.
+ string patch_deployment = 15 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchDeployment"
+ }
+ ];
+
+ // Rollout strategy being applied.
+ PatchRollout rollout = 16;
+}
+
+// Patch configuration specifications. Contains details on how to apply the
+// patch(es) to a VM instance.
+message PatchConfig {
+ // Post-patch reboot settings.
+ enum RebootConfig {
+ // The default behavior is DEFAULT.
+ REBOOT_CONFIG_UNSPECIFIED = 0;
+
+ // The agent decides if a reboot is necessary by checking signals such as
+ // registry keys on Windows or `/var/run/reboot-required` on APT based
+ // systems. On RPM based systems, a set of core system package install times
+ // are compared with system boot time.
+ DEFAULT = 1;
+
+ // Always reboot the machine after the update completes.
+ ALWAYS = 2;
+
+ // Never reboot the machine after the update completes.
+ NEVER = 3;
+ }
+
+ // Post-patch reboot settings.
+ RebootConfig reboot_config = 1;
+
+ // Apt update settings. Use this setting to override the default `apt` patch
+ // rules.
+ AptSettings apt = 3;
+
+ // Yum update settings. Use this setting to override the default `yum` patch
+ // rules.
+ YumSettings yum = 4;
+
+ // Goo update settings. Use this setting to override the default `goo` patch
+ // rules.
+ GooSettings goo = 5;
+
+ // Zypper update settings. Use this setting to override the default `zypper`
+ // patch rules.
+ ZypperSettings zypper = 6;
+
+ // Windows update settings. Use this override the default windows patch rules.
+ WindowsUpdateSettings windows_update = 7;
+
+ // The `ExecStep` to run before the patch update.
+ ExecStep pre_step = 8;
+
+ // The `ExecStep` to run after the patch update.
+ ExecStep post_step = 9;
+
+ // Allows the patch job to run on Managed instance groups (MIGs).
+ bool mig_instances_allowed = 10;
+}
+
+// Namespace for instance state enums.
+message Instance {
+ // Patch state of an instance.
+ enum PatchState {
+ // Unspecified.
+ PATCH_STATE_UNSPECIFIED = 0;
+
+ // The instance is not yet notified.
+ PENDING = 1;
+
+ // Instance is inactive and cannot be patched.
+ INACTIVE = 2;
+
+ // The instance is notified that it should be patched.
+ NOTIFIED = 3;
+
+ // The instance has started the patching process.
+ STARTED = 4;
+
+ // The instance is downloading patches.
+ DOWNLOADING_PATCHES = 5;
+
+ // The instance is applying patches.
+ APPLYING_PATCHES = 6;
+
+ // The instance is rebooting.
+ REBOOTING = 7;
+
+ // The instance has completed applying patches.
+ SUCCEEDED = 8;
+
+ // The instance has completed applying patches but a reboot is required.
+ SUCCEEDED_REBOOT_REQUIRED = 9;
+
+ // The instance has failed to apply the patch.
+ FAILED = 10;
+
+ // The instance acked the notification and will start shortly.
+ ACKED = 11;
+
+ // The instance exceeded the time out while applying the patch.
+ TIMED_OUT = 12;
+
+ // The instance is running the pre-patch step.
+ RUNNING_PRE_PATCH_STEP = 13;
+
+ // The instance is running the post-patch step.
+ RUNNING_POST_PATCH_STEP = 14;
+
+ // The service could not detect the presence of the agent. Check to ensure
+ // that the agent is installed, running, and able to communicate with the
+ // service.
+ NO_AGENT_DETECTED = 15;
+ }
+}
+
+// Message for canceling a patch job.
+message CancelPatchJobRequest {
+ // Required. Name of the patch in the form `projects/*/patchJobs/*`
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/PatchJob"
+ }
+ ];
+}
+
+// Apt patching is completed by executing `apt-get update && apt-get
+// upgrade`. Additional options can be set to control how this is executed.
+message AptSettings {
+ // Apt patch type.
+ enum Type {
+ // By default, upgrade will be performed.
+ TYPE_UNSPECIFIED = 0;
+
+ // Runs `apt-get dist-upgrade`.
+ DIST = 1;
+
+ // Runs `apt-get upgrade`.
+ UPGRADE = 2;
+ }
+
+ // By changing the type to DIST, the patching is performed
+ // using `apt-get dist-upgrade` instead.
+ Type type = 1;
+
+ // List of packages to exclude from update. These packages will be excluded
+ repeated string excludes = 2;
+
+ // An exclusive list of packages to be updated. These are the only packages
+ // that will be updated. If these packages are not installed, they will be
+ // ignored. This field cannot be specified with any other patch configuration
+ // fields.
+ repeated string exclusive_packages = 3;
+}
+
+// Yum patching is performed by executing `yum update`. Additional options
+// can be set to control how this is executed.
+//
+// Note that not all settings are supported on all platforms.
+message YumSettings {
+ // Adds the `--security` flag to `yum update`. Not supported on
+ // all platforms.
+ bool security = 1;
+
+ // Will cause patch to run `yum update-minimal` instead.
+ bool minimal = 2;
+
+ // List of packages to exclude from update. These packages are excluded by
+ // using the yum `--exclude` flag.
+ repeated string excludes = 3;
+
+ // An exclusive list of packages to be updated. These are the only packages
+ // that will be updated. If these packages are not installed, they will be
+ // ignored. This field must not be specified with any other patch
+ // configuration fields.
+ repeated string exclusive_packages = 4;
+}
+
+// Googet patching is performed by running `googet update`.
+message GooSettings {}
+
+// Zypper patching is performed by running `zypper patch`.
+// See also https://en.opensuse.org/SDB:Zypper_manual.
+message ZypperSettings {
+ // Adds the `--with-optional` flag to `zypper patch`.
+ bool with_optional = 1;
+
+ // Adds the `--with-update` flag, to `zypper patch`.
+ bool with_update = 2;
+
+ // Install only patches with these categories.
+ // Common categories include security, recommended, and feature.
+ repeated string categories = 3;
+
+ // Install only patches with these severities.
+ // Common severities include critical, important, moderate, and low.
+ repeated string severities = 4;
+
+ // List of patches to exclude from update.
+ repeated string excludes = 5;
+
+ // An exclusive list of patches to be updated. These are the only patches
+ // that will be installed using 'zypper patch patch:' command.
+ // This field must not be used with any other patch configuration fields.
+ repeated string exclusive_patches = 6;
+}
+
+// Windows patching is performed using the Windows Update Agent.
+message WindowsUpdateSettings {
+ // Microsoft Windows update classifications as defined in
+ // [1]
+ // https://support.microsoft.com/en-us/help/824684/description-of-the-standard-terminology-that-is-used-to-describe-micro
+ enum Classification {
+ // Invalid. If classifications are included, they must be specified.
+ CLASSIFICATION_UNSPECIFIED = 0;
+
+ // "A widely released fix for a specific problem that addresses a critical,
+ // non-security-related bug." [1]
+ CRITICAL = 1;
+
+ // "A widely released fix for a product-specific, security-related
+ // vulnerability. Security vulnerabilities are rated by their severity. The
+ // severity rating is indicated in the Microsoft security bulletin as
+ // critical, important, moderate, or low." [1]
+ SECURITY = 2;
+
+ // "A widely released and frequent software update that contains additions
+ // to a product's definition database. Definition databases are often used
+ // to detect objects that have specific attributes, such as malicious code,
+ // phishing websites, or junk mail." [1]
+ DEFINITION = 3;
+
+ // "Software that controls the input and output of a device." [1]
+ DRIVER = 4;
+
+ // "New product functionality that is first distributed outside the context
+ // of a product release and that is typically included in the next full
+ // product release." [1]
+ FEATURE_PACK = 5;
+
+ // "A tested, cumulative set of all hotfixes, security updates, critical
+ // updates, and updates. Additionally, service packs may contain additional
+ // fixes for problems that are found internally since the release of the
+ // product. Service packs my also contain a limited number of
+ // customer-requested design changes or features." [1]
+ SERVICE_PACK = 6;
+
+ // "A utility or feature that helps complete a task or set of tasks." [1]
+ TOOL = 7;
+
+ // "A tested, cumulative set of hotfixes, security updates, critical
+ // updates, and updates that are packaged together for easy deployment. A
+ // rollup generally targets a specific area, such as security, or a
+ // component of a product, such as Internet Information Services (IIS)." [1]
+ UPDATE_ROLLUP = 8;
+
+ // "A widely released fix for a specific problem. An update addresses a
+ // noncritical, non-security-related bug." [1]
+ UPDATE = 9;
+ }
+
+ // Only apply updates of these windows update classifications. If empty, all
+ // updates are applied.
+ repeated Classification classifications = 1;
+
+ // List of KBs to exclude from update.
+ repeated string excludes = 2;
+
+ // An exclusive list of kbs to be updated. These are the only patches
+ // that will be updated. This field must not be used with other
+ // patch configurations.
+ repeated string exclusive_patches = 3;
+}
+
+// A step that runs an executable for a PatchJob.
+message ExecStep {
+ // The ExecStepConfig for all Linux VMs targeted by the PatchJob.
+ ExecStepConfig linux_exec_step_config = 1;
+
+ // The ExecStepConfig for all Windows VMs targeted by the PatchJob.
+ ExecStepConfig windows_exec_step_config = 2;
+}
+
+// Common configurations for an ExecStep.
+message ExecStepConfig {
+ // The interpreter used to execute the a file.
+ enum Interpreter {
+ // Invalid for a Windows ExecStepConfig. For a Linux ExecStepConfig, the
+ // interpreter will be parsed from the shebang line of the script if
+ // unspecified.
+ INTERPRETER_UNSPECIFIED = 0;
+
+ // Indicates that the script is run with `/bin/sh` on Linux and `cmd`
+ // on Windows.
+ SHELL = 1;
+
+ // Indicates that the file is run with PowerShell flags
+ // `-NonInteractive`, `-NoProfile`, and `-ExecutionPolicy Bypass`.
+ POWERSHELL = 2;
+ }
+
+ // Location of the executable.
+ oneof executable {
+ // An absolute path to the executable on the VM.
+ string local_path = 1;
+
+ // A Cloud Storage object containing the executable.
+ GcsObject gcs_object = 2;
+ }
+
+ // Defaults to [0]. A list of possible return values that the
+ // execution can return to indicate a success.
+ repeated int32 allowed_success_codes = 3;
+
+ // The script interpreter to use to run the script. If no interpreter is
+ // specified the script will be executed directly, which will likely
+ // only succeed for scripts with [shebang lines]
+ // (https://en.wikipedia.org/wiki/Shebang_\(Unix\)).
+ Interpreter interpreter = 4;
+}
+
+// Cloud Storage object representation.
+message GcsObject {
+ // Required. Bucket of the Cloud Storage object.
+ string bucket = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Name of the Cloud Storage object.
+ string object = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Generation number of the Cloud Storage object. This is used to
+ // ensure that the ExecStep specified by this PatchJob does not change.
+ int64 generation_number = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A filter to target VM instances for patching. The targeted
+// VMs must meet all criteria specified. So if both labels and zones are
+// specified, the patch job targets only VMs with those labels and in those
+// zones.
+message PatchInstanceFilter {
+ // Targets a group of VM instances by using their [assigned
+ // labels](https://cloud.google.com/compute/docs/labeling-resources). Labels
+ // are key-value pairs. A `GroupLabel` is a combination of labels
+ // that is used to target VMs for a patch job.
+ //
+ // For example, a patch job can target VMs that have the following
+ // `GroupLabel`: `{"env":"test", "app":"web"}`. This means that the patch job
+ // is applied to VMs that have both the labels `env=test` and `app=web`.
+ message GroupLabel {
+ // Compute Engine instance labels that must be present for a VM
+ // instance to be targeted by this filter.
+ map labels = 1;
+ }
+
+ // Target all VM instances in the project. If true, no other criteria is
+ // permitted.
+ bool all = 1;
+
+ // Targets VM instances matching ANY of these GroupLabels. This allows
+ // targeting of disparate groups of VM instances.
+ repeated GroupLabel group_labels = 2;
+
+ // Targets VM instances in ANY of these zones. Leave empty to target VM
+ // instances in any zone.
+ repeated string zones = 3;
+
+ // Targets any of the VM instances specified. Instances are specified by their
+ // URI in the form `zones/[ZONE]/instances/[INSTANCE_NAME]`,
+ // `projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`, or
+ // `https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`
+ repeated string instances = 4;
+
+ // Targets VMs whose name starts with one of these prefixes. Similar to
+ // labels, this is another way to group VMs when targeting configs, for
+ // example prefix="prod-".
+ repeated string instance_name_prefixes = 5;
+}
+
+// Patch rollout configuration specifications. Contains details on the
+// concurrency control when applying patch(es) to all targeted VMs.
+message PatchRollout {
+ // Type of the rollout.
+ enum Mode {
+ // Mode must be specified.
+ MODE_UNSPECIFIED = 0;
+
+ // Patches are applied one zone at a time. The patch job begins in the
+ // region with the lowest number of targeted VMs. Within the region,
+ // patching begins in the zone with the lowest number of targeted VMs. If
+ // multiple regions (or zones within a region) have the same number of
+ // targeted VMs, a tie-breaker is achieved by sorting the regions or zones
+ // in alphabetical order.
+ ZONE_BY_ZONE = 1;
+
+ // Patches are applied to VMs in all zones at the same time.
+ CONCURRENT_ZONES = 2;
+ }
+
+ // Mode of the patch rollout.
+ Mode mode = 1;
+
+ // The maximum number (or percentage) of VMs per zone to disrupt at any given
+ // moment. The number of VMs calculated from multiplying the percentage by the
+ // total number of VMs in a zone is rounded up.
+ //
+ // During patching, a VM is considered disrupted from the time the agent is
+ // notified to begin until patching has completed. This disruption time
+ // includes the time to complete reboot and any post-patch steps.
+ //
+ // A VM contributes to the disruption budget if its patching operation fails
+ // either when applying the patches, running pre or post patch steps, or if it
+ // fails to respond with a success notification before timing out. VMs that
+ // are not running or do not have an active agent do not count toward this
+ // disruption budget.
+ //
+ // For zone-by-zone rollouts, if the disruption budget in a zone is exceeded,
+ // the patch job stops, because continuing to the next zone requires
+ // completion of the patch process in the previous zone.
+ //
+ // For example, if the disruption budget has a fixed value of `10`, and 8 VMs
+ // fail to patch in the current zone, the patch job continues to patch 2 VMs
+ // at a time until the zone is completed. When that zone is completed
+ // successfully, patching begins with 10 VMs at a time in the next zone. If 10
+ // VMs in the next zone fail to patch, the patch job stops.
+ FixedOrPercent disruption_budget = 2;
+}
diff --git a/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/vulnerability.proto b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/vulnerability.proto
new file mode 100644
index 00000000000..b8ca5175ce0
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/cloud/osconfig/v1/vulnerability.proto
@@ -0,0 +1,365 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.osconfig.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option csharp_namespace = "Google.Cloud.OsConfig.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/osconfig/v1;osconfig";
+option java_multiple_files = true;
+option java_outer_classname = "VulnerabilityProto";
+option java_package = "com.google.cloud.osconfig.v1";
+option php_namespace = "Google\\Cloud\\OsConfig\\V1";
+option ruby_package = "Google::Cloud::OsConfig::V1";
+
+// This API resource represents the vulnerability report for a specified
+// Compute Engine virtual machine (VM) instance at a given point in time.
+//
+// For more information, see [Vulnerability
+// reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).
+message VulnerabilityReport {
+ option (google.api.resource) = {
+ type: "osconfig.googleapis.com/VulnerabilityReport"
+ pattern: "projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport"
+ };
+
+ // A vulnerability affecting the VM instance.
+ message Vulnerability {
+ // Contains metadata information for the vulnerability. This information is
+ // collected from the upstream feed of the operating system.
+ message Details {
+ // A reference for this vulnerability.
+ message Reference {
+ // The url of the reference.
+ string url = 1;
+
+ // The source of the reference e.g. NVD.
+ string source = 2;
+ }
+
+ // The CVE of the vulnerability. CVE cannot be
+ // empty and the combination of should be unique
+ // across vulnerabilities for a VM.
+ string cve = 1;
+
+ // The CVSS V2 score of this vulnerability. CVSS V2 score is on a scale of
+ // 0 - 10 where 0 indicates low severity and 10 indicates high severity.
+ float cvss_v2_score = 2;
+
+ // The full description of the CVSSv3 for this vulnerability from NVD.
+ CVSSv3 cvss_v3 = 3;
+
+ // Assigned severity/impact ranking from the distro.
+ string severity = 4;
+
+ // The note or description describing the vulnerability from the distro.
+ string description = 5;
+
+ // Corresponds to the references attached to the `VulnerabilityDetails`.
+ repeated Reference references = 6;
+ }
+
+ // OS inventory item that is affected by a vulnerability or fixed as a
+ // result of a vulnerability.
+ message Item {
+ // Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM.
+ // This field displays the inventory items affected by this vulnerability.
+ // If the vulnerability report was not updated after the VM inventory
+ // update, these values might not display in VM inventory. For some
+ // operating systems, this field might be empty.
+ string installed_inventory_item_id = 1;
+
+ // Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM.
+ // If the vulnerability report was not updated after the VM inventory
+ // update, these values might not display in VM inventory. If there is no
+ // available fix, the field is empty. The `inventory_item` value specifies
+ // the latest `SoftwarePackage` available to the VM that fixes the
+ // vulnerability.
+ string available_inventory_item_id = 2;
+
+ // The recommended [CPE URI](https://cpe.mitre.org/specification/) update
+ // that contains a fix for this vulnerability.
+ string fixed_cpe_uri = 3;
+
+ // The upstream OS patch, packages or KB that fixes the vulnerability.
+ string upstream_fix = 4;
+ }
+
+ // Contains metadata as per the upstream feed of the operating system and
+ // NVD.
+ Details details = 1;
+
+ // Corresponds to the `INSTALLED_PACKAGE` inventory item on the VM.
+ // This field displays the inventory items affected by this vulnerability.
+ // If the vulnerability report was not updated after the VM inventory
+ // update, these values might not display in VM inventory. For some distros,
+ // this field may be empty.
+ repeated string installed_inventory_item_ids = 2 [deprecated = true];
+
+ // Corresponds to the `AVAILABLE_PACKAGE` inventory item on the VM.
+ // If the vulnerability report was not updated after the VM inventory
+ // update, these values might not display in VM inventory. If there is no
+ // available fix, the field is empty. The `inventory_item` value specifies
+ // the latest `SoftwarePackage` available to the VM that fixes the
+ // vulnerability.
+ repeated string available_inventory_item_ids = 3 [deprecated = true];
+
+ // The timestamp for when the vulnerability was first detected.
+ google.protobuf.Timestamp create_time = 4;
+
+ // The timestamp for when the vulnerability was last modified.
+ google.protobuf.Timestamp update_time = 5;
+
+ // List of items affected by the vulnerability.
+ repeated Item items = 6;
+ }
+
+ // Output only. The `vulnerabilityReport` API resource name.
+ //
+ // Format:
+ // `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. List of vulnerabilities affecting the VM.
+ repeated Vulnerability vulnerabilities = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp for when the last vulnerability report was generated for the
+ // VM.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A request message for getting the vulnerability report for the specified VM.
+message GetVulnerabilityReportRequest {
+ // Required. API resource name for vulnerability resource.
+ //
+ // Format:
+ // `projects/{project}/locations/{location}/instances/{instance}/vulnerabilityReport`
+ //
+ // For `{project}`, either `project-number` or `project-id` can be provided.
+ // For `{instance}`, either Compute Engine `instance-id` or `instance-name`
+ // can be provided.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "osconfig.googleapis.com/VulnerabilityReport"
+ }
+ ];
+}
+
+// A request message for listing vulnerability reports for all VM instances in
+// the specified location.
+message ListVulnerabilityReportsRequest {
+ // Required. The parent resource name.
+ //
+ // Format: `projects/{project}/locations/{location}/instances/-`
+ //
+ // For `{project}`, either `project-number` or `project-id` can be provided.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "compute.googleapis.com/Instance"
+ }
+ ];
+
+ // The maximum number of results to return.
+ int32 page_size = 2;
+
+ // A pagination token returned from a previous call to
+ // `ListVulnerabilityReports` that indicates where this listing
+ // should continue from.
+ string page_token = 3;
+
+ // If provided, this field specifies the criteria that must be met by a
+ // `vulnerabilityReport` API resource to be included in the response.
+ string filter = 4;
+}
+
+// A response message for listing vulnerability reports for all VM instances in
+// the specified location.
+message ListVulnerabilityReportsResponse {
+ // List of vulnerabilityReport objects.
+ repeated VulnerabilityReport vulnerability_reports = 1;
+
+ // The pagination token to retrieve the next page of vulnerabilityReports
+ // object.
+ string next_page_token = 2;
+}
+
+// Common Vulnerability Scoring System version 3.
+// For details, see https://www.first.org/cvss/specification-document
+message CVSSv3 {
+ // This metric reflects the context by which vulnerability exploitation is
+ // possible.
+ enum AttackVector {
+ // Invalid value.
+ ATTACK_VECTOR_UNSPECIFIED = 0;
+
+ // The vulnerable component is bound to the network stack and the set of
+ // possible attackers extends beyond the other options listed below, up to
+ // and including the entire Internet.
+ ATTACK_VECTOR_NETWORK = 1;
+
+ // The vulnerable component is bound to the network stack, but the attack is
+ // limited at the protocol level to a logically adjacent topology.
+ ATTACK_VECTOR_ADJACENT = 2;
+
+ // The vulnerable component is not bound to the network stack and the
+ // attacker's path is via read/write/execute capabilities.
+ ATTACK_VECTOR_LOCAL = 3;
+
+ // The attack requires the attacker to physically touch or manipulate the
+ // vulnerable component.
+ ATTACK_VECTOR_PHYSICAL = 4;
+ }
+
+ // This metric describes the conditions beyond the attacker's control that
+ // must exist in order to exploit the vulnerability.
+ enum AttackComplexity {
+ // Invalid value.
+ ATTACK_COMPLEXITY_UNSPECIFIED = 0;
+
+ // Specialized access conditions or extenuating circumstances do not exist.
+ // An attacker can expect repeatable success when attacking the vulnerable
+ // component.
+ ATTACK_COMPLEXITY_LOW = 1;
+
+ // A successful attack depends on conditions beyond the attacker's control.
+ // That is, a successful attack cannot be accomplished at will, but requires
+ // the attacker to invest in some measurable amount of effort in preparation
+ // or execution against the vulnerable component before a successful attack
+ // can be expected.
+ ATTACK_COMPLEXITY_HIGH = 2;
+ }
+
+ // This metric describes the level of privileges an attacker must possess
+ // before successfully exploiting the vulnerability.
+ enum PrivilegesRequired {
+ // Invalid value.
+ PRIVILEGES_REQUIRED_UNSPECIFIED = 0;
+
+ // The attacker is unauthorized prior to attack, and therefore does not
+ // require any access to settings or files of the vulnerable system to
+ // carry out an attack.
+ PRIVILEGES_REQUIRED_NONE = 1;
+
+ // The attacker requires privileges that provide basic user capabilities
+ // that could normally affect only settings and files owned by a user.
+ // Alternatively, an attacker with Low privileges has the ability to access
+ // only non-sensitive resources.
+ PRIVILEGES_REQUIRED_LOW = 2;
+
+ // The attacker requires privileges that provide significant (e.g.,
+ // administrative) control over the vulnerable component allowing access to
+ // component-wide settings and files.
+ PRIVILEGES_REQUIRED_HIGH = 3;
+ }
+
+ // This metric captures the requirement for a human user, other than the
+ // attacker, to participate in the successful compromise of the vulnerable
+ // component.
+ enum UserInteraction {
+ // Invalid value.
+ USER_INTERACTION_UNSPECIFIED = 0;
+
+ // The vulnerable system can be exploited without interaction from any user.
+ USER_INTERACTION_NONE = 1;
+
+ // Successful exploitation of this vulnerability requires a user to take
+ // some action before the vulnerability can be exploited.
+ USER_INTERACTION_REQUIRED = 2;
+ }
+
+ // The Scope metric captures whether a vulnerability in one vulnerable
+ // component impacts resources in components beyond its security scope.
+ enum Scope {
+ // Invalid value.
+ SCOPE_UNSPECIFIED = 0;
+
+ // An exploited vulnerability can only affect resources managed by the same
+ // security authority.
+ SCOPE_UNCHANGED = 1;
+
+ // An exploited vulnerability can affect resources beyond the security scope
+ // managed by the security authority of the vulnerable component.
+ SCOPE_CHANGED = 2;
+ }
+
+ // The Impact metrics capture the effects of a successfully exploited
+ // vulnerability on the component that suffers the worst outcome that is most
+ // directly and predictably associated with the attack.
+ enum Impact {
+ // Invalid value.
+ IMPACT_UNSPECIFIED = 0;
+
+ // High impact.
+ IMPACT_HIGH = 1;
+
+ // Low impact.
+ IMPACT_LOW = 2;
+
+ // No impact.
+ IMPACT_NONE = 3;
+ }
+
+ // The base score is a function of the base metric scores.
+ // https://www.first.org/cvss/specification-document#Base-Metrics
+ float base_score = 1;
+
+ // The Exploitability sub-score equation is derived from the Base
+ // Exploitability metrics.
+ // https://www.first.org/cvss/specification-document#2-1-Exploitability-Metrics
+ float exploitability_score = 2;
+
+ // The Impact sub-score equation is derived from the Base Impact metrics.
+ float impact_score = 3;
+
+ // This metric reflects the context by which vulnerability exploitation is
+ // possible.
+ AttackVector attack_vector = 5;
+
+ // This metric describes the conditions beyond the attacker's control that
+ // must exist in order to exploit the vulnerability.
+ AttackComplexity attack_complexity = 6;
+
+ // This metric describes the level of privileges an attacker must possess
+ // before successfully exploiting the vulnerability.
+ PrivilegesRequired privileges_required = 7;
+
+ // This metric captures the requirement for a human user, other than the
+ // attacker, to participate in the successful compromise of the vulnerable
+ // component.
+ UserInteraction user_interaction = 8;
+
+ // The Scope metric captures whether a vulnerability in one vulnerable
+ // component impacts resources in components beyond its security scope.
+ Scope scope = 9;
+
+ // This metric measures the impact to the confidentiality of the information
+ // resources managed by a software component due to a successfully exploited
+ // vulnerability.
+ Impact confidentiality_impact = 10;
+
+ // This metric measures the impact to integrity of a successfully exploited
+ // vulnerability.
+ Impact integrity_impact = 11;
+
+ // This metric measures the impact to the availability of the impacted
+ // component resulting from a successfully exploited vulnerability.
+ Impact availability_impact = 12;
+}
diff --git a/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/type/device_resources.proto b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/type/device_resources.proto
new file mode 100644
index 00000000000..f0579103393
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/type/device_resources.proto
@@ -0,0 +1,85 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.identity.accesscontextmanager.type;
+
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Identity.AccessContextManager.Type";
+option go_package = "google.golang.org/genproto/googleapis/identity/accesscontextmanager/type;type";
+option java_package = "com.google.identity.accesscontextmanager.type";
+option java_multiple_files = true;
+option java_outer_classname = "TypeProto";
+option php_namespace = "Google\\Identity\\AccessContextManager\\Type";
+option ruby_package = "Google::Identity::AccessContextManager::Type";
+
+// The encryption state of the device.
+enum DeviceEncryptionStatus {
+ // The encryption status of the device is not specified or not known.
+ ENCRYPTION_UNSPECIFIED = 0;
+
+ // The device does not support encryption.
+ ENCRYPTION_UNSUPPORTED = 1;
+
+ // The device supports encryption, but is currently unencrypted.
+ UNENCRYPTED = 2;
+
+ // The device is encrypted.
+ ENCRYPTED = 3;
+}
+
+// The operating system type of the device.
+// Next id: 7
+enum OsType {
+ // The operating system of the device is not specified or not known.
+ OS_UNSPECIFIED = 0;
+
+ // A desktop Mac operating system.
+ DESKTOP_MAC = 1;
+
+ // A desktop Windows operating system.
+ DESKTOP_WINDOWS = 2;
+
+ // A desktop Linux operating system.
+ DESKTOP_LINUX = 3;
+
+ // A desktop ChromeOS operating system.
+ DESKTOP_CHROME_OS = 6;
+
+ // An Android operating system.
+ ANDROID = 4;
+
+ // An iOS operating system.
+ IOS = 5;
+}
+
+// The degree to which the device is managed by the Cloud organization.
+enum DeviceManagementLevel {
+ // The device's management level is not specified or not known.
+ MANAGEMENT_UNSPECIFIED = 0;
+
+ // The device is not managed.
+ NONE = 1;
+
+ // Basic management is enabled, which is generally limited to monitoring and
+ // wiping the corporate account.
+ BASIC = 2;
+
+ // Complete device management. This includes more thorough monitoring and the
+ // ability to directly manage the device (such as remote wiping). This can be
+ // enabled through the Android Enterprise Platform.
+ COMPLETE = 3;
+}
diff --git a/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/access_level.proto b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/access_level.proto
new file mode 100644
index 00000000000..0ebd1936c94
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/access_level.proto
@@ -0,0 +1,187 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.identity.accesscontextmanager.v1;
+
+import "google/identity/accesscontextmanager/type/device_resources.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/expr.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Identity.AccessContextManager.V1";
+option go_package = "google.golang.org/genproto/googleapis/identity/accesscontextmanager/v1;accesscontextmanager";
+option java_multiple_files = true;
+option java_outer_classname = "AccessLevelProto";
+option java_package = "com.google.identity.accesscontextmanager.v1";
+option php_namespace = "Google\\Identity\\AccessContextManager\\V1";
+option ruby_package = "Google::Identity::AccessContextManager::V1";
+option objc_class_prefix = "GACM";
+
+// An `AccessLevel` is a label that can be applied to requests to Google Cloud
+// services, along with a list of requirements necessary for the label to be
+// applied.
+message AccessLevel {
+ // Required. Resource name for the Access Level. The `short_name` component
+ // must begin with a letter and only include alphanumeric and '_'. Format:
+ // `accessPolicies/{policy_id}/accessLevels/{short_name}`. The maximum length
+ // of the `short_name` component is 50 characters.
+ string name = 1;
+
+ // Human readable title. Must be unique within the Policy.
+ string title = 2;
+
+ // Description of the `AccessLevel` and its use. Does not affect behavior.
+ string description = 3;
+
+ // Required. Describes the necessary conditions for the level to apply.
+ oneof level {
+ // A `BasicLevel` composed of `Conditions`.
+ BasicLevel basic = 4;
+
+ // A `CustomLevel` written in the Common Expression Language.
+ CustomLevel custom = 5;
+ }
+
+ // Output only. Time the `AccessLevel` was created in UTC.
+ google.protobuf.Timestamp create_time = 6;
+
+ // Output only. Time the `AccessLevel` was updated in UTC.
+ google.protobuf.Timestamp update_time = 7;
+}
+
+// `BasicLevel` is an `AccessLevel` using a set of recommended features.
+message BasicLevel {
+ // Options for how the `conditions` list should be combined to determine if
+ // this `AccessLevel` is applied. Default is AND.
+ enum ConditionCombiningFunction {
+ // All `Conditions` must be true for the `BasicLevel` to be true.
+ AND = 0;
+
+ // If at least one `Condition` is true, then the `BasicLevel` is true.
+ OR = 1;
+ }
+
+ // Required. A list of requirements for the `AccessLevel` to be granted.
+ repeated Condition conditions = 1;
+
+ // How the `conditions` list should be combined to determine if a request is
+ // granted this `AccessLevel`. If AND is used, each `Condition` in
+ // `conditions` must be satisfied for the `AccessLevel` to be applied. If OR
+ // is used, at least one `Condition` in `conditions` must be satisfied for the
+ // `AccessLevel` to be applied. Default behavior is AND.
+ ConditionCombiningFunction combining_function = 2;
+}
+
+// A condition necessary for an `AccessLevel` to be granted. The Condition is an
+// AND over its fields. So a Condition is true if: 1) the request IP is from one
+// of the listed subnetworks AND 2) the originating device complies with the
+// listed device policy AND 3) all listed access levels are granted AND 4) the
+// request was sent at a time allowed by the DateTimeRestriction.
+message Condition {
+ // CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for
+ // a CIDR IP address block, the specified IP address portion must be properly
+ // truncated (i.e. all the host bits must be zero) or the input is considered
+ // malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is
+ // not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas
+ // "2001:db8::1/32" is not. The originating IP of a request must be in one of
+ // the listed subnets in order for this Condition to be true. If empty, all IP
+ // addresses are allowed.
+ repeated string ip_subnetworks = 1;
+
+ // Device specific restrictions, all restrictions must hold for the
+ // Condition to be true. If not specified, all devices are allowed.
+ DevicePolicy device_policy = 2;
+
+ // A list of other access levels defined in the same `Policy`, referenced by
+ // resource name. Referencing an `AccessLevel` which does not exist is an
+ // error. All access levels listed must be granted for the Condition
+ // to be true. Example:
+ // "`accessPolicies/MY_POLICY/accessLevels/LEVEL_NAME"`
+ repeated string required_access_levels = 3;
+
+ // Whether to negate the Condition. If true, the Condition becomes a NAND over
+ // its non-empty fields, each field must be false for the Condition overall to
+ // be satisfied. Defaults to false.
+ bool negate = 5;
+
+ // The request must be made by one of the provided user or service
+ // accounts. Groups are not supported.
+ // Syntax:
+ // `user:{emailid}`
+ // `serviceAccount:{emailid}`
+ // If not specified, a request may come from any user.
+ repeated string members = 6;
+
+ // The request must originate from one of the provided countries/regions.
+ // Must be valid ISO 3166-1 alpha-2 codes.
+ repeated string regions = 7;
+}
+
+// `CustomLevel` is an `AccessLevel` using the Cloud Common Expression Language
+// to represent the necessary conditions for the level to apply to a request.
+// See CEL spec at: https://github.com/google/cel-spec
+message CustomLevel {
+ // Required. A Cloud CEL expression evaluating to a boolean.
+ google.type.Expr expr = 1;
+}
+
+// `DevicePolicy` specifies device specific restrictions necessary to acquire a
+// given access level. A `DevicePolicy` specifies requirements for requests from
+// devices to be granted access levels, it does not do any enforcement on the
+// device. `DevicePolicy` acts as an AND over all specified fields, and each
+// repeated field is an OR over its elements. Any unset fields are ignored. For
+// example, if the proto is { os_type : DESKTOP_WINDOWS, os_type :
+// DESKTOP_LINUX, encryption_status: ENCRYPTED}, then the DevicePolicy will be
+// true for requests originating from encrypted Linux desktops and encrypted
+// Windows desktops.
+message DevicePolicy {
+ // Whether or not screenlock is required for the DevicePolicy to be true.
+ // Defaults to `false`.
+ bool require_screenlock = 1;
+
+ // Allowed encryptions statuses, an empty list allows all statuses.
+ repeated google.identity.accesscontextmanager.type.DeviceEncryptionStatus allowed_encryption_statuses = 2;
+
+ // Allowed OS versions, an empty list allows all types and all versions.
+ repeated OsConstraint os_constraints = 3;
+
+ // Allowed device management levels, an empty list allows all management
+ // levels.
+ repeated google.identity.accesscontextmanager.type.DeviceManagementLevel allowed_device_management_levels = 6;
+
+ // Whether the device needs to be approved by the customer admin.
+ bool require_admin_approval = 7;
+
+ // Whether the device needs to be corp owned.
+ bool require_corp_owned = 8;
+}
+
+// A restriction on the OS type and version of devices making requests.
+message OsConstraint {
+ // Required. The allowed OS type.
+ google.identity.accesscontextmanager.type.OsType os_type = 1;
+
+ // The minimum allowed OS version. If not set, any version of this OS
+ // satisfies the constraint. Format: `"major.minor.patch"`.
+ // Examples: `"10.5.301"`, `"9.2.1"`.
+ string minimum_version = 2;
+
+ // Only allows requests from devices with a verified Chrome OS.
+ // Verifications includes requirements that the device is enterprise-managed,
+ // conformant to domain policies, and the caller has permission to call
+ // the API targeted by the request.
+ bool require_verified_chrome_os = 3;
+}
diff --git a/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/access_policy.proto b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/access_policy.proto
new file mode 100644
index 00000000000..9ec59d1c1e8
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/access_policy.proto
@@ -0,0 +1,60 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.identity.accesscontextmanager.v1;
+
+import "google/protobuf/timestamp.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Identity.AccessContextManager.V1";
+option go_package = "google.golang.org/genproto/googleapis/identity/accesscontextmanager/v1;accesscontextmanager";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyProto";
+option java_package = "com.google.identity.accesscontextmanager.v1";
+option php_namespace = "Google\\Identity\\AccessContextManager\\V1";
+option ruby_package = "Google::Identity::AccessContextManager::V1";
+option objc_class_prefix = "GACM";
+
+// `AccessPolicy` is a container for `AccessLevels` (which define the necessary
+// attributes to use Google Cloud services) and `ServicePerimeters` (which
+// define regions of services able to freely pass data within a perimeter). An
+// access policy is globally visible within an organization, and the
+// restrictions it specifies apply to all projects within an organization.
+message AccessPolicy {
+ // Output only. Resource name of the `AccessPolicy`. Format:
+ // `accessPolicies/{policy_id}`
+ string name = 1;
+
+ // Required. The parent of this `AccessPolicy` in the Cloud Resource
+ // Hierarchy. Currently immutable once created. Format:
+ // `organizations/{organization_id}`
+ string parent = 2;
+
+ // Required. Human readable title. Does not affect behavior.
+ string title = 3;
+
+ // Output only. Time the `AccessPolicy` was created in UTC.
+ google.protobuf.Timestamp create_time = 4;
+
+ // Output only. Time the `AccessPolicy` was updated in UTC.
+ google.protobuf.Timestamp update_time = 5;
+
+ // Output only. An opaque identifier for the current version of the
+ // `AccessPolicy`. This will always be a strongly validated etag, meaning that
+ // two Access Polices will be identical if and only if their etags are
+ // identical. Clients should not expect this to be in any specific format.
+ string etag = 6;
+}
diff --git a/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/service_perimeter.proto b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/service_perimeter.proto
new file mode 100644
index 00000000000..89d76818dd1
--- /dev/null
+++ b/packages/google-cloud-asset/protos/google/identity/accesscontextmanager/v1/service_perimeter.proto
@@ -0,0 +1,152 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.identity.accesscontextmanager.v1;
+
+import "google/protobuf/timestamp.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Identity.AccessContextManager.V1";
+option go_package = "google.golang.org/genproto/googleapis/identity/accesscontextmanager/v1;accesscontextmanager";
+option java_multiple_files = true;
+option java_outer_classname = "ServicePerimeterProto";
+option java_package = "com.google.identity.accesscontextmanager.v1";
+option php_namespace = "Google\\Identity\\AccessContextManager\\V1";
+option ruby_package = "Google::Identity::AccessContextManager::V1";
+option objc_class_prefix = "GACM";
+
+// `ServicePerimeter` describes a set of Google Cloud resources which can freely
+// import and export data amongst themselves, but not export outside of the
+// `ServicePerimeter`. If a request with a source within this `ServicePerimeter`
+// has a target outside of the `ServicePerimeter`, the request will be blocked.
+// Otherwise the request is allowed. There are two types of Service Perimeter -
+// Regular and Bridge. Regular Service Perimeters cannot overlap, a single
+// Google Cloud project can only belong to a single regular Service Perimeter.
+// Service Perimeter Bridges can contain only Google Cloud projects as members,
+// a single Google Cloud project may belong to multiple Service Perimeter
+// Bridges.
+message ServicePerimeter {
+ // Specifies the type of the Perimeter. There are two types: regular and
+ // bridge. Regular Service Perimeter contains resources, access levels, and
+ // restricted services. Every resource can be in at most ONE
+ // regular Service Perimeter.
+ //
+ // In addition to being in a regular service perimeter, a resource can also
+ // be in zero or more perimeter bridges. A perimeter bridge only contains
+ // resources. Cross project operations are permitted if all effected
+ // resources share some perimeter (whether bridge or regular). Perimeter
+ // Bridge does not contain access levels or services: those are governed
+ // entirely by the regular perimeter that resource is in.
+ //
+ // Perimeter Bridges are typically useful when building more complex toplogies
+ // with many independent perimeters that need to share some data with a common
+ // perimeter, but should not be able to share data among themselves.
+ enum PerimeterType {
+ // Regular Perimeter.
+ PERIMETER_TYPE_REGULAR = 0;
+
+ // Perimeter Bridge.
+ PERIMETER_TYPE_BRIDGE = 1;
+ }
+
+ // Required. Resource name for the ServicePerimeter. The `short_name`
+ // component must begin with a letter and only include alphanumeric and '_'.
+ // Format: `accessPolicies/{policy_id}/servicePerimeters/{short_name}`
+ string name = 1;
+
+ // Human readable title. Must be unique within the Policy.
+ string title = 2;
+
+ // Description of the `ServicePerimeter` and its use. Does not affect
+ // behavior.
+ string description = 3;
+
+ // Output only. Time the `ServicePerimeter` was created in UTC.
+ google.protobuf.Timestamp create_time = 4;
+
+ // Output only. Time the `ServicePerimeter` was updated in UTC.
+ google.protobuf.Timestamp update_time = 5;
+
+ // Perimeter type indicator. A single project is
+ // allowed to be a member of single regular perimeter, but multiple service
+ // perimeter bridges. A project cannot be a included in a perimeter bridge
+ // without being included in regular perimeter. For perimeter bridges,
+ // the restricted service list as well as access level lists must be
+ // empty.
+ PerimeterType perimeter_type = 6;
+
+ // Current ServicePerimeter configuration. Specifies sets of resources,
+ // restricted services and access levels that determine perimeter
+ // content and boundaries.
+ ServicePerimeterConfig status = 7;
+
+ // Proposed (or dry run) ServicePerimeter configuration. This configuration
+ // allows to specify and test ServicePerimeter configuration without enforcing
+ // actual access restrictions. Only allowed to be set when the
+ // "use_explicit_dry_run_spec" flag is set.
+ ServicePerimeterConfig spec = 8;
+
+ // Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly
+ // exists for all Service Perimeters, and that spec is identical to the
+ // status for those Service Perimeters. When this flag is set, it inhibits the
+ // generation of the implicit spec, thereby allowing the user to explicitly
+ // provide a configuration ("spec") to use in a dry-run version of the Service
+ // Perimeter. This allows the user to test changes to the enforced config
+ // ("status") without actually enforcing them. This testing is done through
+ // analyzing the differences between currently enforced and suggested
+ // restrictions. use_explicit_dry_run_spec must bet set to True if any of the
+ // fields in the spec are set to non-default values.
+ bool use_explicit_dry_run_spec = 9;
+}
+
+// `ServicePerimeterConfig` specifies a set of Google Cloud resources that
+// describe specific Service Perimeter configuration.
+message ServicePerimeterConfig {
+ // Specifies how APIs are allowed to communicate within the Service
+ // Perimeter.
+ message VpcAccessibleServices {
+ // Whether to restrict API calls within the Service Perimeter to the list of
+ // APIs specified in 'allowed_services'.
+ bool enable_restriction = 1;
+
+ // The list of APIs usable within the Service Perimeter. Must be empty
+ // unless 'enable_restriction' is True.
+ repeated string allowed_services = 2;
+ }
+
+ // A list of Google Cloud resources that are inside of the service perimeter.
+ // Currently only projects are allowed. Format: `projects/{project_number}`
+ repeated string resources = 1;
+
+ // A list of `AccessLevel` resource names that allow resources within the
+ // `ServicePerimeter` to be accessed from the internet. `AccessLevels` listed
+ // must be in the same policy as this `ServicePerimeter`. Referencing a
+ // nonexistent `AccessLevel` is a syntax error. If no `AccessLevel` names are
+ // listed, resources within the perimeter can only be accessed via Google
+ // Cloud calls with request origins within the perimeter. Example:
+ // `"accessPolicies/MY_POLICY/accessLevels/MY_LEVEL"`.
+ // For Service Perimeter Bridge, must be empty.
+ repeated string access_levels = 2;
+
+ // Google Cloud services that are subject to the Service Perimeter
+ // restrictions. For example, if `storage.googleapis.com` is specified, access
+ // to the storage buckets inside the perimeter must meet the perimeter's
+ // access restrictions.
+ repeated string restricted_services = 4;
+
+ // Configuration for APIs allowed within Perimeter.
+ VpcAccessibleServices vpc_accessible_services = 10;
+}
diff --git a/packages/google-cloud-asset/protos/protos.d.ts b/packages/google-cloud-asset/protos/protos.d.ts
new file mode 100644
index 00000000000..027b447e80c
--- /dev/null
+++ b/packages/google-cloud-asset/protos/protos.d.ts
@@ -0,0 +1,26149 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import type {protobuf as $protobuf} from "google-gax";
+import Long = require("long");
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace cloud. */
+ namespace cloud {
+
+ /** Namespace asset. */
+ namespace asset {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Represents an AssetService */
+ class AssetService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new AssetService 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 AssetService 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): AssetService;
+
+ /**
+ * Calls ExportAssets.
+ * @param request ExportAssetsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public exportAssets(request: google.cloud.asset.v1.IExportAssetsRequest, callback: google.cloud.asset.v1.AssetService.ExportAssetsCallback): void;
+
+ /**
+ * Calls ExportAssets.
+ * @param request ExportAssetsRequest message or plain object
+ * @returns Promise
+ */
+ public exportAssets(request: google.cloud.asset.v1.IExportAssetsRequest): Promise;
+
+ /**
+ * Calls ListAssets.
+ * @param request ListAssetsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListAssetsResponse
+ */
+ public listAssets(request: google.cloud.asset.v1.IListAssetsRequest, callback: google.cloud.asset.v1.AssetService.ListAssetsCallback): void;
+
+ /**
+ * Calls ListAssets.
+ * @param request ListAssetsRequest message or plain object
+ * @returns Promise
+ */
+ public listAssets(request: google.cloud.asset.v1.IListAssetsRequest): Promise;
+
+ /**
+ * Calls BatchGetAssetsHistory.
+ * @param request BatchGetAssetsHistoryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and BatchGetAssetsHistoryResponse
+ */
+ public batchGetAssetsHistory(request: google.cloud.asset.v1.IBatchGetAssetsHistoryRequest, callback: google.cloud.asset.v1.AssetService.BatchGetAssetsHistoryCallback): void;
+
+ /**
+ * Calls BatchGetAssetsHistory.
+ * @param request BatchGetAssetsHistoryRequest message or plain object
+ * @returns Promise
+ */
+ public batchGetAssetsHistory(request: google.cloud.asset.v1.IBatchGetAssetsHistoryRequest): Promise;
+
+ /**
+ * Calls CreateFeed.
+ * @param request CreateFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Feed
+ */
+ public createFeed(request: google.cloud.asset.v1.ICreateFeedRequest, callback: google.cloud.asset.v1.AssetService.CreateFeedCallback): void;
+
+ /**
+ * Calls CreateFeed.
+ * @param request CreateFeedRequest message or plain object
+ * @returns Promise
+ */
+ public createFeed(request: google.cloud.asset.v1.ICreateFeedRequest): Promise;
+
+ /**
+ * Calls GetFeed.
+ * @param request GetFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Feed
+ */
+ public getFeed(request: google.cloud.asset.v1.IGetFeedRequest, callback: google.cloud.asset.v1.AssetService.GetFeedCallback): void;
+
+ /**
+ * Calls GetFeed.
+ * @param request GetFeedRequest message or plain object
+ * @returns Promise
+ */
+ public getFeed(request: google.cloud.asset.v1.IGetFeedRequest): Promise;
+
+ /**
+ * Calls ListFeeds.
+ * @param request ListFeedsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListFeedsResponse
+ */
+ public listFeeds(request: google.cloud.asset.v1.IListFeedsRequest, callback: google.cloud.asset.v1.AssetService.ListFeedsCallback): void;
+
+ /**
+ * Calls ListFeeds.
+ * @param request ListFeedsRequest message or plain object
+ * @returns Promise
+ */
+ public listFeeds(request: google.cloud.asset.v1.IListFeedsRequest): Promise;
+
+ /**
+ * Calls UpdateFeed.
+ * @param request UpdateFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Feed
+ */
+ public updateFeed(request: google.cloud.asset.v1.IUpdateFeedRequest, callback: google.cloud.asset.v1.AssetService.UpdateFeedCallback): void;
+
+ /**
+ * Calls UpdateFeed.
+ * @param request UpdateFeedRequest message or plain object
+ * @returns Promise
+ */
+ public updateFeed(request: google.cloud.asset.v1.IUpdateFeedRequest): Promise;
+
+ /**
+ * Calls DeleteFeed.
+ * @param request DeleteFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteFeed(request: google.cloud.asset.v1.IDeleteFeedRequest, callback: google.cloud.asset.v1.AssetService.DeleteFeedCallback): void;
+
+ /**
+ * Calls DeleteFeed.
+ * @param request DeleteFeedRequest message or plain object
+ * @returns Promise
+ */
+ public deleteFeed(request: google.cloud.asset.v1.IDeleteFeedRequest): Promise;
+
+ /**
+ * Calls SearchAllResources.
+ * @param request SearchAllResourcesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchAllResourcesResponse
+ */
+ public searchAllResources(request: google.cloud.asset.v1.ISearchAllResourcesRequest, callback: google.cloud.asset.v1.AssetService.SearchAllResourcesCallback): void;
+
+ /**
+ * Calls SearchAllResources.
+ * @param request SearchAllResourcesRequest message or plain object
+ * @returns Promise
+ */
+ public searchAllResources(request: google.cloud.asset.v1.ISearchAllResourcesRequest): Promise;
+
+ /**
+ * Calls SearchAllIamPolicies.
+ * @param request SearchAllIamPoliciesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchAllIamPoliciesResponse
+ */
+ public searchAllIamPolicies(request: google.cloud.asset.v1.ISearchAllIamPoliciesRequest, callback: google.cloud.asset.v1.AssetService.SearchAllIamPoliciesCallback): void;
+
+ /**
+ * Calls SearchAllIamPolicies.
+ * @param request SearchAllIamPoliciesRequest message or plain object
+ * @returns Promise
+ */
+ public searchAllIamPolicies(request: google.cloud.asset.v1.ISearchAllIamPoliciesRequest): Promise;
+
+ /**
+ * Calls AnalyzeIamPolicy.
+ * @param request AnalyzeIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AnalyzeIamPolicyResponse
+ */
+ public analyzeIamPolicy(request: google.cloud.asset.v1.IAnalyzeIamPolicyRequest, callback: google.cloud.asset.v1.AssetService.AnalyzeIamPolicyCallback): void;
+
+ /**
+ * Calls AnalyzeIamPolicy.
+ * @param request AnalyzeIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public analyzeIamPolicy(request: google.cloud.asset.v1.IAnalyzeIamPolicyRequest): Promise;
+
+ /**
+ * Calls AnalyzeIamPolicyLongrunning.
+ * @param request AnalyzeIamPolicyLongrunningRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public analyzeIamPolicyLongrunning(request: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest, callback: google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunningCallback): void;
+
+ /**
+ * Calls AnalyzeIamPolicyLongrunning.
+ * @param request AnalyzeIamPolicyLongrunningRequest message or plain object
+ * @returns Promise
+ */
+ public analyzeIamPolicyLongrunning(request: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest): Promise;
+
+ /**
+ * Calls AnalyzeMove.
+ * @param request AnalyzeMoveRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AnalyzeMoveResponse
+ */
+ public analyzeMove(request: google.cloud.asset.v1.IAnalyzeMoveRequest, callback: google.cloud.asset.v1.AssetService.AnalyzeMoveCallback): void;
+
+ /**
+ * Calls AnalyzeMove.
+ * @param request AnalyzeMoveRequest message or plain object
+ * @returns Promise
+ */
+ public analyzeMove(request: google.cloud.asset.v1.IAnalyzeMoveRequest): Promise;
+
+ /**
+ * Calls QueryAssets.
+ * @param request QueryAssetsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and QueryAssetsResponse
+ */
+ public queryAssets(request: google.cloud.asset.v1.IQueryAssetsRequest, callback: google.cloud.asset.v1.AssetService.QueryAssetsCallback): void;
+
+ /**
+ * Calls QueryAssets.
+ * @param request QueryAssetsRequest message or plain object
+ * @returns Promise
+ */
+ public queryAssets(request: google.cloud.asset.v1.IQueryAssetsRequest): Promise;
+
+ /**
+ * Calls CreateSavedQuery.
+ * @param request CreateSavedQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SavedQuery
+ */
+ public createSavedQuery(request: google.cloud.asset.v1.ICreateSavedQueryRequest, callback: google.cloud.asset.v1.AssetService.CreateSavedQueryCallback): void;
+
+ /**
+ * Calls CreateSavedQuery.
+ * @param request CreateSavedQueryRequest message or plain object
+ * @returns Promise
+ */
+ public createSavedQuery(request: google.cloud.asset.v1.ICreateSavedQueryRequest): Promise;
+
+ /**
+ * Calls GetSavedQuery.
+ * @param request GetSavedQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SavedQuery
+ */
+ public getSavedQuery(request: google.cloud.asset.v1.IGetSavedQueryRequest, callback: google.cloud.asset.v1.AssetService.GetSavedQueryCallback): void;
+
+ /**
+ * Calls GetSavedQuery.
+ * @param request GetSavedQueryRequest message or plain object
+ * @returns Promise
+ */
+ public getSavedQuery(request: google.cloud.asset.v1.IGetSavedQueryRequest): Promise;
+
+ /**
+ * Calls ListSavedQueries.
+ * @param request ListSavedQueriesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSavedQueriesResponse
+ */
+ public listSavedQueries(request: google.cloud.asset.v1.IListSavedQueriesRequest, callback: google.cloud.asset.v1.AssetService.ListSavedQueriesCallback): void;
+
+ /**
+ * Calls ListSavedQueries.
+ * @param request ListSavedQueriesRequest message or plain object
+ * @returns Promise
+ */
+ public listSavedQueries(request: google.cloud.asset.v1.IListSavedQueriesRequest): Promise;
+
+ /**
+ * Calls UpdateSavedQuery.
+ * @param request UpdateSavedQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SavedQuery
+ */
+ public updateSavedQuery(request: google.cloud.asset.v1.IUpdateSavedQueryRequest, callback: google.cloud.asset.v1.AssetService.UpdateSavedQueryCallback): void;
+
+ /**
+ * Calls UpdateSavedQuery.
+ * @param request UpdateSavedQueryRequest message or plain object
+ * @returns Promise
+ */
+ public updateSavedQuery(request: google.cloud.asset.v1.IUpdateSavedQueryRequest): Promise;
+
+ /**
+ * Calls DeleteSavedQuery.
+ * @param request DeleteSavedQueryRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteSavedQuery(request: google.cloud.asset.v1.IDeleteSavedQueryRequest, callback: google.cloud.asset.v1.AssetService.DeleteSavedQueryCallback): void;
+
+ /**
+ * Calls DeleteSavedQuery.
+ * @param request DeleteSavedQueryRequest message or plain object
+ * @returns Promise
+ */
+ public deleteSavedQuery(request: google.cloud.asset.v1.IDeleteSavedQueryRequest): Promise;
+
+ /**
+ * Calls BatchGetEffectiveIamPolicies.
+ * @param request BatchGetEffectiveIamPoliciesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and BatchGetEffectiveIamPoliciesResponse
+ */
+ public batchGetEffectiveIamPolicies(request: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest, callback: google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPoliciesCallback): void;
+
+ /**
+ * Calls BatchGetEffectiveIamPolicies.
+ * @param request BatchGetEffectiveIamPoliciesRequest message or plain object
+ * @returns Promise
+ */
+ public batchGetEffectiveIamPolicies(request: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest): Promise;
+ }
+
+ namespace AssetService {
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|exportAssets}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ExportAssetsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|listAssets}.
+ * @param error Error, if any
+ * @param [response] ListAssetsResponse
+ */
+ type ListAssetsCallback = (error: (Error|null), response?: google.cloud.asset.v1.ListAssetsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|batchGetAssetsHistory}.
+ * @param error Error, if any
+ * @param [response] BatchGetAssetsHistoryResponse
+ */
+ type BatchGetAssetsHistoryCallback = (error: (Error|null), response?: google.cloud.asset.v1.BatchGetAssetsHistoryResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|createFeed}.
+ * @param error Error, if any
+ * @param [response] Feed
+ */
+ type CreateFeedCallback = (error: (Error|null), response?: google.cloud.asset.v1.Feed) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|getFeed}.
+ * @param error Error, if any
+ * @param [response] Feed
+ */
+ type GetFeedCallback = (error: (Error|null), response?: google.cloud.asset.v1.Feed) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|listFeeds}.
+ * @param error Error, if any
+ * @param [response] ListFeedsResponse
+ */
+ type ListFeedsCallback = (error: (Error|null), response?: google.cloud.asset.v1.ListFeedsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|updateFeed}.
+ * @param error Error, if any
+ * @param [response] Feed
+ */
+ type UpdateFeedCallback = (error: (Error|null), response?: google.cloud.asset.v1.Feed) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|deleteFeed}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteFeedCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|searchAllResources}.
+ * @param error Error, if any
+ * @param [response] SearchAllResourcesResponse
+ */
+ type SearchAllResourcesCallback = (error: (Error|null), response?: google.cloud.asset.v1.SearchAllResourcesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|searchAllIamPolicies}.
+ * @param error Error, if any
+ * @param [response] SearchAllIamPoliciesResponse
+ */
+ type SearchAllIamPoliciesCallback = (error: (Error|null), response?: google.cloud.asset.v1.SearchAllIamPoliciesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|analyzeIamPolicy}.
+ * @param error Error, if any
+ * @param [response] AnalyzeIamPolicyResponse
+ */
+ type AnalyzeIamPolicyCallback = (error: (Error|null), response?: google.cloud.asset.v1.AnalyzeIamPolicyResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|analyzeIamPolicyLongrunning}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type AnalyzeIamPolicyLongrunningCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|analyzeMove}.
+ * @param error Error, if any
+ * @param [response] AnalyzeMoveResponse
+ */
+ type AnalyzeMoveCallback = (error: (Error|null), response?: google.cloud.asset.v1.AnalyzeMoveResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|queryAssets}.
+ * @param error Error, if any
+ * @param [response] QueryAssetsResponse
+ */
+ type QueryAssetsCallback = (error: (Error|null), response?: google.cloud.asset.v1.QueryAssetsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|createSavedQuery}.
+ * @param error Error, if any
+ * @param [response] SavedQuery
+ */
+ type CreateSavedQueryCallback = (error: (Error|null), response?: google.cloud.asset.v1.SavedQuery) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|getSavedQuery}.
+ * @param error Error, if any
+ * @param [response] SavedQuery
+ */
+ type GetSavedQueryCallback = (error: (Error|null), response?: google.cloud.asset.v1.SavedQuery) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|listSavedQueries}.
+ * @param error Error, if any
+ * @param [response] ListSavedQueriesResponse
+ */
+ type ListSavedQueriesCallback = (error: (Error|null), response?: google.cloud.asset.v1.ListSavedQueriesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|updateSavedQuery}.
+ * @param error Error, if any
+ * @param [response] SavedQuery
+ */
+ type UpdateSavedQueryCallback = (error: (Error|null), response?: google.cloud.asset.v1.SavedQuery) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|deleteSavedQuery}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteSavedQueryCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|batchGetEffectiveIamPolicies}.
+ * @param error Error, if any
+ * @param [response] BatchGetEffectiveIamPoliciesResponse
+ */
+ type BatchGetEffectiveIamPoliciesCallback = (error: (Error|null), response?: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) => void;
+ }
+
+ /** Properties of an AnalyzeIamPolicyLongrunningMetadata. */
+ interface IAnalyzeIamPolicyLongrunningMetadata {
+
+ /** AnalyzeIamPolicyLongrunningMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an AnalyzeIamPolicyLongrunningMetadata. */
+ class AnalyzeIamPolicyLongrunningMetadata implements IAnalyzeIamPolicyLongrunningMetadata {
+
+ /**
+ * Constructs a new AnalyzeIamPolicyLongrunningMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata);
+
+ /** AnalyzeIamPolicyLongrunningMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new AnalyzeIamPolicyLongrunningMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeIamPolicyLongrunningMetadata instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningMetadata message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata.verify|verify} messages.
+ * @param message AnalyzeIamPolicyLongrunningMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningMetadata message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata.verify|verify} messages.
+ * @param message AnalyzeIamPolicyLongrunningMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeIamPolicyLongrunningMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata;
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeIamPolicyLongrunningMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata;
+
+ /**
+ * Verifies an AnalyzeIamPolicyLongrunningMetadata message.
+ * @param message Plain 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 AnalyzeIamPolicyLongrunningMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeIamPolicyLongrunningMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata;
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyLongrunningMetadata message. Also converts values to other types if specified.
+ * @param message AnalyzeIamPolicyLongrunningMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeIamPolicyLongrunningMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyLongrunningMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportAssetsRequest. */
+ interface IExportAssetsRequest {
+
+ /** ExportAssetsRequest parent */
+ parent?: (string|null);
+
+ /** ExportAssetsRequest readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportAssetsRequest assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** ExportAssetsRequest contentType */
+ contentType?: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType|null);
+
+ /** ExportAssetsRequest outputConfig */
+ outputConfig?: (google.cloud.asset.v1.IOutputConfig|null);
+
+ /** ExportAssetsRequest relationshipTypes */
+ relationshipTypes?: (string[]|null);
+ }
+
+ /** Represents an ExportAssetsRequest. */
+ class ExportAssetsRequest implements IExportAssetsRequest {
+
+ /**
+ * Constructs a new ExportAssetsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IExportAssetsRequest);
+
+ /** ExportAssetsRequest parent. */
+ public parent: string;
+
+ /** ExportAssetsRequest readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportAssetsRequest assetTypes. */
+ public assetTypes: string[];
+
+ /** ExportAssetsRequest contentType. */
+ public contentType: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType);
+
+ /** ExportAssetsRequest outputConfig. */
+ public outputConfig?: (google.cloud.asset.v1.IOutputConfig|null);
+
+ /** ExportAssetsRequest relationshipTypes. */
+ public relationshipTypes: string[];
+
+ /**
+ * Creates a new ExportAssetsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportAssetsRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IExportAssetsRequest): google.cloud.asset.v1.ExportAssetsRequest;
+
+ /**
+ * Encodes the specified ExportAssetsRequest message. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsRequest.verify|verify} messages.
+ * @param message ExportAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IExportAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportAssetsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsRequest.verify|verify} messages.
+ * @param message ExportAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IExportAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportAssetsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ExportAssetsRequest;
+
+ /**
+ * Decodes an ExportAssetsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ExportAssetsRequest;
+
+ /**
+ * Verifies an ExportAssetsRequest message.
+ * @param message Plain 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 ExportAssetsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportAssetsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ExportAssetsRequest;
+
+ /**
+ * Creates a plain object from an ExportAssetsRequest message. Also converts values to other types if specified.
+ * @param message ExportAssetsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ExportAssetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportAssetsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportAssetsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExportAssetsResponse. */
+ interface IExportAssetsResponse {
+
+ /** ExportAssetsResponse readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportAssetsResponse outputConfig */
+ outputConfig?: (google.cloud.asset.v1.IOutputConfig|null);
+
+ /** ExportAssetsResponse outputResult */
+ outputResult?: (google.cloud.asset.v1.IOutputResult|null);
+ }
+
+ /** Represents an ExportAssetsResponse. */
+ class ExportAssetsResponse implements IExportAssetsResponse {
+
+ /**
+ * Constructs a new ExportAssetsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IExportAssetsResponse);
+
+ /** ExportAssetsResponse readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ExportAssetsResponse outputConfig. */
+ public outputConfig?: (google.cloud.asset.v1.IOutputConfig|null);
+
+ /** ExportAssetsResponse outputResult. */
+ public outputResult?: (google.cloud.asset.v1.IOutputResult|null);
+
+ /**
+ * Creates a new ExportAssetsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportAssetsResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IExportAssetsResponse): google.cloud.asset.v1.ExportAssetsResponse;
+
+ /**
+ * Encodes the specified ExportAssetsResponse message. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsResponse.verify|verify} messages.
+ * @param message ExportAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IExportAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportAssetsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsResponse.verify|verify} messages.
+ * @param message ExportAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IExportAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportAssetsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ExportAssetsResponse;
+
+ /**
+ * Decodes an ExportAssetsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ExportAssetsResponse;
+
+ /**
+ * Verifies an ExportAssetsResponse message.
+ * @param message Plain 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 ExportAssetsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportAssetsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ExportAssetsResponse;
+
+ /**
+ * Creates a plain object from an ExportAssetsResponse message. Also converts values to other types if specified.
+ * @param message ExportAssetsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ExportAssetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportAssetsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportAssetsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAssetsRequest. */
+ interface IListAssetsRequest {
+
+ /** ListAssetsRequest parent */
+ parent?: (string|null);
+
+ /** ListAssetsRequest readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsRequest assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** ListAssetsRequest contentType */
+ contentType?: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType|null);
+
+ /** ListAssetsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListAssetsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListAssetsRequest relationshipTypes */
+ relationshipTypes?: (string[]|null);
+ }
+
+ /** Represents a ListAssetsRequest. */
+ class ListAssetsRequest implements IListAssetsRequest {
+
+ /**
+ * Constructs a new ListAssetsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IListAssetsRequest);
+
+ /** ListAssetsRequest parent. */
+ public parent: string;
+
+ /** ListAssetsRequest readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsRequest assetTypes. */
+ public assetTypes: string[];
+
+ /** ListAssetsRequest contentType. */
+ public contentType: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType);
+
+ /** ListAssetsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListAssetsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListAssetsRequest relationshipTypes. */
+ public relationshipTypes: string[];
+
+ /**
+ * Creates a new ListAssetsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAssetsRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IListAssetsRequest): google.cloud.asset.v1.ListAssetsRequest;
+
+ /**
+ * Encodes the specified ListAssetsRequest message. Does not implicitly {@link google.cloud.asset.v1.ListAssetsRequest.verify|verify} messages.
+ * @param message ListAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IListAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAssetsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListAssetsRequest.verify|verify} messages.
+ * @param message ListAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IListAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAssetsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ListAssetsRequest;
+
+ /**
+ * Decodes a ListAssetsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ListAssetsRequest;
+
+ /**
+ * Verifies a ListAssetsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAssetsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAssetsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ListAssetsRequest;
+
+ /**
+ * Creates a plain object from a ListAssetsRequest message. Also converts values to other types if specified.
+ * @param message ListAssetsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ListAssetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAssetsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAssetsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAssetsResponse. */
+ interface IListAssetsResponse {
+
+ /** ListAssetsResponse readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsResponse assets */
+ assets?: (google.cloud.asset.v1.IAsset[]|null);
+
+ /** ListAssetsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListAssetsResponse. */
+ class ListAssetsResponse implements IListAssetsResponse {
+
+ /**
+ * Constructs a new ListAssetsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IListAssetsResponse);
+
+ /** ListAssetsResponse readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsResponse assets. */
+ public assets: google.cloud.asset.v1.IAsset[];
+
+ /** ListAssetsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListAssetsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAssetsResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IListAssetsResponse): google.cloud.asset.v1.ListAssetsResponse;
+
+ /**
+ * Encodes the specified ListAssetsResponse message. Does not implicitly {@link google.cloud.asset.v1.ListAssetsResponse.verify|verify} messages.
+ * @param message ListAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IListAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAssetsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListAssetsResponse.verify|verify} messages.
+ * @param message ListAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IListAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAssetsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ListAssetsResponse;
+
+ /**
+ * Decodes a ListAssetsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ListAssetsResponse;
+
+ /**
+ * Verifies a ListAssetsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAssetsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAssetsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ListAssetsResponse;
+
+ /**
+ * Creates a plain object from a ListAssetsResponse message. Also converts values to other types if specified.
+ * @param message ListAssetsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ListAssetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAssetsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAssetsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchGetAssetsHistoryRequest. */
+ interface IBatchGetAssetsHistoryRequest {
+
+ /** BatchGetAssetsHistoryRequest parent */
+ parent?: (string|null);
+
+ /** BatchGetAssetsHistoryRequest assetNames */
+ assetNames?: (string[]|null);
+
+ /** BatchGetAssetsHistoryRequest contentType */
+ contentType?: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType|null);
+
+ /** BatchGetAssetsHistoryRequest readTimeWindow */
+ readTimeWindow?: (google.cloud.asset.v1.ITimeWindow|null);
+
+ /** BatchGetAssetsHistoryRequest relationshipTypes */
+ relationshipTypes?: (string[]|null);
+ }
+
+ /** Represents a BatchGetAssetsHistoryRequest. */
+ class BatchGetAssetsHistoryRequest implements IBatchGetAssetsHistoryRequest {
+
+ /**
+ * Constructs a new BatchGetAssetsHistoryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IBatchGetAssetsHistoryRequest);
+
+ /** BatchGetAssetsHistoryRequest parent. */
+ public parent: string;
+
+ /** BatchGetAssetsHistoryRequest assetNames. */
+ public assetNames: string[];
+
+ /** BatchGetAssetsHistoryRequest contentType. */
+ public contentType: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType);
+
+ /** BatchGetAssetsHistoryRequest readTimeWindow. */
+ public readTimeWindow?: (google.cloud.asset.v1.ITimeWindow|null);
+
+ /** BatchGetAssetsHistoryRequest relationshipTypes. */
+ public relationshipTypes: string[];
+
+ /**
+ * Creates a new BatchGetAssetsHistoryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchGetAssetsHistoryRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IBatchGetAssetsHistoryRequest): google.cloud.asset.v1.BatchGetAssetsHistoryRequest;
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryRequest message. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryRequest.verify|verify} messages.
+ * @param message BatchGetAssetsHistoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IBatchGetAssetsHistoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryRequest.verify|verify} messages.
+ * @param message BatchGetAssetsHistoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IBatchGetAssetsHistoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchGetAssetsHistoryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchGetAssetsHistoryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.BatchGetAssetsHistoryRequest;
+
+ /**
+ * Decodes a BatchGetAssetsHistoryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchGetAssetsHistoryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.BatchGetAssetsHistoryRequest;
+
+ /**
+ * Verifies a BatchGetAssetsHistoryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BatchGetAssetsHistoryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchGetAssetsHistoryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.BatchGetAssetsHistoryRequest;
+
+ /**
+ * Creates a plain object from a BatchGetAssetsHistoryRequest message. Also converts values to other types if specified.
+ * @param message BatchGetAssetsHistoryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.BatchGetAssetsHistoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchGetAssetsHistoryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchGetAssetsHistoryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchGetAssetsHistoryResponse. */
+ interface IBatchGetAssetsHistoryResponse {
+
+ /** BatchGetAssetsHistoryResponse assets */
+ assets?: (google.cloud.asset.v1.ITemporalAsset[]|null);
+ }
+
+ /** Represents a BatchGetAssetsHistoryResponse. */
+ class BatchGetAssetsHistoryResponse implements IBatchGetAssetsHistoryResponse {
+
+ /**
+ * Constructs a new BatchGetAssetsHistoryResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IBatchGetAssetsHistoryResponse);
+
+ /** BatchGetAssetsHistoryResponse assets. */
+ public assets: google.cloud.asset.v1.ITemporalAsset[];
+
+ /**
+ * Creates a new BatchGetAssetsHistoryResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchGetAssetsHistoryResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IBatchGetAssetsHistoryResponse): google.cloud.asset.v1.BatchGetAssetsHistoryResponse;
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryResponse message. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryResponse.verify|verify} messages.
+ * @param message BatchGetAssetsHistoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IBatchGetAssetsHistoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryResponse.verify|verify} messages.
+ * @param message BatchGetAssetsHistoryResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IBatchGetAssetsHistoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchGetAssetsHistoryResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchGetAssetsHistoryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.BatchGetAssetsHistoryResponse;
+
+ /**
+ * Decodes a BatchGetAssetsHistoryResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchGetAssetsHistoryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.BatchGetAssetsHistoryResponse;
+
+ /**
+ * Verifies a BatchGetAssetsHistoryResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BatchGetAssetsHistoryResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchGetAssetsHistoryResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.BatchGetAssetsHistoryResponse;
+
+ /**
+ * Creates a plain object from a BatchGetAssetsHistoryResponse message. Also converts values to other types if specified.
+ * @param message BatchGetAssetsHistoryResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.BatchGetAssetsHistoryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchGetAssetsHistoryResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchGetAssetsHistoryResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateFeedRequest. */
+ interface ICreateFeedRequest {
+
+ /** CreateFeedRequest parent */
+ parent?: (string|null);
+
+ /** CreateFeedRequest feedId */
+ feedId?: (string|null);
+
+ /** CreateFeedRequest feed */
+ feed?: (google.cloud.asset.v1.IFeed|null);
+ }
+
+ /** Represents a CreateFeedRequest. */
+ class CreateFeedRequest implements ICreateFeedRequest {
+
+ /**
+ * Constructs a new CreateFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ICreateFeedRequest);
+
+ /** CreateFeedRequest parent. */
+ public parent: string;
+
+ /** CreateFeedRequest feedId. */
+ public feedId: string;
+
+ /** CreateFeedRequest feed. */
+ public feed?: (google.cloud.asset.v1.IFeed|null);
+
+ /**
+ * Creates a new CreateFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ICreateFeedRequest): google.cloud.asset.v1.CreateFeedRequest;
+
+ /**
+ * Encodes the specified CreateFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.CreateFeedRequest.verify|verify} messages.
+ * @param message CreateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ICreateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.CreateFeedRequest.verify|verify} messages.
+ * @param message CreateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ICreateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.CreateFeedRequest;
+
+ /**
+ * Decodes a CreateFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.CreateFeedRequest;
+
+ /**
+ * Verifies a CreateFeedRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.CreateFeedRequest;
+
+ /**
+ * Creates a plain object from a CreateFeedRequest message. Also converts values to other types if specified.
+ * @param message CreateFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.CreateFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetFeedRequest. */
+ interface IGetFeedRequest {
+
+ /** GetFeedRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetFeedRequest. */
+ class GetFeedRequest implements IGetFeedRequest {
+
+ /**
+ * Constructs a new GetFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IGetFeedRequest);
+
+ /** GetFeedRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IGetFeedRequest): google.cloud.asset.v1.GetFeedRequest;
+
+ /**
+ * Encodes the specified GetFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.GetFeedRequest.verify|verify} messages.
+ * @param message GetFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IGetFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.GetFeedRequest.verify|verify} messages.
+ * @param message GetFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IGetFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.GetFeedRequest;
+
+ /**
+ * Decodes a GetFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.GetFeedRequest;
+
+ /**
+ * Verifies a GetFeedRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.GetFeedRequest;
+
+ /**
+ * Creates a plain object from a GetFeedRequest message. Also converts values to other types if specified.
+ * @param message GetFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.GetFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListFeedsRequest. */
+ interface IListFeedsRequest {
+
+ /** ListFeedsRequest parent */
+ parent?: (string|null);
+ }
+
+ /** Represents a ListFeedsRequest. */
+ class ListFeedsRequest implements IListFeedsRequest {
+
+ /**
+ * Constructs a new ListFeedsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IListFeedsRequest);
+
+ /** ListFeedsRequest parent. */
+ public parent: string;
+
+ /**
+ * Creates a new ListFeedsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListFeedsRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IListFeedsRequest): google.cloud.asset.v1.ListFeedsRequest;
+
+ /**
+ * Encodes the specified ListFeedsRequest message. Does not implicitly {@link google.cloud.asset.v1.ListFeedsRequest.verify|verify} messages.
+ * @param message ListFeedsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IListFeedsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListFeedsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListFeedsRequest.verify|verify} messages.
+ * @param message ListFeedsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IListFeedsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListFeedsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListFeedsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ListFeedsRequest;
+
+ /**
+ * Decodes a ListFeedsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListFeedsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ListFeedsRequest;
+
+ /**
+ * Verifies a ListFeedsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListFeedsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListFeedsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ListFeedsRequest;
+
+ /**
+ * Creates a plain object from a ListFeedsRequest message. Also converts values to other types if specified.
+ * @param message ListFeedsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ListFeedsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListFeedsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListFeedsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListFeedsResponse. */
+ interface IListFeedsResponse {
+
+ /** ListFeedsResponse feeds */
+ feeds?: (google.cloud.asset.v1.IFeed[]|null);
+ }
+
+ /** Represents a ListFeedsResponse. */
+ class ListFeedsResponse implements IListFeedsResponse {
+
+ /**
+ * Constructs a new ListFeedsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IListFeedsResponse);
+
+ /** ListFeedsResponse feeds. */
+ public feeds: google.cloud.asset.v1.IFeed[];
+
+ /**
+ * Creates a new ListFeedsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListFeedsResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IListFeedsResponse): google.cloud.asset.v1.ListFeedsResponse;
+
+ /**
+ * Encodes the specified ListFeedsResponse message. Does not implicitly {@link google.cloud.asset.v1.ListFeedsResponse.verify|verify} messages.
+ * @param message ListFeedsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IListFeedsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListFeedsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListFeedsResponse.verify|verify} messages.
+ * @param message ListFeedsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IListFeedsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListFeedsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListFeedsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ListFeedsResponse;
+
+ /**
+ * Decodes a ListFeedsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListFeedsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ListFeedsResponse;
+
+ /**
+ * Verifies a ListFeedsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListFeedsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListFeedsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ListFeedsResponse;
+
+ /**
+ * Creates a plain object from a ListFeedsResponse message. Also converts values to other types if specified.
+ * @param message ListFeedsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ListFeedsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListFeedsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListFeedsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateFeedRequest. */
+ interface IUpdateFeedRequest {
+
+ /** UpdateFeedRequest feed */
+ feed?: (google.cloud.asset.v1.IFeed|null);
+
+ /** UpdateFeedRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateFeedRequest. */
+ class UpdateFeedRequest implements IUpdateFeedRequest {
+
+ /**
+ * Constructs a new UpdateFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IUpdateFeedRequest);
+
+ /** UpdateFeedRequest feed. */
+ public feed?: (google.cloud.asset.v1.IFeed|null);
+
+ /** UpdateFeedRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IUpdateFeedRequest): google.cloud.asset.v1.UpdateFeedRequest;
+
+ /**
+ * Encodes the specified UpdateFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.UpdateFeedRequest.verify|verify} messages.
+ * @param message UpdateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IUpdateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.UpdateFeedRequest.verify|verify} messages.
+ * @param message UpdateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IUpdateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.UpdateFeedRequest;
+
+ /**
+ * Decodes an UpdateFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.UpdateFeedRequest;
+
+ /**
+ * Verifies an UpdateFeedRequest message.
+ * @param message Plain 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 UpdateFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.UpdateFeedRequest;
+
+ /**
+ * Creates a plain object from an UpdateFeedRequest message. Also converts values to other types if specified.
+ * @param message UpdateFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.UpdateFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteFeedRequest. */
+ interface IDeleteFeedRequest {
+
+ /** DeleteFeedRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteFeedRequest. */
+ class DeleteFeedRequest implements IDeleteFeedRequest {
+
+ /**
+ * Constructs a new DeleteFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IDeleteFeedRequest);
+
+ /** DeleteFeedRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IDeleteFeedRequest): google.cloud.asset.v1.DeleteFeedRequest;
+
+ /**
+ * Encodes the specified DeleteFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.DeleteFeedRequest.verify|verify} messages.
+ * @param message DeleteFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IDeleteFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.DeleteFeedRequest.verify|verify} messages.
+ * @param message DeleteFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IDeleteFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.DeleteFeedRequest;
+
+ /**
+ * Decodes a DeleteFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.DeleteFeedRequest;
+
+ /**
+ * Verifies a DeleteFeedRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.DeleteFeedRequest;
+
+ /**
+ * Creates a plain object from a DeleteFeedRequest message. Also converts values to other types if specified.
+ * @param message DeleteFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.DeleteFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OutputConfig. */
+ interface IOutputConfig {
+
+ /** OutputConfig gcsDestination */
+ gcsDestination?: (google.cloud.asset.v1.IGcsDestination|null);
+
+ /** OutputConfig bigqueryDestination */
+ bigqueryDestination?: (google.cloud.asset.v1.IBigQueryDestination|null);
+ }
+
+ /** Represents an OutputConfig. */
+ class OutputConfig implements IOutputConfig {
+
+ /**
+ * Constructs a new OutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IOutputConfig);
+
+ /** OutputConfig gcsDestination. */
+ public gcsDestination?: (google.cloud.asset.v1.IGcsDestination|null);
+
+ /** OutputConfig bigqueryDestination. */
+ public bigqueryDestination?: (google.cloud.asset.v1.IBigQueryDestination|null);
+
+ /** OutputConfig destination. */
+ public destination?: ("gcsDestination"|"bigqueryDestination");
+
+ /**
+ * Creates a new OutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputConfig instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IOutputConfig): google.cloud.asset.v1.OutputConfig;
+
+ /**
+ * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.asset.v1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.OutputConfig;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.OutputConfig;
+
+ /**
+ * Verifies an OutputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.OutputConfig;
+
+ /**
+ * Creates a plain object from an OutputConfig message. Also converts values to other types if specified.
+ * @param message OutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OutputResult. */
+ interface IOutputResult {
+
+ /** OutputResult gcsResult */
+ gcsResult?: (google.cloud.asset.v1.IGcsOutputResult|null);
+ }
+
+ /** Represents an OutputResult. */
+ class OutputResult implements IOutputResult {
+
+ /**
+ * Constructs a new OutputResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IOutputResult);
+
+ /** OutputResult gcsResult. */
+ public gcsResult?: (google.cloud.asset.v1.IGcsOutputResult|null);
+
+ /** OutputResult result. */
+ public result?: "gcsResult";
+
+ /**
+ * Creates a new OutputResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IOutputResult): google.cloud.asset.v1.OutputResult;
+
+ /**
+ * Encodes the specified OutputResult message. Does not implicitly {@link google.cloud.asset.v1.OutputResult.verify|verify} messages.
+ * @param message OutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.OutputResult.verify|verify} messages.
+ * @param message OutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.OutputResult;
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.OutputResult;
+
+ /**
+ * Verifies an OutputResult message.
+ * @param message Plain 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 OutputResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.OutputResult;
+
+ /**
+ * Creates a plain object from an OutputResult message. Also converts values to other types if specified.
+ * @param message OutputResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.OutputResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OutputResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsOutputResult. */
+ interface IGcsOutputResult {
+
+ /** GcsOutputResult uris */
+ uris?: (string[]|null);
+ }
+
+ /** Represents a GcsOutputResult. */
+ class GcsOutputResult implements IGcsOutputResult {
+
+ /**
+ * Constructs a new GcsOutputResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IGcsOutputResult);
+
+ /** GcsOutputResult uris. */
+ public uris: string[];
+
+ /**
+ * Creates a new GcsOutputResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsOutputResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IGcsOutputResult): google.cloud.asset.v1.GcsOutputResult;
+
+ /**
+ * Encodes the specified GcsOutputResult message. Does not implicitly {@link google.cloud.asset.v1.GcsOutputResult.verify|verify} messages.
+ * @param message GcsOutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IGcsOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsOutputResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.GcsOutputResult.verify|verify} messages.
+ * @param message GcsOutputResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IGcsOutputResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsOutputResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsOutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.GcsOutputResult;
+
+ /**
+ * Decodes a GcsOutputResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsOutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.GcsOutputResult;
+
+ /**
+ * Verifies a GcsOutputResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsOutputResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsOutputResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.GcsOutputResult;
+
+ /**
+ * Creates a plain object from a GcsOutputResult message. Also converts values to other types if specified.
+ * @param message GcsOutputResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.GcsOutputResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsOutputResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsOutputResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsDestination. */
+ interface IGcsDestination {
+
+ /** GcsDestination uri */
+ uri?: (string|null);
+
+ /** GcsDestination uriPrefix */
+ uriPrefix?: (string|null);
+ }
+
+ /** Represents a GcsDestination. */
+ class GcsDestination implements IGcsDestination {
+
+ /**
+ * Constructs a new GcsDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IGcsDestination);
+
+ /** GcsDestination uri. */
+ public uri?: (string|null);
+
+ /** GcsDestination uriPrefix. */
+ public uriPrefix?: (string|null);
+
+ /** GcsDestination objectUri. */
+ public objectUri?: ("uri"|"uriPrefix");
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IGcsDestination): google.cloud.asset.v1.GcsDestination;
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.asset.v1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.GcsDestination;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.GcsDestination;
+
+ /**
+ * Verifies a GcsDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.GcsDestination;
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @param message GcsDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQueryDestination. */
+ interface IBigQueryDestination {
+
+ /** BigQueryDestination dataset */
+ dataset?: (string|null);
+
+ /** BigQueryDestination table */
+ table?: (string|null);
+
+ /** BigQueryDestination force */
+ force?: (boolean|null);
+
+ /** BigQueryDestination partitionSpec */
+ partitionSpec?: (google.cloud.asset.v1.IPartitionSpec|null);
+
+ /** BigQueryDestination separateTablesPerAssetType */
+ separateTablesPerAssetType?: (boolean|null);
+ }
+
+ /** Represents a BigQueryDestination. */
+ class BigQueryDestination implements IBigQueryDestination {
+
+ /**
+ * Constructs a new BigQueryDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IBigQueryDestination);
+
+ /** BigQueryDestination dataset. */
+ public dataset: string;
+
+ /** BigQueryDestination table. */
+ public table: string;
+
+ /** BigQueryDestination force. */
+ public force: boolean;
+
+ /** BigQueryDestination partitionSpec. */
+ public partitionSpec?: (google.cloud.asset.v1.IPartitionSpec|null);
+
+ /** BigQueryDestination separateTablesPerAssetType. */
+ public separateTablesPerAssetType: boolean;
+
+ /**
+ * Creates a new BigQueryDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IBigQueryDestination): google.cloud.asset.v1.BigQueryDestination;
+
+ /**
+ * Encodes the specified BigQueryDestination message. Does not implicitly {@link google.cloud.asset.v1.BigQueryDestination.verify|verify} messages.
+ * @param message BigQueryDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IBigQueryDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BigQueryDestination.verify|verify} messages.
+ * @param message BigQueryDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IBigQueryDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.BigQueryDestination;
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.BigQueryDestination;
+
+ /**
+ * Verifies a BigQueryDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.BigQueryDestination;
+
+ /**
+ * Creates a plain object from a BigQueryDestination message. Also converts values to other types if specified.
+ * @param message BigQueryDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.BigQueryDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PartitionSpec. */
+ interface IPartitionSpec {
+
+ /** PartitionSpec partitionKey */
+ partitionKey?: (google.cloud.asset.v1.PartitionSpec.PartitionKey|keyof typeof google.cloud.asset.v1.PartitionSpec.PartitionKey|null);
+ }
+
+ /** Represents a PartitionSpec. */
+ class PartitionSpec implements IPartitionSpec {
+
+ /**
+ * Constructs a new PartitionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IPartitionSpec);
+
+ /** PartitionSpec partitionKey. */
+ public partitionKey: (google.cloud.asset.v1.PartitionSpec.PartitionKey|keyof typeof google.cloud.asset.v1.PartitionSpec.PartitionKey);
+
+ /**
+ * Creates a new PartitionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PartitionSpec instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IPartitionSpec): google.cloud.asset.v1.PartitionSpec;
+
+ /**
+ * Encodes the specified PartitionSpec message. Does not implicitly {@link google.cloud.asset.v1.PartitionSpec.verify|verify} messages.
+ * @param message PartitionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IPartitionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PartitionSpec message, length delimited. Does not implicitly {@link google.cloud.asset.v1.PartitionSpec.verify|verify} messages.
+ * @param message PartitionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IPartitionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PartitionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PartitionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.PartitionSpec;
+
+ /**
+ * Decodes a PartitionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PartitionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.PartitionSpec;
+
+ /**
+ * Verifies a PartitionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PartitionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PartitionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.PartitionSpec;
+
+ /**
+ * Creates a plain object from a PartitionSpec message. Also converts values to other types if specified.
+ * @param message PartitionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.PartitionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PartitionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PartitionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PartitionSpec {
+
+ /** PartitionKey enum. */
+ enum PartitionKey {
+ PARTITION_KEY_UNSPECIFIED = 0,
+ READ_TIME = 1,
+ REQUEST_TIME = 2
+ }
+ }
+
+ /** Properties of a PubsubDestination. */
+ interface IPubsubDestination {
+
+ /** PubsubDestination topic */
+ topic?: (string|null);
+ }
+
+ /** Represents a PubsubDestination. */
+ class PubsubDestination implements IPubsubDestination {
+
+ /**
+ * Constructs a new PubsubDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IPubsubDestination);
+
+ /** PubsubDestination topic. */
+ public topic: string;
+
+ /**
+ * Creates a new PubsubDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PubsubDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IPubsubDestination): google.cloud.asset.v1.PubsubDestination;
+
+ /**
+ * Encodes the specified PubsubDestination message. Does not implicitly {@link google.cloud.asset.v1.PubsubDestination.verify|verify} messages.
+ * @param message PubsubDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IPubsubDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PubsubDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.PubsubDestination.verify|verify} messages.
+ * @param message PubsubDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IPubsubDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PubsubDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PubsubDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.PubsubDestination;
+
+ /**
+ * Decodes a PubsubDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PubsubDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.PubsubDestination;
+
+ /**
+ * Verifies a PubsubDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PubsubDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PubsubDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.PubsubDestination;
+
+ /**
+ * Creates a plain object from a PubsubDestination message. Also converts values to other types if specified.
+ * @param message PubsubDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.PubsubDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PubsubDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PubsubDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FeedOutputConfig. */
+ interface IFeedOutputConfig {
+
+ /** FeedOutputConfig pubsubDestination */
+ pubsubDestination?: (google.cloud.asset.v1.IPubsubDestination|null);
+ }
+
+ /** Represents a FeedOutputConfig. */
+ class FeedOutputConfig implements IFeedOutputConfig {
+
+ /**
+ * Constructs a new FeedOutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IFeedOutputConfig);
+
+ /** FeedOutputConfig pubsubDestination. */
+ public pubsubDestination?: (google.cloud.asset.v1.IPubsubDestination|null);
+
+ /** FeedOutputConfig destination. */
+ public destination?: "pubsubDestination";
+
+ /**
+ * Creates a new FeedOutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeedOutputConfig instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IFeedOutputConfig): google.cloud.asset.v1.FeedOutputConfig;
+
+ /**
+ * Encodes the specified FeedOutputConfig message. Does not implicitly {@link google.cloud.asset.v1.FeedOutputConfig.verify|verify} messages.
+ * @param message FeedOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IFeedOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeedOutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1.FeedOutputConfig.verify|verify} messages.
+ * @param message FeedOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IFeedOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeedOutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeedOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.FeedOutputConfig;
+
+ /**
+ * Decodes a FeedOutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeedOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.FeedOutputConfig;
+
+ /**
+ * Verifies a FeedOutputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeedOutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeedOutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.FeedOutputConfig;
+
+ /**
+ * Creates a plain object from a FeedOutputConfig message. Also converts values to other types if specified.
+ * @param message FeedOutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.FeedOutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeedOutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeedOutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Feed. */
+ interface IFeed {
+
+ /** Feed name */
+ name?: (string|null);
+
+ /** Feed assetNames */
+ assetNames?: (string[]|null);
+
+ /** Feed assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** Feed contentType */
+ contentType?: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType|null);
+
+ /** Feed feedOutputConfig */
+ feedOutputConfig?: (google.cloud.asset.v1.IFeedOutputConfig|null);
+
+ /** Feed condition */
+ condition?: (google.type.IExpr|null);
+
+ /** Feed relationshipTypes */
+ relationshipTypes?: (string[]|null);
+ }
+
+ /** Represents a Feed. */
+ class Feed implements IFeed {
+
+ /**
+ * Constructs a new Feed.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IFeed);
+
+ /** Feed name. */
+ public name: string;
+
+ /** Feed assetNames. */
+ public assetNames: string[];
+
+ /** Feed assetTypes. */
+ public assetTypes: string[];
+
+ /** Feed contentType. */
+ public contentType: (google.cloud.asset.v1.ContentType|keyof typeof google.cloud.asset.v1.ContentType);
+
+ /** Feed feedOutputConfig. */
+ public feedOutputConfig?: (google.cloud.asset.v1.IFeedOutputConfig|null);
+
+ /** Feed condition. */
+ public condition?: (google.type.IExpr|null);
+
+ /** Feed relationshipTypes. */
+ public relationshipTypes: string[];
+
+ /**
+ * Creates a new Feed instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Feed instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IFeed): google.cloud.asset.v1.Feed;
+
+ /**
+ * Encodes the specified Feed message. Does not implicitly {@link google.cloud.asset.v1.Feed.verify|verify} messages.
+ * @param message Feed message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IFeed, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Feed message, length delimited. Does not implicitly {@link google.cloud.asset.v1.Feed.verify|verify} messages.
+ * @param message Feed message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IFeed, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Feed message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Feed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.Feed;
+
+ /**
+ * Decodes a Feed message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Feed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.Feed;
+
+ /**
+ * Verifies a Feed message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Feed message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Feed
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.Feed;
+
+ /**
+ * Creates a plain object from a Feed message. Also converts values to other types if specified.
+ * @param message Feed
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.Feed, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Feed to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Feed
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchAllResourcesRequest. */
+ interface ISearchAllResourcesRequest {
+
+ /** SearchAllResourcesRequest scope */
+ scope?: (string|null);
+
+ /** SearchAllResourcesRequest query */
+ query?: (string|null);
+
+ /** SearchAllResourcesRequest assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** SearchAllResourcesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchAllResourcesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchAllResourcesRequest orderBy */
+ orderBy?: (string|null);
+
+ /** SearchAllResourcesRequest readMask */
+ readMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a SearchAllResourcesRequest. */
+ class SearchAllResourcesRequest implements ISearchAllResourcesRequest {
+
+ /**
+ * Constructs a new SearchAllResourcesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ISearchAllResourcesRequest);
+
+ /** SearchAllResourcesRequest scope. */
+ public scope: string;
+
+ /** SearchAllResourcesRequest query. */
+ public query: string;
+
+ /** SearchAllResourcesRequest assetTypes. */
+ public assetTypes: string[];
+
+ /** SearchAllResourcesRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchAllResourcesRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchAllResourcesRequest orderBy. */
+ public orderBy: string;
+
+ /** SearchAllResourcesRequest readMask. */
+ public readMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new SearchAllResourcesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllResourcesRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ISearchAllResourcesRequest): google.cloud.asset.v1.SearchAllResourcesRequest;
+
+ /**
+ * Encodes the specified SearchAllResourcesRequest message. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesRequest.verify|verify} messages.
+ * @param message SearchAllResourcesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ISearchAllResourcesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllResourcesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesRequest.verify|verify} messages.
+ * @param message SearchAllResourcesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ISearchAllResourcesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllResourcesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllResourcesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.SearchAllResourcesRequest;
+
+ /**
+ * Decodes a SearchAllResourcesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllResourcesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.SearchAllResourcesRequest;
+
+ /**
+ * Verifies a SearchAllResourcesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllResourcesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllResourcesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.SearchAllResourcesRequest;
+
+ /**
+ * Creates a plain object from a SearchAllResourcesRequest message. Also converts values to other types if specified.
+ * @param message SearchAllResourcesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.SearchAllResourcesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllResourcesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllResourcesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchAllResourcesResponse. */
+ interface ISearchAllResourcesResponse {
+
+ /** SearchAllResourcesResponse results */
+ results?: (google.cloud.asset.v1.IResourceSearchResult[]|null);
+
+ /** SearchAllResourcesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a SearchAllResourcesResponse. */
+ class SearchAllResourcesResponse implements ISearchAllResourcesResponse {
+
+ /**
+ * Constructs a new SearchAllResourcesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ISearchAllResourcesResponse);
+
+ /** SearchAllResourcesResponse results. */
+ public results: google.cloud.asset.v1.IResourceSearchResult[];
+
+ /** SearchAllResourcesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new SearchAllResourcesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllResourcesResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ISearchAllResourcesResponse): google.cloud.asset.v1.SearchAllResourcesResponse;
+
+ /**
+ * Encodes the specified SearchAllResourcesResponse message. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesResponse.verify|verify} messages.
+ * @param message SearchAllResourcesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ISearchAllResourcesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllResourcesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesResponse.verify|verify} messages.
+ * @param message SearchAllResourcesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ISearchAllResourcesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllResourcesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllResourcesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.SearchAllResourcesResponse;
+
+ /**
+ * Decodes a SearchAllResourcesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllResourcesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.SearchAllResourcesResponse;
+
+ /**
+ * Verifies a SearchAllResourcesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllResourcesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllResourcesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.SearchAllResourcesResponse;
+
+ /**
+ * Creates a plain object from a SearchAllResourcesResponse message. Also converts values to other types if specified.
+ * @param message SearchAllResourcesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.SearchAllResourcesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllResourcesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllResourcesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchAllIamPoliciesRequest. */
+ interface ISearchAllIamPoliciesRequest {
+
+ /** SearchAllIamPoliciesRequest scope */
+ scope?: (string|null);
+
+ /** SearchAllIamPoliciesRequest query */
+ query?: (string|null);
+
+ /** SearchAllIamPoliciesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchAllIamPoliciesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchAllIamPoliciesRequest assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** SearchAllIamPoliciesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a SearchAllIamPoliciesRequest. */
+ class SearchAllIamPoliciesRequest implements ISearchAllIamPoliciesRequest {
+
+ /**
+ * Constructs a new SearchAllIamPoliciesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ISearchAllIamPoliciesRequest);
+
+ /** SearchAllIamPoliciesRequest scope. */
+ public scope: string;
+
+ /** SearchAllIamPoliciesRequest query. */
+ public query: string;
+
+ /** SearchAllIamPoliciesRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchAllIamPoliciesRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchAllIamPoliciesRequest assetTypes. */
+ public assetTypes: string[];
+
+ /** SearchAllIamPoliciesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new SearchAllIamPoliciesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllIamPoliciesRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ISearchAllIamPoliciesRequest): google.cloud.asset.v1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesRequest message. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesRequest.verify|verify} messages.
+ * @param message SearchAllIamPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ISearchAllIamPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesRequest.verify|verify} messages.
+ * @param message SearchAllIamPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ISearchAllIamPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllIamPoliciesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Decodes a SearchAllIamPoliciesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Verifies a SearchAllIamPoliciesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllIamPoliciesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllIamPoliciesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Creates a plain object from a SearchAllIamPoliciesRequest message. Also converts values to other types if specified.
+ * @param message SearchAllIamPoliciesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.SearchAllIamPoliciesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllIamPoliciesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllIamPoliciesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchAllIamPoliciesResponse. */
+ interface ISearchAllIamPoliciesResponse {
+
+ /** SearchAllIamPoliciesResponse results */
+ results?: (google.cloud.asset.v1.IIamPolicySearchResult[]|null);
+
+ /** SearchAllIamPoliciesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a SearchAllIamPoliciesResponse. */
+ class SearchAllIamPoliciesResponse implements ISearchAllIamPoliciesResponse {
+
+ /**
+ * Constructs a new SearchAllIamPoliciesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ISearchAllIamPoliciesResponse);
+
+ /** SearchAllIamPoliciesResponse results. */
+ public results: google.cloud.asset.v1.IIamPolicySearchResult[];
+
+ /** SearchAllIamPoliciesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new SearchAllIamPoliciesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllIamPoliciesResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ISearchAllIamPoliciesResponse): google.cloud.asset.v1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesResponse message. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesResponse.verify|verify} messages.
+ * @param message SearchAllIamPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ISearchAllIamPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesResponse.verify|verify} messages.
+ * @param message SearchAllIamPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ISearchAllIamPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllIamPoliciesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Decodes a SearchAllIamPoliciesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Verifies a SearchAllIamPoliciesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllIamPoliciesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllIamPoliciesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Creates a plain object from a SearchAllIamPoliciesResponse message. Also converts values to other types if specified.
+ * @param message SearchAllIamPoliciesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.SearchAllIamPoliciesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllIamPoliciesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllIamPoliciesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IamPolicyAnalysisQuery. */
+ interface IIamPolicyAnalysisQuery {
+
+ /** IamPolicyAnalysisQuery scope */
+ scope?: (string|null);
+
+ /** IamPolicyAnalysisQuery resourceSelector */
+ resourceSelector?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector|null);
+
+ /** IamPolicyAnalysisQuery identitySelector */
+ identitySelector?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector|null);
+
+ /** IamPolicyAnalysisQuery accessSelector */
+ accessSelector?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector|null);
+
+ /** IamPolicyAnalysisQuery options */
+ options?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions|null);
+
+ /** IamPolicyAnalysisQuery conditionContext */
+ conditionContext?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext|null);
+ }
+
+ /** Represents an IamPolicyAnalysisQuery. */
+ class IamPolicyAnalysisQuery implements IIamPolicyAnalysisQuery {
+
+ /**
+ * Constructs a new IamPolicyAnalysisQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IIamPolicyAnalysisQuery);
+
+ /** IamPolicyAnalysisQuery scope. */
+ public scope: string;
+
+ /** IamPolicyAnalysisQuery resourceSelector. */
+ public resourceSelector?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector|null);
+
+ /** IamPolicyAnalysisQuery identitySelector. */
+ public identitySelector?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector|null);
+
+ /** IamPolicyAnalysisQuery accessSelector. */
+ public accessSelector?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector|null);
+
+ /** IamPolicyAnalysisQuery options. */
+ public options?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions|null);
+
+ /** IamPolicyAnalysisQuery conditionContext. */
+ public conditionContext?: (google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext|null);
+
+ /**
+ * Creates a new IamPolicyAnalysisQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysisQuery instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IIamPolicyAnalysisQuery): google.cloud.asset.v1.IamPolicyAnalysisQuery;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisQuery message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.verify|verify} messages.
+ * @param message IamPolicyAnalysisQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IIamPolicyAnalysisQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisQuery message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.verify|verify} messages.
+ * @param message IamPolicyAnalysisQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IIamPolicyAnalysisQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysisQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysisQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisQuery;
+
+ /**
+ * Decodes an IamPolicyAnalysisQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysisQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisQuery;
+
+ /**
+ * Verifies an IamPolicyAnalysisQuery message.
+ * @param message Plain 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 IamPolicyAnalysisQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysisQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisQuery;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisQuery message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysisQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysisQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicyAnalysisQuery {
+
+ /** Properties of a ResourceSelector. */
+ interface IResourceSelector {
+
+ /** ResourceSelector fullResourceName */
+ fullResourceName?: (string|null);
+ }
+
+ /** Represents a ResourceSelector. */
+ class ResourceSelector implements IResourceSelector {
+
+ /**
+ * Constructs a new ResourceSelector.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector);
+
+ /** ResourceSelector fullResourceName. */
+ public fullResourceName: string;
+
+ /**
+ * Creates a new ResourceSelector instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceSelector instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector): google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Encodes the specified ResourceSelector message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.verify|verify} messages.
+ * @param message ResourceSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceSelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.verify|verify} messages.
+ * @param message ResourceSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceSelector message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Decodes a ResourceSelector message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Verifies a ResourceSelector message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceSelector message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceSelector
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Creates a plain object from a ResourceSelector message. Also converts values to other types if specified.
+ * @param message ResourceSelector
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceSelector to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceSelector
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IdentitySelector. */
+ interface IIdentitySelector {
+
+ /** IdentitySelector identity */
+ identity?: (string|null);
+ }
+
+ /** Represents an IdentitySelector. */
+ class IdentitySelector implements IIdentitySelector {
+
+ /**
+ * Constructs a new IdentitySelector.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector);
+
+ /** IdentitySelector identity. */
+ public identity: string;
+
+ /**
+ * Creates a new IdentitySelector instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IdentitySelector instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector): google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Encodes the specified IdentitySelector message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.verify|verify} messages.
+ * @param message IdentitySelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IdentitySelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.verify|verify} messages.
+ * @param message IdentitySelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IdentitySelector message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IdentitySelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Decodes an IdentitySelector message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IdentitySelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Verifies an IdentitySelector message.
+ * @param message Plain 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 IdentitySelector message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IdentitySelector
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Creates a plain object from an IdentitySelector message. Also converts values to other types if specified.
+ * @param message IdentitySelector
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IdentitySelector to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IdentitySelector
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AccessSelector. */
+ interface IAccessSelector {
+
+ /** AccessSelector roles */
+ roles?: (string[]|null);
+
+ /** AccessSelector permissions */
+ permissions?: (string[]|null);
+ }
+
+ /** Represents an AccessSelector. */
+ class AccessSelector implements IAccessSelector {
+
+ /**
+ * Constructs a new AccessSelector.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector);
+
+ /** AccessSelector roles. */
+ public roles: string[];
+
+ /** AccessSelector permissions. */
+ public permissions: string[];
+
+ /**
+ * Creates a new AccessSelector instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessSelector instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector): google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Encodes the specified AccessSelector message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.verify|verify} messages.
+ * @param message AccessSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessSelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.verify|verify} messages.
+ * @param message AccessSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessSelector message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Decodes an AccessSelector message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Verifies an AccessSelector message.
+ * @param message Plain 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 AccessSelector message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessSelector
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Creates a plain object from an AccessSelector message. Also converts values to other types if specified.
+ * @param message AccessSelector
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessSelector to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessSelector
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Options. */
+ interface IOptions {
+
+ /** Options expandGroups */
+ expandGroups?: (boolean|null);
+
+ /** Options expandRoles */
+ expandRoles?: (boolean|null);
+
+ /** Options expandResources */
+ expandResources?: (boolean|null);
+
+ /** Options outputResourceEdges */
+ outputResourceEdges?: (boolean|null);
+
+ /** Options outputGroupEdges */
+ outputGroupEdges?: (boolean|null);
+
+ /** Options analyzeServiceAccountImpersonation */
+ analyzeServiceAccountImpersonation?: (boolean|null);
+ }
+
+ /** Represents an Options. */
+ class Options implements IOptions {
+
+ /**
+ * Constructs a new Options.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions);
+
+ /** Options expandGroups. */
+ public expandGroups: boolean;
+
+ /** Options expandRoles. */
+ public expandRoles: boolean;
+
+ /** Options expandResources. */
+ public expandResources: boolean;
+
+ /** Options outputResourceEdges. */
+ public outputResourceEdges: boolean;
+
+ /** Options outputGroupEdges. */
+ public outputGroupEdges: boolean;
+
+ /** Options analyzeServiceAccountImpersonation. */
+ public analyzeServiceAccountImpersonation: boolean;
+
+ /**
+ * Creates a new Options instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Options instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions): google.cloud.asset.v1.IamPolicyAnalysisQuery.Options;
+
+ /**
+ * Encodes the specified Options message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.verify|verify} messages.
+ * @param message Options message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Options message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.verify|verify} messages.
+ * @param message Options message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Options message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisQuery.Options;
+
+ /**
+ * Decodes an Options message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisQuery.Options;
+
+ /**
+ * Verifies an Options message.
+ * @param message Plain 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 Options message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Options
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisQuery.Options;
+
+ /**
+ * Creates a plain object from an Options message. Also converts values to other types if specified.
+ * @param message Options
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.Options, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Options to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Options
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ConditionContext. */
+ interface IConditionContext {
+
+ /** ConditionContext accessTime */
+ accessTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a ConditionContext. */
+ class ConditionContext implements IConditionContext {
+
+ /**
+ * Constructs a new ConditionContext.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext);
+
+ /** ConditionContext accessTime. */
+ public accessTime?: (google.protobuf.ITimestamp|null);
+
+ /** ConditionContext TimeContext. */
+ public TimeContext?: "accessTime";
+
+ /**
+ * Creates a new ConditionContext instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ConditionContext instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext): google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext;
+
+ /**
+ * Encodes the specified ConditionContext message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.verify|verify} messages.
+ * @param message ConditionContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ConditionContext message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.verify|verify} messages.
+ * @param message ConditionContext message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ConditionContext message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ConditionContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext;
+
+ /**
+ * Decodes a ConditionContext message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ConditionContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext;
+
+ /**
+ * Verifies a ConditionContext message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ConditionContext message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ConditionContext
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext;
+
+ /**
+ * Creates a plain object from a ConditionContext message. Also converts values to other types if specified.
+ * @param message ConditionContext
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ConditionContext to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ConditionContext
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an AnalyzeIamPolicyRequest. */
+ interface IAnalyzeIamPolicyRequest {
+
+ /** AnalyzeIamPolicyRequest analysisQuery */
+ analysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+
+ /** AnalyzeIamPolicyRequest savedAnalysisQuery */
+ savedAnalysisQuery?: (string|null);
+
+ /** AnalyzeIamPolicyRequest executionTimeout */
+ executionTimeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents an AnalyzeIamPolicyRequest. */
+ class AnalyzeIamPolicyRequest implements IAnalyzeIamPolicyRequest {
+
+ /**
+ * Constructs a new AnalyzeIamPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyRequest);
+
+ /** AnalyzeIamPolicyRequest analysisQuery. */
+ public analysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+
+ /** AnalyzeIamPolicyRequest savedAnalysisQuery. */
+ public savedAnalysisQuery: string;
+
+ /** AnalyzeIamPolicyRequest executionTimeout. */
+ public executionTimeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new AnalyzeIamPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeIamPolicyRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyRequest): google.cloud.asset.v1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyRequest message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyRequest.verify|verify} messages.
+ * @param message AnalyzeIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAnalyzeIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyRequest.verify|verify} messages.
+ * @param message AnalyzeIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAnalyzeIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeIamPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Decodes an AnalyzeIamPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Verifies an AnalyzeIamPolicyRequest message.
+ * @param message Plain 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 AnalyzeIamPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeIamPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyRequest message. Also converts values to other types if specified.
+ * @param message AnalyzeIamPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeIamPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeIamPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnalyzeIamPolicyResponse. */
+ interface IAnalyzeIamPolicyResponse {
+
+ /** AnalyzeIamPolicyResponse mainAnalysis */
+ mainAnalysis?: (google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis|null);
+
+ /** AnalyzeIamPolicyResponse serviceAccountImpersonationAnalysis */
+ serviceAccountImpersonationAnalysis?: (google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis[]|null);
+
+ /** AnalyzeIamPolicyResponse fullyExplored */
+ fullyExplored?: (boolean|null);
+ }
+
+ /** Represents an AnalyzeIamPolicyResponse. */
+ class AnalyzeIamPolicyResponse implements IAnalyzeIamPolicyResponse {
+
+ /**
+ * Constructs a new AnalyzeIamPolicyResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyResponse);
+
+ /** AnalyzeIamPolicyResponse mainAnalysis. */
+ public mainAnalysis?: (google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis|null);
+
+ /** AnalyzeIamPolicyResponse serviceAccountImpersonationAnalysis. */
+ public serviceAccountImpersonationAnalysis: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis[];
+
+ /** AnalyzeIamPolicyResponse fullyExplored. */
+ public fullyExplored: boolean;
+
+ /**
+ * Creates a new AnalyzeIamPolicyResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeIamPolicyResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyResponse): google.cloud.asset.v1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyResponse message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyResponse.verify|verify} messages.
+ * @param message AnalyzeIamPolicyResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAnalyzeIamPolicyResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyResponse.verify|verify} messages.
+ * @param message AnalyzeIamPolicyResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAnalyzeIamPolicyResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeIamPolicyResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeIamPolicyResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Decodes an AnalyzeIamPolicyResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeIamPolicyResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Verifies an AnalyzeIamPolicyResponse message.
+ * @param message Plain 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 AnalyzeIamPolicyResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeIamPolicyResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyResponse message. Also converts values to other types if specified.
+ * @param message AnalyzeIamPolicyResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeIamPolicyResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeIamPolicyResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AnalyzeIamPolicyResponse {
+
+ /** Properties of an IamPolicyAnalysis. */
+ interface IIamPolicyAnalysis {
+
+ /** IamPolicyAnalysis analysisQuery */
+ analysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+
+ /** IamPolicyAnalysis analysisResults */
+ analysisResults?: (google.cloud.asset.v1.IIamPolicyAnalysisResult[]|null);
+
+ /** IamPolicyAnalysis fullyExplored */
+ fullyExplored?: (boolean|null);
+
+ /** IamPolicyAnalysis nonCriticalErrors */
+ nonCriticalErrors?: (google.cloud.asset.v1.IIamPolicyAnalysisState[]|null);
+ }
+
+ /** Represents an IamPolicyAnalysis. */
+ class IamPolicyAnalysis implements IIamPolicyAnalysis {
+
+ /**
+ * Constructs a new IamPolicyAnalysis.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis);
+
+ /** IamPolicyAnalysis analysisQuery. */
+ public analysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+
+ /** IamPolicyAnalysis analysisResults. */
+ public analysisResults: google.cloud.asset.v1.IIamPolicyAnalysisResult[];
+
+ /** IamPolicyAnalysis fullyExplored. */
+ public fullyExplored: boolean;
+
+ /** IamPolicyAnalysis nonCriticalErrors. */
+ public nonCriticalErrors: google.cloud.asset.v1.IIamPolicyAnalysisState[];
+
+ /**
+ * Creates a new IamPolicyAnalysis instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysis instance
+ */
+ public static create(properties?: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis): google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Encodes the specified IamPolicyAnalysis message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.verify|verify} messages.
+ * @param message IamPolicyAnalysis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysis message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.verify|verify} messages.
+ * @param message IamPolicyAnalysis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysis message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Decodes an IamPolicyAnalysis message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Verifies an IamPolicyAnalysis message.
+ * @param message Plain 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 IamPolicyAnalysis message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysis
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysis message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysis
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysis to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysis
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an IamPolicyAnalysisOutputConfig. */
+ interface IIamPolicyAnalysisOutputConfig {
+
+ /** IamPolicyAnalysisOutputConfig gcsDestination */
+ gcsDestination?: (google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IGcsDestination|null);
+
+ /** IamPolicyAnalysisOutputConfig bigqueryDestination */
+ bigqueryDestination?: (google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IBigQueryDestination|null);
+ }
+
+ /** Represents an IamPolicyAnalysisOutputConfig. */
+ class IamPolicyAnalysisOutputConfig implements IIamPolicyAnalysisOutputConfig {
+
+ /**
+ * Constructs a new IamPolicyAnalysisOutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IIamPolicyAnalysisOutputConfig);
+
+ /** IamPolicyAnalysisOutputConfig gcsDestination. */
+ public gcsDestination?: (google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IGcsDestination|null);
+
+ /** IamPolicyAnalysisOutputConfig bigqueryDestination. */
+ public bigqueryDestination?: (google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IBigQueryDestination|null);
+
+ /** IamPolicyAnalysisOutputConfig destination. */
+ public destination?: ("gcsDestination"|"bigqueryDestination");
+
+ /**
+ * Creates a new IamPolicyAnalysisOutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysisOutputConfig instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IIamPolicyAnalysisOutputConfig): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisOutputConfig message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.verify|verify} messages.
+ * @param message IamPolicyAnalysisOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IIamPolicyAnalysisOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisOutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.verify|verify} messages.
+ * @param message IamPolicyAnalysisOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IIamPolicyAnalysisOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysisOutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysisOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Decodes an IamPolicyAnalysisOutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysisOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Verifies an IamPolicyAnalysisOutputConfig message.
+ * @param message Plain 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 IamPolicyAnalysisOutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysisOutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisOutputConfig message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysisOutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysisOutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisOutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicyAnalysisOutputConfig {
+
+ /** Properties of a GcsDestination. */
+ interface IGcsDestination {
+
+ /** GcsDestination uri */
+ uri?: (string|null);
+ }
+
+ /** Represents a GcsDestination. */
+ class GcsDestination implements IGcsDestination {
+
+ /**
+ * Constructs a new GcsDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IGcsDestination);
+
+ /** GcsDestination uri. */
+ public uri: string;
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IGcsDestination): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Verifies a GcsDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @param message GcsDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BigQueryDestination. */
+ interface IBigQueryDestination {
+
+ /** BigQueryDestination dataset */
+ dataset?: (string|null);
+
+ /** BigQueryDestination tablePrefix */
+ tablePrefix?: (string|null);
+
+ /** BigQueryDestination partitionKey */
+ partitionKey?: (google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey|keyof typeof google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey|null);
+
+ /** BigQueryDestination writeDisposition */
+ writeDisposition?: (string|null);
+ }
+
+ /** Represents a BigQueryDestination. */
+ class BigQueryDestination implements IBigQueryDestination {
+
+ /**
+ * Constructs a new BigQueryDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IBigQueryDestination);
+
+ /** BigQueryDestination dataset. */
+ public dataset: string;
+
+ /** BigQueryDestination tablePrefix. */
+ public tablePrefix: string;
+
+ /** BigQueryDestination partitionKey. */
+ public partitionKey: (google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey|keyof typeof google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.PartitionKey);
+
+ /** BigQueryDestination writeDisposition. */
+ public writeDisposition: string;
+
+ /**
+ * Creates a new BigQueryDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IBigQueryDestination): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination;
+
+ /**
+ * Encodes the specified BigQueryDestination message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.verify|verify} messages.
+ * @param message BigQueryDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IBigQueryDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination.verify|verify} messages.
+ * @param message BigQueryDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.IBigQueryDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination;
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination;
+
+ /**
+ * Verifies a BigQueryDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination;
+
+ /**
+ * Creates a plain object from a BigQueryDestination message. Also converts values to other types if specified.
+ * @param message BigQueryDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisOutputConfig.BigQueryDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BigQueryDestination {
+
+ /** PartitionKey enum. */
+ enum PartitionKey {
+ PARTITION_KEY_UNSPECIFIED = 0,
+ REQUEST_TIME = 1
+ }
+ }
+ }
+
+ /** Properties of an AnalyzeIamPolicyLongrunningRequest. */
+ interface IAnalyzeIamPolicyLongrunningRequest {
+
+ /** AnalyzeIamPolicyLongrunningRequest analysisQuery */
+ analysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+
+ /** AnalyzeIamPolicyLongrunningRequest savedAnalysisQuery */
+ savedAnalysisQuery?: (string|null);
+
+ /** AnalyzeIamPolicyLongrunningRequest outputConfig */
+ outputConfig?: (google.cloud.asset.v1.IIamPolicyAnalysisOutputConfig|null);
+ }
+
+ /** Represents an AnalyzeIamPolicyLongrunningRequest. */
+ class AnalyzeIamPolicyLongrunningRequest implements IAnalyzeIamPolicyLongrunningRequest {
+
+ /**
+ * Constructs a new AnalyzeIamPolicyLongrunningRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest);
+
+ /** AnalyzeIamPolicyLongrunningRequest analysisQuery. */
+ public analysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+
+ /** AnalyzeIamPolicyLongrunningRequest savedAnalysisQuery. */
+ public savedAnalysisQuery: string;
+
+ /** AnalyzeIamPolicyLongrunningRequest outputConfig. */
+ public outputConfig?: (google.cloud.asset.v1.IIamPolicyAnalysisOutputConfig|null);
+
+ /**
+ * Creates a new AnalyzeIamPolicyLongrunningRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeIamPolicyLongrunningRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningRequest message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest.verify|verify} messages.
+ * @param message AnalyzeIamPolicyLongrunningRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest.verify|verify} messages.
+ * @param message AnalyzeIamPolicyLongrunningRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeIamPolicyLongrunningRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest;
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeIamPolicyLongrunningRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest;
+
+ /**
+ * Verifies an AnalyzeIamPolicyLongrunningRequest message.
+ * @param message Plain 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 AnalyzeIamPolicyLongrunningRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeIamPolicyLongrunningRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest;
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyLongrunningRequest message. Also converts values to other types if specified.
+ * @param message AnalyzeIamPolicyLongrunningRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeIamPolicyLongrunningRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyLongrunningRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnalyzeIamPolicyLongrunningResponse. */
+ interface IAnalyzeIamPolicyLongrunningResponse {
+ }
+
+ /** Represents an AnalyzeIamPolicyLongrunningResponse. */
+ class AnalyzeIamPolicyLongrunningResponse implements IAnalyzeIamPolicyLongrunningResponse {
+
+ /**
+ * Constructs a new AnalyzeIamPolicyLongrunningResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningResponse);
+
+ /**
+ * Creates a new AnalyzeIamPolicyLongrunningResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeIamPolicyLongrunningResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningResponse): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningResponse message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse.verify|verify} messages.
+ * @param message AnalyzeIamPolicyLongrunningResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse.verify|verify} messages.
+ * @param message AnalyzeIamPolicyLongrunningResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeIamPolicyLongrunningResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse;
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeIamPolicyLongrunningResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse;
+
+ /**
+ * Verifies an AnalyzeIamPolicyLongrunningResponse message.
+ * @param message Plain 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 AnalyzeIamPolicyLongrunningResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeIamPolicyLongrunningResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse;
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyLongrunningResponse message. Also converts values to other types if specified.
+ * @param message AnalyzeIamPolicyLongrunningResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeIamPolicyLongrunningResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyLongrunningResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SavedQuery. */
+ interface ISavedQuery {
+
+ /** SavedQuery name */
+ name?: (string|null);
+
+ /** SavedQuery description */
+ description?: (string|null);
+
+ /** SavedQuery createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** SavedQuery creator */
+ creator?: (string|null);
+
+ /** SavedQuery lastUpdateTime */
+ lastUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /** SavedQuery lastUpdater */
+ lastUpdater?: (string|null);
+
+ /** SavedQuery labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** SavedQuery content */
+ content?: (google.cloud.asset.v1.SavedQuery.IQueryContent|null);
+ }
+
+ /** Represents a SavedQuery. */
+ class SavedQuery implements ISavedQuery {
+
+ /**
+ * Constructs a new SavedQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ISavedQuery);
+
+ /** SavedQuery name. */
+ public name: string;
+
+ /** SavedQuery description. */
+ public description: string;
+
+ /** SavedQuery createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** SavedQuery creator. */
+ public creator: string;
+
+ /** SavedQuery lastUpdateTime. */
+ public lastUpdateTime?: (google.protobuf.ITimestamp|null);
+
+ /** SavedQuery lastUpdater. */
+ public lastUpdater: string;
+
+ /** SavedQuery labels. */
+ public labels: { [k: string]: string };
+
+ /** SavedQuery content. */
+ public content?: (google.cloud.asset.v1.SavedQuery.IQueryContent|null);
+
+ /**
+ * Creates a new SavedQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SavedQuery instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ISavedQuery): google.cloud.asset.v1.SavedQuery;
+
+ /**
+ * Encodes the specified SavedQuery message. Does not implicitly {@link google.cloud.asset.v1.SavedQuery.verify|verify} messages.
+ * @param message SavedQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ISavedQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SavedQuery message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SavedQuery.verify|verify} messages.
+ * @param message SavedQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ISavedQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SavedQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SavedQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.SavedQuery;
+
+ /**
+ * Decodes a SavedQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SavedQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.SavedQuery;
+
+ /**
+ * Verifies a SavedQuery message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SavedQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SavedQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.SavedQuery;
+
+ /**
+ * Creates a plain object from a SavedQuery message. Also converts values to other types if specified.
+ * @param message SavedQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.SavedQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SavedQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SavedQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SavedQuery {
+
+ /** Properties of a QueryContent. */
+ interface IQueryContent {
+
+ /** QueryContent iamPolicyAnalysisQuery */
+ iamPolicyAnalysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+ }
+
+ /** Represents a QueryContent. */
+ class QueryContent implements IQueryContent {
+
+ /**
+ * Constructs a new QueryContent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.SavedQuery.IQueryContent);
+
+ /** QueryContent iamPolicyAnalysisQuery. */
+ public iamPolicyAnalysisQuery?: (google.cloud.asset.v1.IIamPolicyAnalysisQuery|null);
+
+ /** QueryContent queryContent. */
+ public queryContent?: "iamPolicyAnalysisQuery";
+
+ /**
+ * Creates a new QueryContent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryContent instance
+ */
+ public static create(properties?: google.cloud.asset.v1.SavedQuery.IQueryContent): google.cloud.asset.v1.SavedQuery.QueryContent;
+
+ /**
+ * Encodes the specified QueryContent message. Does not implicitly {@link google.cloud.asset.v1.SavedQuery.QueryContent.verify|verify} messages.
+ * @param message QueryContent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.SavedQuery.IQueryContent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryContent message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SavedQuery.QueryContent.verify|verify} messages.
+ * @param message QueryContent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.SavedQuery.IQueryContent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryContent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryContent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.SavedQuery.QueryContent;
+
+ /**
+ * Decodes a QueryContent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryContent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.SavedQuery.QueryContent;
+
+ /**
+ * Verifies a QueryContent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryContent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryContent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.SavedQuery.QueryContent;
+
+ /**
+ * Creates a plain object from a QueryContent message. Also converts values to other types if specified.
+ * @param message QueryContent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.SavedQuery.QueryContent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryContent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryContent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a CreateSavedQueryRequest. */
+ interface ICreateSavedQueryRequest {
+
+ /** CreateSavedQueryRequest parent */
+ parent?: (string|null);
+
+ /** CreateSavedQueryRequest savedQuery */
+ savedQuery?: (google.cloud.asset.v1.ISavedQuery|null);
+
+ /** CreateSavedQueryRequest savedQueryId */
+ savedQueryId?: (string|null);
+ }
+
+ /** Represents a CreateSavedQueryRequest. */
+ class CreateSavedQueryRequest implements ICreateSavedQueryRequest {
+
+ /**
+ * Constructs a new CreateSavedQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ICreateSavedQueryRequest);
+
+ /** CreateSavedQueryRequest parent. */
+ public parent: string;
+
+ /** CreateSavedQueryRequest savedQuery. */
+ public savedQuery?: (google.cloud.asset.v1.ISavedQuery|null);
+
+ /** CreateSavedQueryRequest savedQueryId. */
+ public savedQueryId: string;
+
+ /**
+ * Creates a new CreateSavedQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateSavedQueryRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ICreateSavedQueryRequest): google.cloud.asset.v1.CreateSavedQueryRequest;
+
+ /**
+ * Encodes the specified CreateSavedQueryRequest message. Does not implicitly {@link google.cloud.asset.v1.CreateSavedQueryRequest.verify|verify} messages.
+ * @param message CreateSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ICreateSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateSavedQueryRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.CreateSavedQueryRequest.verify|verify} messages.
+ * @param message CreateSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ICreateSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateSavedQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.CreateSavedQueryRequest;
+
+ /**
+ * Decodes a CreateSavedQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.CreateSavedQueryRequest;
+
+ /**
+ * Verifies a CreateSavedQueryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateSavedQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateSavedQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.CreateSavedQueryRequest;
+
+ /**
+ * Creates a plain object from a CreateSavedQueryRequest message. Also converts values to other types if specified.
+ * @param message CreateSavedQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.CreateSavedQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateSavedQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateSavedQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSavedQueryRequest. */
+ interface IGetSavedQueryRequest {
+
+ /** GetSavedQueryRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetSavedQueryRequest. */
+ class GetSavedQueryRequest implements IGetSavedQueryRequest {
+
+ /**
+ * Constructs a new GetSavedQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IGetSavedQueryRequest);
+
+ /** GetSavedQueryRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetSavedQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSavedQueryRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IGetSavedQueryRequest): google.cloud.asset.v1.GetSavedQueryRequest;
+
+ /**
+ * Encodes the specified GetSavedQueryRequest message. Does not implicitly {@link google.cloud.asset.v1.GetSavedQueryRequest.verify|verify} messages.
+ * @param message GetSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IGetSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSavedQueryRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.GetSavedQueryRequest.verify|verify} messages.
+ * @param message GetSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IGetSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSavedQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.GetSavedQueryRequest;
+
+ /**
+ * Decodes a GetSavedQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.GetSavedQueryRequest;
+
+ /**
+ * Verifies a GetSavedQueryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetSavedQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSavedQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.GetSavedQueryRequest;
+
+ /**
+ * Creates a plain object from a GetSavedQueryRequest message. Also converts values to other types if specified.
+ * @param message GetSavedQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.GetSavedQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSavedQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSavedQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSavedQueriesRequest. */
+ interface IListSavedQueriesRequest {
+
+ /** ListSavedQueriesRequest parent */
+ parent?: (string|null);
+
+ /** ListSavedQueriesRequest filter */
+ filter?: (string|null);
+
+ /** ListSavedQueriesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSavedQueriesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListSavedQueriesRequest. */
+ class ListSavedQueriesRequest implements IListSavedQueriesRequest {
+
+ /**
+ * Constructs a new ListSavedQueriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IListSavedQueriesRequest);
+
+ /** ListSavedQueriesRequest parent. */
+ public parent: string;
+
+ /** ListSavedQueriesRequest filter. */
+ public filter: string;
+
+ /** ListSavedQueriesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSavedQueriesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListSavedQueriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSavedQueriesRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IListSavedQueriesRequest): google.cloud.asset.v1.ListSavedQueriesRequest;
+
+ /**
+ * Encodes the specified ListSavedQueriesRequest message. Does not implicitly {@link google.cloud.asset.v1.ListSavedQueriesRequest.verify|verify} messages.
+ * @param message ListSavedQueriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IListSavedQueriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSavedQueriesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListSavedQueriesRequest.verify|verify} messages.
+ * @param message ListSavedQueriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IListSavedQueriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSavedQueriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSavedQueriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ListSavedQueriesRequest;
+
+ /**
+ * Decodes a ListSavedQueriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSavedQueriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ListSavedQueriesRequest;
+
+ /**
+ * Verifies a ListSavedQueriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSavedQueriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSavedQueriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ListSavedQueriesRequest;
+
+ /**
+ * Creates a plain object from a ListSavedQueriesRequest message. Also converts values to other types if specified.
+ * @param message ListSavedQueriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ListSavedQueriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSavedQueriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSavedQueriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSavedQueriesResponse. */
+ interface IListSavedQueriesResponse {
+
+ /** ListSavedQueriesResponse savedQueries */
+ savedQueries?: (google.cloud.asset.v1.ISavedQuery[]|null);
+
+ /** ListSavedQueriesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSavedQueriesResponse. */
+ class ListSavedQueriesResponse implements IListSavedQueriesResponse {
+
+ /**
+ * Constructs a new ListSavedQueriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IListSavedQueriesResponse);
+
+ /** ListSavedQueriesResponse savedQueries. */
+ public savedQueries: google.cloud.asset.v1.ISavedQuery[];
+
+ /** ListSavedQueriesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSavedQueriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSavedQueriesResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IListSavedQueriesResponse): google.cloud.asset.v1.ListSavedQueriesResponse;
+
+ /**
+ * Encodes the specified ListSavedQueriesResponse message. Does not implicitly {@link google.cloud.asset.v1.ListSavedQueriesResponse.verify|verify} messages.
+ * @param message ListSavedQueriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IListSavedQueriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSavedQueriesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListSavedQueriesResponse.verify|verify} messages.
+ * @param message ListSavedQueriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IListSavedQueriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSavedQueriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSavedQueriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ListSavedQueriesResponse;
+
+ /**
+ * Decodes a ListSavedQueriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSavedQueriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ListSavedQueriesResponse;
+
+ /**
+ * Verifies a ListSavedQueriesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSavedQueriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSavedQueriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ListSavedQueriesResponse;
+
+ /**
+ * Creates a plain object from a ListSavedQueriesResponse message. Also converts values to other types if specified.
+ * @param message ListSavedQueriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ListSavedQueriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSavedQueriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSavedQueriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateSavedQueryRequest. */
+ interface IUpdateSavedQueryRequest {
+
+ /** UpdateSavedQueryRequest savedQuery */
+ savedQuery?: (google.cloud.asset.v1.ISavedQuery|null);
+
+ /** UpdateSavedQueryRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateSavedQueryRequest. */
+ class UpdateSavedQueryRequest implements IUpdateSavedQueryRequest {
+
+ /**
+ * Constructs a new UpdateSavedQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IUpdateSavedQueryRequest);
+
+ /** UpdateSavedQueryRequest savedQuery. */
+ public savedQuery?: (google.cloud.asset.v1.ISavedQuery|null);
+
+ /** UpdateSavedQueryRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateSavedQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateSavedQueryRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IUpdateSavedQueryRequest): google.cloud.asset.v1.UpdateSavedQueryRequest;
+
+ /**
+ * Encodes the specified UpdateSavedQueryRequest message. Does not implicitly {@link google.cloud.asset.v1.UpdateSavedQueryRequest.verify|verify} messages.
+ * @param message UpdateSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IUpdateSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateSavedQueryRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.UpdateSavedQueryRequest.verify|verify} messages.
+ * @param message UpdateSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IUpdateSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateSavedQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.UpdateSavedQueryRequest;
+
+ /**
+ * Decodes an UpdateSavedQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.UpdateSavedQueryRequest;
+
+ /**
+ * Verifies an UpdateSavedQueryRequest message.
+ * @param message Plain 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 UpdateSavedQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateSavedQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.UpdateSavedQueryRequest;
+
+ /**
+ * Creates a plain object from an UpdateSavedQueryRequest message. Also converts values to other types if specified.
+ * @param message UpdateSavedQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.UpdateSavedQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateSavedQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateSavedQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteSavedQueryRequest. */
+ interface IDeleteSavedQueryRequest {
+
+ /** DeleteSavedQueryRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteSavedQueryRequest. */
+ class DeleteSavedQueryRequest implements IDeleteSavedQueryRequest {
+
+ /**
+ * Constructs a new DeleteSavedQueryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IDeleteSavedQueryRequest);
+
+ /** DeleteSavedQueryRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteSavedQueryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteSavedQueryRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IDeleteSavedQueryRequest): google.cloud.asset.v1.DeleteSavedQueryRequest;
+
+ /**
+ * Encodes the specified DeleteSavedQueryRequest message. Does not implicitly {@link google.cloud.asset.v1.DeleteSavedQueryRequest.verify|verify} messages.
+ * @param message DeleteSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IDeleteSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteSavedQueryRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.DeleteSavedQueryRequest.verify|verify} messages.
+ * @param message DeleteSavedQueryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IDeleteSavedQueryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteSavedQueryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.DeleteSavedQueryRequest;
+
+ /**
+ * Decodes a DeleteSavedQueryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteSavedQueryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.DeleteSavedQueryRequest;
+
+ /**
+ * Verifies a DeleteSavedQueryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteSavedQueryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteSavedQueryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.DeleteSavedQueryRequest;
+
+ /**
+ * Creates a plain object from a DeleteSavedQueryRequest message. Also converts values to other types if specified.
+ * @param message DeleteSavedQueryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.DeleteSavedQueryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteSavedQueryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteSavedQueryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AnalyzeMoveRequest. */
+ interface IAnalyzeMoveRequest {
+
+ /** AnalyzeMoveRequest resource */
+ resource?: (string|null);
+
+ /** AnalyzeMoveRequest destinationParent */
+ destinationParent?: (string|null);
+
+ /** AnalyzeMoveRequest view */
+ view?: (google.cloud.asset.v1.AnalyzeMoveRequest.AnalysisView|keyof typeof google.cloud.asset.v1.AnalyzeMoveRequest.AnalysisView|null);
+ }
+
+ /** Represents an AnalyzeMoveRequest. */
+ class AnalyzeMoveRequest implements IAnalyzeMoveRequest {
+
+ /**
+ * Constructs a new AnalyzeMoveRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAnalyzeMoveRequest);
+
+ /** AnalyzeMoveRequest resource. */
+ public resource: string;
+
+ /** AnalyzeMoveRequest destinationParent. */
+ public destinationParent: string;
+
+ /** AnalyzeMoveRequest view. */
+ public view: (google.cloud.asset.v1.AnalyzeMoveRequest.AnalysisView|keyof typeof google.cloud.asset.v1.AnalyzeMoveRequest.AnalysisView);
+
+ /**
+ * Creates a new AnalyzeMoveRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeMoveRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAnalyzeMoveRequest): google.cloud.asset.v1.AnalyzeMoveRequest;
+
+ /**
+ * Encodes the specified AnalyzeMoveRequest message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeMoveRequest.verify|verify} messages.
+ * @param message AnalyzeMoveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAnalyzeMoveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeMoveRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeMoveRequest.verify|verify} messages.
+ * @param message AnalyzeMoveRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAnalyzeMoveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeMoveRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeMoveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeMoveRequest;
+
+ /**
+ * Decodes an AnalyzeMoveRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeMoveRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeMoveRequest;
+
+ /**
+ * Verifies an AnalyzeMoveRequest message.
+ * @param message Plain 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 AnalyzeMoveRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeMoveRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeMoveRequest;
+
+ /**
+ * Creates a plain object from an AnalyzeMoveRequest message. Also converts values to other types if specified.
+ * @param message AnalyzeMoveRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeMoveRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeMoveRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeMoveRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AnalyzeMoveRequest {
+
+ /** AnalysisView enum. */
+ enum AnalysisView {
+ ANALYSIS_VIEW_UNSPECIFIED = 0,
+ FULL = 1,
+ BASIC = 2
+ }
+ }
+
+ /** Properties of an AnalyzeMoveResponse. */
+ interface IAnalyzeMoveResponse {
+
+ /** AnalyzeMoveResponse moveAnalysis */
+ moveAnalysis?: (google.cloud.asset.v1.IMoveAnalysis[]|null);
+ }
+
+ /** Represents an AnalyzeMoveResponse. */
+ class AnalyzeMoveResponse implements IAnalyzeMoveResponse {
+
+ /**
+ * Constructs a new AnalyzeMoveResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAnalyzeMoveResponse);
+
+ /** AnalyzeMoveResponse moveAnalysis. */
+ public moveAnalysis: google.cloud.asset.v1.IMoveAnalysis[];
+
+ /**
+ * Creates a new AnalyzeMoveResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeMoveResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAnalyzeMoveResponse): google.cloud.asset.v1.AnalyzeMoveResponse;
+
+ /**
+ * Encodes the specified AnalyzeMoveResponse message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeMoveResponse.verify|verify} messages.
+ * @param message AnalyzeMoveResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAnalyzeMoveResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeMoveResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeMoveResponse.verify|verify} messages.
+ * @param message AnalyzeMoveResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAnalyzeMoveResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeMoveResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeMoveResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AnalyzeMoveResponse;
+
+ /**
+ * Decodes an AnalyzeMoveResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeMoveResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AnalyzeMoveResponse;
+
+ /**
+ * Verifies an AnalyzeMoveResponse message.
+ * @param message Plain 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 AnalyzeMoveResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeMoveResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AnalyzeMoveResponse;
+
+ /**
+ * Creates a plain object from an AnalyzeMoveResponse message. Also converts values to other types if specified.
+ * @param message AnalyzeMoveResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AnalyzeMoveResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeMoveResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeMoveResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MoveAnalysis. */
+ interface IMoveAnalysis {
+
+ /** MoveAnalysis displayName */
+ displayName?: (string|null);
+
+ /** MoveAnalysis analysis */
+ analysis?: (google.cloud.asset.v1.IMoveAnalysisResult|null);
+
+ /** MoveAnalysis error */
+ error?: (google.rpc.IStatus|null);
+ }
+
+ /** Represents a MoveAnalysis. */
+ class MoveAnalysis implements IMoveAnalysis {
+
+ /**
+ * Constructs a new MoveAnalysis.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IMoveAnalysis);
+
+ /** MoveAnalysis displayName. */
+ public displayName: string;
+
+ /** MoveAnalysis analysis. */
+ public analysis?: (google.cloud.asset.v1.IMoveAnalysisResult|null);
+
+ /** MoveAnalysis error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** MoveAnalysis result. */
+ public result?: ("analysis"|"error");
+
+ /**
+ * Creates a new MoveAnalysis instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MoveAnalysis instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IMoveAnalysis): google.cloud.asset.v1.MoveAnalysis;
+
+ /**
+ * Encodes the specified MoveAnalysis message. Does not implicitly {@link google.cloud.asset.v1.MoveAnalysis.verify|verify} messages.
+ * @param message MoveAnalysis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IMoveAnalysis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MoveAnalysis message, length delimited. Does not implicitly {@link google.cloud.asset.v1.MoveAnalysis.verify|verify} messages.
+ * @param message MoveAnalysis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IMoveAnalysis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MoveAnalysis message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MoveAnalysis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.MoveAnalysis;
+
+ /**
+ * Decodes a MoveAnalysis message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MoveAnalysis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.MoveAnalysis;
+
+ /**
+ * Verifies a MoveAnalysis message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MoveAnalysis message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MoveAnalysis
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.MoveAnalysis;
+
+ /**
+ * Creates a plain object from a MoveAnalysis message. Also converts values to other types if specified.
+ * @param message MoveAnalysis
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.MoveAnalysis, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MoveAnalysis to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MoveAnalysis
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MoveAnalysisResult. */
+ interface IMoveAnalysisResult {
+
+ /** MoveAnalysisResult blockers */
+ blockers?: (google.cloud.asset.v1.IMoveImpact[]|null);
+
+ /** MoveAnalysisResult warnings */
+ warnings?: (google.cloud.asset.v1.IMoveImpact[]|null);
+ }
+
+ /** Represents a MoveAnalysisResult. */
+ class MoveAnalysisResult implements IMoveAnalysisResult {
+
+ /**
+ * Constructs a new MoveAnalysisResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IMoveAnalysisResult);
+
+ /** MoveAnalysisResult blockers. */
+ public blockers: google.cloud.asset.v1.IMoveImpact[];
+
+ /** MoveAnalysisResult warnings. */
+ public warnings: google.cloud.asset.v1.IMoveImpact[];
+
+ /**
+ * Creates a new MoveAnalysisResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MoveAnalysisResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IMoveAnalysisResult): google.cloud.asset.v1.MoveAnalysisResult;
+
+ /**
+ * Encodes the specified MoveAnalysisResult message. Does not implicitly {@link google.cloud.asset.v1.MoveAnalysisResult.verify|verify} messages.
+ * @param message MoveAnalysisResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IMoveAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MoveAnalysisResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.MoveAnalysisResult.verify|verify} messages.
+ * @param message MoveAnalysisResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IMoveAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MoveAnalysisResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MoveAnalysisResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.MoveAnalysisResult;
+
+ /**
+ * Decodes a MoveAnalysisResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MoveAnalysisResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.MoveAnalysisResult;
+
+ /**
+ * Verifies a MoveAnalysisResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MoveAnalysisResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MoveAnalysisResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.MoveAnalysisResult;
+
+ /**
+ * Creates a plain object from a MoveAnalysisResult message. Also converts values to other types if specified.
+ * @param message MoveAnalysisResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.MoveAnalysisResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MoveAnalysisResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MoveAnalysisResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MoveImpact. */
+ interface IMoveImpact {
+
+ /** MoveImpact detail */
+ detail?: (string|null);
+ }
+
+ /** Represents a MoveImpact. */
+ class MoveImpact implements IMoveImpact {
+
+ /**
+ * Constructs a new MoveImpact.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IMoveImpact);
+
+ /** MoveImpact detail. */
+ public detail: string;
+
+ /**
+ * Creates a new MoveImpact instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MoveImpact instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IMoveImpact): google.cloud.asset.v1.MoveImpact;
+
+ /**
+ * Encodes the specified MoveImpact message. Does not implicitly {@link google.cloud.asset.v1.MoveImpact.verify|verify} messages.
+ * @param message MoveImpact message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IMoveImpact, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MoveImpact message, length delimited. Does not implicitly {@link google.cloud.asset.v1.MoveImpact.verify|verify} messages.
+ * @param message MoveImpact message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IMoveImpact, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MoveImpact message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MoveImpact
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.MoveImpact;
+
+ /**
+ * Decodes a MoveImpact message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MoveImpact
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.MoveImpact;
+
+ /**
+ * Verifies a MoveImpact message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MoveImpact message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MoveImpact
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.MoveImpact;
+
+ /**
+ * Creates a plain object from a MoveImpact message. Also converts values to other types if specified.
+ * @param message MoveImpact
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.MoveImpact, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MoveImpact to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MoveImpact
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a QueryAssetsOutputConfig. */
+ interface IQueryAssetsOutputConfig {
+
+ /** QueryAssetsOutputConfig bigqueryDestination */
+ bigqueryDestination?: (google.cloud.asset.v1.QueryAssetsOutputConfig.IBigQueryDestination|null);
+ }
+
+ /** Represents a QueryAssetsOutputConfig. */
+ class QueryAssetsOutputConfig implements IQueryAssetsOutputConfig {
+
+ /**
+ * Constructs a new QueryAssetsOutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IQueryAssetsOutputConfig);
+
+ /** QueryAssetsOutputConfig bigqueryDestination. */
+ public bigqueryDestination?: (google.cloud.asset.v1.QueryAssetsOutputConfig.IBigQueryDestination|null);
+
+ /**
+ * Creates a new QueryAssetsOutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryAssetsOutputConfig instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IQueryAssetsOutputConfig): google.cloud.asset.v1.QueryAssetsOutputConfig;
+
+ /**
+ * Encodes the specified QueryAssetsOutputConfig message. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsOutputConfig.verify|verify} messages.
+ * @param message QueryAssetsOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IQueryAssetsOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryAssetsOutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsOutputConfig.verify|verify} messages.
+ * @param message QueryAssetsOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IQueryAssetsOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryAssetsOutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryAssetsOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.QueryAssetsOutputConfig;
+
+ /**
+ * Decodes a QueryAssetsOutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryAssetsOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.QueryAssetsOutputConfig;
+
+ /**
+ * Verifies a QueryAssetsOutputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryAssetsOutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryAssetsOutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.QueryAssetsOutputConfig;
+
+ /**
+ * Creates a plain object from a QueryAssetsOutputConfig message. Also converts values to other types if specified.
+ * @param message QueryAssetsOutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.QueryAssetsOutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryAssetsOutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryAssetsOutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace QueryAssetsOutputConfig {
+
+ /** Properties of a BigQueryDestination. */
+ interface IBigQueryDestination {
+
+ /** BigQueryDestination dataset */
+ dataset?: (string|null);
+
+ /** BigQueryDestination table */
+ table?: (string|null);
+
+ /** BigQueryDestination writeDisposition */
+ writeDisposition?: (string|null);
+ }
+
+ /** Represents a BigQueryDestination. */
+ class BigQueryDestination implements IBigQueryDestination {
+
+ /**
+ * Constructs a new BigQueryDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.QueryAssetsOutputConfig.IBigQueryDestination);
+
+ /** BigQueryDestination dataset. */
+ public dataset: string;
+
+ /** BigQueryDestination table. */
+ public table: string;
+
+ /** BigQueryDestination writeDisposition. */
+ public writeDisposition: string;
+
+ /**
+ * Creates a new BigQueryDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1.QueryAssetsOutputConfig.IBigQueryDestination): google.cloud.asset.v1.QueryAssetsOutputConfig.BigQueryDestination;
+
+ /**
+ * Encodes the specified BigQueryDestination message. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsOutputConfig.BigQueryDestination.verify|verify} messages.
+ * @param message BigQueryDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.QueryAssetsOutputConfig.IBigQueryDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsOutputConfig.BigQueryDestination.verify|verify} messages.
+ * @param message BigQueryDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.QueryAssetsOutputConfig.IBigQueryDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.QueryAssetsOutputConfig.BigQueryDestination;
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.QueryAssetsOutputConfig.BigQueryDestination;
+
+ /**
+ * Verifies a BigQueryDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.QueryAssetsOutputConfig.BigQueryDestination;
+
+ /**
+ * Creates a plain object from a BigQueryDestination message. Also converts values to other types if specified.
+ * @param message BigQueryDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.QueryAssetsOutputConfig.BigQueryDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BigQueryDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a QueryAssetsRequest. */
+ interface IQueryAssetsRequest {
+
+ /** QueryAssetsRequest parent */
+ parent?: (string|null);
+
+ /** QueryAssetsRequest statement */
+ statement?: (string|null);
+
+ /** QueryAssetsRequest jobReference */
+ jobReference?: (string|null);
+
+ /** QueryAssetsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** QueryAssetsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** QueryAssetsRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+
+ /** QueryAssetsRequest readTimeWindow */
+ readTimeWindow?: (google.cloud.asset.v1.ITimeWindow|null);
+
+ /** QueryAssetsRequest readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+
+ /** QueryAssetsRequest outputConfig */
+ outputConfig?: (google.cloud.asset.v1.IQueryAssetsOutputConfig|null);
+ }
+
+ /** Represents a QueryAssetsRequest. */
+ class QueryAssetsRequest implements IQueryAssetsRequest {
+
+ /**
+ * Constructs a new QueryAssetsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IQueryAssetsRequest);
+
+ /** QueryAssetsRequest parent. */
+ public parent: string;
+
+ /** QueryAssetsRequest statement. */
+ public statement?: (string|null);
+
+ /** QueryAssetsRequest jobReference. */
+ public jobReference?: (string|null);
+
+ /** QueryAssetsRequest pageSize. */
+ public pageSize: number;
+
+ /** QueryAssetsRequest pageToken. */
+ public pageToken: string;
+
+ /** QueryAssetsRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /** QueryAssetsRequest readTimeWindow. */
+ public readTimeWindow?: (google.cloud.asset.v1.ITimeWindow|null);
+
+ /** QueryAssetsRequest readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** QueryAssetsRequest outputConfig. */
+ public outputConfig?: (google.cloud.asset.v1.IQueryAssetsOutputConfig|null);
+
+ /** QueryAssetsRequest query. */
+ public query?: ("statement"|"jobReference");
+
+ /** QueryAssetsRequest time. */
+ public time?: ("readTimeWindow"|"readTime");
+
+ /**
+ * Creates a new QueryAssetsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryAssetsRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IQueryAssetsRequest): google.cloud.asset.v1.QueryAssetsRequest;
+
+ /**
+ * Encodes the specified QueryAssetsRequest message. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsRequest.verify|verify} messages.
+ * @param message QueryAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IQueryAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryAssetsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsRequest.verify|verify} messages.
+ * @param message QueryAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IQueryAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryAssetsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.QueryAssetsRequest;
+
+ /**
+ * Decodes a QueryAssetsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.QueryAssetsRequest;
+
+ /**
+ * Verifies a QueryAssetsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryAssetsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryAssetsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.QueryAssetsRequest;
+
+ /**
+ * Creates a plain object from a QueryAssetsRequest message. Also converts values to other types if specified.
+ * @param message QueryAssetsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.QueryAssetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryAssetsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryAssetsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a QueryAssetsResponse. */
+ interface IQueryAssetsResponse {
+
+ /** QueryAssetsResponse jobReference */
+ jobReference?: (string|null);
+
+ /** QueryAssetsResponse done */
+ done?: (boolean|null);
+
+ /** QueryAssetsResponse error */
+ error?: (google.rpc.IStatus|null);
+
+ /** QueryAssetsResponse queryResult */
+ queryResult?: (google.cloud.asset.v1.IQueryResult|null);
+
+ /** QueryAssetsResponse outputConfig */
+ outputConfig?: (google.cloud.asset.v1.IQueryAssetsOutputConfig|null);
+ }
+
+ /** Represents a QueryAssetsResponse. */
+ class QueryAssetsResponse implements IQueryAssetsResponse {
+
+ /**
+ * Constructs a new QueryAssetsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IQueryAssetsResponse);
+
+ /** QueryAssetsResponse jobReference. */
+ public jobReference: string;
+
+ /** QueryAssetsResponse done. */
+ public done: boolean;
+
+ /** QueryAssetsResponse error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** QueryAssetsResponse queryResult. */
+ public queryResult?: (google.cloud.asset.v1.IQueryResult|null);
+
+ /** QueryAssetsResponse outputConfig. */
+ public outputConfig?: (google.cloud.asset.v1.IQueryAssetsOutputConfig|null);
+
+ /** QueryAssetsResponse response. */
+ public response?: ("error"|"queryResult"|"outputConfig");
+
+ /**
+ * Creates a new QueryAssetsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryAssetsResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IQueryAssetsResponse): google.cloud.asset.v1.QueryAssetsResponse;
+
+ /**
+ * Encodes the specified QueryAssetsResponse message. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsResponse.verify|verify} messages.
+ * @param message QueryAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IQueryAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryAssetsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.QueryAssetsResponse.verify|verify} messages.
+ * @param message QueryAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IQueryAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryAssetsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.QueryAssetsResponse;
+
+ /**
+ * Decodes a QueryAssetsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.QueryAssetsResponse;
+
+ /**
+ * Verifies a QueryAssetsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryAssetsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryAssetsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.QueryAssetsResponse;
+
+ /**
+ * Creates a plain object from a QueryAssetsResponse message. Also converts values to other types if specified.
+ * @param message QueryAssetsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.QueryAssetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryAssetsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryAssetsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a QueryResult. */
+ interface IQueryResult {
+
+ /** QueryResult rows */
+ rows?: (google.protobuf.IStruct[]|null);
+
+ /** QueryResult schema */
+ schema?: (google.cloud.asset.v1.ITableSchema|null);
+
+ /** QueryResult nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** QueryResult totalRows */
+ totalRows?: (number|Long|string|null);
+ }
+
+ /** Represents a QueryResult. */
+ class QueryResult implements IQueryResult {
+
+ /**
+ * Constructs a new QueryResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IQueryResult);
+
+ /** QueryResult rows. */
+ public rows: google.protobuf.IStruct[];
+
+ /** QueryResult schema. */
+ public schema?: (google.cloud.asset.v1.ITableSchema|null);
+
+ /** QueryResult nextPageToken. */
+ public nextPageToken: string;
+
+ /** QueryResult totalRows. */
+ public totalRows: (number|Long|string);
+
+ /**
+ * Creates a new QueryResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QueryResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IQueryResult): google.cloud.asset.v1.QueryResult;
+
+ /**
+ * Encodes the specified QueryResult message. Does not implicitly {@link google.cloud.asset.v1.QueryResult.verify|verify} messages.
+ * @param message QueryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QueryResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.QueryResult.verify|verify} messages.
+ * @param message QueryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QueryResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QueryResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.QueryResult;
+
+ /**
+ * Decodes a QueryResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QueryResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.QueryResult;
+
+ /**
+ * Verifies a QueryResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QueryResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QueryResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.QueryResult;
+
+ /**
+ * Creates a plain object from a QueryResult message. Also converts values to other types if specified.
+ * @param message QueryResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.QueryResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QueryResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for QueryResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TableSchema. */
+ interface ITableSchema {
+
+ /** TableSchema fields */
+ fields?: (google.cloud.asset.v1.ITableFieldSchema[]|null);
+ }
+
+ /** Represents a TableSchema. */
+ class TableSchema implements ITableSchema {
+
+ /**
+ * Constructs a new TableSchema.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ITableSchema);
+
+ /** TableSchema fields. */
+ public fields: google.cloud.asset.v1.ITableFieldSchema[];
+
+ /**
+ * Creates a new TableSchema instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TableSchema instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ITableSchema): google.cloud.asset.v1.TableSchema;
+
+ /**
+ * Encodes the specified TableSchema message. Does not implicitly {@link google.cloud.asset.v1.TableSchema.verify|verify} messages.
+ * @param message TableSchema message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ITableSchema, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TableSchema message, length delimited. Does not implicitly {@link google.cloud.asset.v1.TableSchema.verify|verify} messages.
+ * @param message TableSchema message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ITableSchema, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TableSchema message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TableSchema
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.TableSchema;
+
+ /**
+ * Decodes a TableSchema message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TableSchema
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.TableSchema;
+
+ /**
+ * Verifies a TableSchema message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TableSchema message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TableSchema
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.TableSchema;
+
+ /**
+ * Creates a plain object from a TableSchema message. Also converts values to other types if specified.
+ * @param message TableSchema
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.TableSchema, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TableSchema to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TableSchema
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TableFieldSchema. */
+ interface ITableFieldSchema {
+
+ /** TableFieldSchema field */
+ field?: (string|null);
+
+ /** TableFieldSchema type */
+ type?: (string|null);
+
+ /** TableFieldSchema mode */
+ mode?: (string|null);
+
+ /** TableFieldSchema fields */
+ fields?: (google.cloud.asset.v1.ITableFieldSchema[]|null);
+ }
+
+ /** Represents a TableFieldSchema. */
+ class TableFieldSchema implements ITableFieldSchema {
+
+ /**
+ * Constructs a new TableFieldSchema.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ITableFieldSchema);
+
+ /** TableFieldSchema field. */
+ public field: string;
+
+ /** TableFieldSchema type. */
+ public type: string;
+
+ /** TableFieldSchema mode. */
+ public mode: string;
+
+ /** TableFieldSchema fields. */
+ public fields: google.cloud.asset.v1.ITableFieldSchema[];
+
+ /**
+ * Creates a new TableFieldSchema instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TableFieldSchema instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ITableFieldSchema): google.cloud.asset.v1.TableFieldSchema;
+
+ /**
+ * Encodes the specified TableFieldSchema message. Does not implicitly {@link google.cloud.asset.v1.TableFieldSchema.verify|verify} messages.
+ * @param message TableFieldSchema message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ITableFieldSchema, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TableFieldSchema message, length delimited. Does not implicitly {@link google.cloud.asset.v1.TableFieldSchema.verify|verify} messages.
+ * @param message TableFieldSchema message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ITableFieldSchema, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TableFieldSchema message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TableFieldSchema
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.TableFieldSchema;
+
+ /**
+ * Decodes a TableFieldSchema message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TableFieldSchema
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.TableFieldSchema;
+
+ /**
+ * Verifies a TableFieldSchema message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TableFieldSchema message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TableFieldSchema
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.TableFieldSchema;
+
+ /**
+ * Creates a plain object from a TableFieldSchema message. Also converts values to other types if specified.
+ * @param message TableFieldSchema
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.TableFieldSchema, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TableFieldSchema to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TableFieldSchema
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchGetEffectiveIamPoliciesRequest. */
+ interface IBatchGetEffectiveIamPoliciesRequest {
+
+ /** BatchGetEffectiveIamPoliciesRequest scope */
+ scope?: (string|null);
+
+ /** BatchGetEffectiveIamPoliciesRequest names */
+ names?: (string[]|null);
+ }
+
+ /** Represents a BatchGetEffectiveIamPoliciesRequest. */
+ class BatchGetEffectiveIamPoliciesRequest implements IBatchGetEffectiveIamPoliciesRequest {
+
+ /**
+ * Constructs a new BatchGetEffectiveIamPoliciesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest);
+
+ /** BatchGetEffectiveIamPoliciesRequest scope. */
+ public scope: string;
+
+ /** BatchGetEffectiveIamPoliciesRequest names. */
+ public names: string[];
+
+ /**
+ * Creates a new BatchGetEffectiveIamPoliciesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchGetEffectiveIamPoliciesRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest;
+
+ /**
+ * Encodes the specified BatchGetEffectiveIamPoliciesRequest message. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.verify|verify} messages.
+ * @param message BatchGetEffectiveIamPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchGetEffectiveIamPoliciesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.verify|verify} messages.
+ * @param message BatchGetEffectiveIamPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchGetEffectiveIamPoliciesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchGetEffectiveIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest;
+
+ /**
+ * Decodes a BatchGetEffectiveIamPoliciesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchGetEffectiveIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest;
+
+ /**
+ * Verifies a BatchGetEffectiveIamPoliciesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BatchGetEffectiveIamPoliciesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchGetEffectiveIamPoliciesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest;
+
+ /**
+ * Creates a plain object from a BatchGetEffectiveIamPoliciesRequest message. Also converts values to other types if specified.
+ * @param message BatchGetEffectiveIamPoliciesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchGetEffectiveIamPoliciesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchGetEffectiveIamPoliciesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BatchGetEffectiveIamPoliciesResponse. */
+ interface IBatchGetEffectiveIamPoliciesResponse {
+
+ /** BatchGetEffectiveIamPoliciesResponse policyResults */
+ policyResults?: (google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.IEffectiveIamPolicy[]|null);
+ }
+
+ /** Represents a BatchGetEffectiveIamPoliciesResponse. */
+ class BatchGetEffectiveIamPoliciesResponse implements IBatchGetEffectiveIamPoliciesResponse {
+
+ /**
+ * Constructs a new BatchGetEffectiveIamPoliciesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesResponse);
+
+ /** BatchGetEffectiveIamPoliciesResponse policyResults. */
+ public policyResults: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.IEffectiveIamPolicy[];
+
+ /**
+ * Creates a new BatchGetEffectiveIamPoliciesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BatchGetEffectiveIamPoliciesResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesResponse): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse;
+
+ /**
+ * Encodes the specified BatchGetEffectiveIamPoliciesResponse message. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.verify|verify} messages.
+ * @param message BatchGetEffectiveIamPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BatchGetEffectiveIamPoliciesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.verify|verify} messages.
+ * @param message BatchGetEffectiveIamPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BatchGetEffectiveIamPoliciesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BatchGetEffectiveIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse;
+
+ /**
+ * Decodes a BatchGetEffectiveIamPoliciesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BatchGetEffectiveIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse;
+
+ /**
+ * Verifies a BatchGetEffectiveIamPoliciesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BatchGetEffectiveIamPoliciesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BatchGetEffectiveIamPoliciesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse;
+
+ /**
+ * Creates a plain object from a BatchGetEffectiveIamPoliciesResponse message. Also converts values to other types if specified.
+ * @param message BatchGetEffectiveIamPoliciesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BatchGetEffectiveIamPoliciesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BatchGetEffectiveIamPoliciesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BatchGetEffectiveIamPoliciesResponse {
+
+ /** Properties of an EffectiveIamPolicy. */
+ interface IEffectiveIamPolicy {
+
+ /** EffectiveIamPolicy fullResourceName */
+ fullResourceName?: (string|null);
+
+ /** EffectiveIamPolicy policies */
+ policies?: (google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.IPolicyInfo[]|null);
+ }
+
+ /** Represents an EffectiveIamPolicy. */
+ class EffectiveIamPolicy implements IEffectiveIamPolicy {
+
+ /**
+ * Constructs a new EffectiveIamPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.IEffectiveIamPolicy);
+
+ /** EffectiveIamPolicy fullResourceName. */
+ public fullResourceName: string;
+
+ /** EffectiveIamPolicy policies. */
+ public policies: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.IPolicyInfo[];
+
+ /**
+ * Creates a new EffectiveIamPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EffectiveIamPolicy instance
+ */
+ public static create(properties?: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.IEffectiveIamPolicy): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy;
+
+ /**
+ * Encodes the specified EffectiveIamPolicy message. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.verify|verify} messages.
+ * @param message EffectiveIamPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.IEffectiveIamPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EffectiveIamPolicy message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.verify|verify} messages.
+ * @param message EffectiveIamPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.IEffectiveIamPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EffectiveIamPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EffectiveIamPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy;
+
+ /**
+ * Decodes an EffectiveIamPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EffectiveIamPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy;
+
+ /**
+ * Verifies an EffectiveIamPolicy message.
+ * @param message Plain 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 EffectiveIamPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EffectiveIamPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy;
+
+ /**
+ * Creates a plain object from an EffectiveIamPolicy message. Also converts values to other types if specified.
+ * @param message EffectiveIamPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EffectiveIamPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EffectiveIamPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EffectiveIamPolicy {
+
+ /** Properties of a PolicyInfo. */
+ interface IPolicyInfo {
+
+ /** PolicyInfo attachedResource */
+ attachedResource?: (string|null);
+
+ /** PolicyInfo policy */
+ policy?: (google.iam.v1.IPolicy|null);
+ }
+
+ /** Represents a PolicyInfo. */
+ class PolicyInfo implements IPolicyInfo {
+
+ /**
+ * Constructs a new PolicyInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.IPolicyInfo);
+
+ /** PolicyInfo attachedResource. */
+ public attachedResource: string;
+
+ /** PolicyInfo policy. */
+ public policy?: (google.iam.v1.IPolicy|null);
+
+ /**
+ * Creates a new PolicyInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PolicyInfo instance
+ */
+ public static create(properties?: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.IPolicyInfo): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo;
+
+ /**
+ * Encodes the specified PolicyInfo message. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.verify|verify} messages.
+ * @param message PolicyInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.IPolicyInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PolicyInfo message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.verify|verify} messages.
+ * @param message PolicyInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.IPolicyInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PolicyInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PolicyInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo;
+
+ /**
+ * Decodes a PolicyInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PolicyInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo;
+
+ /**
+ * Verifies a PolicyInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PolicyInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PolicyInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo;
+
+ /**
+ * Creates a plain object from a PolicyInfo message. Also converts values to other types if specified.
+ * @param message PolicyInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PolicyInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PolicyInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** ContentType enum. */
+ enum ContentType {
+ CONTENT_TYPE_UNSPECIFIED = 0,
+ RESOURCE = 1,
+ IAM_POLICY = 2,
+ ORG_POLICY = 4,
+ ACCESS_POLICY = 5,
+ OS_INVENTORY = 6,
+ RELATIONSHIP = 7
+ }
+
+ /** Properties of a TemporalAsset. */
+ interface ITemporalAsset {
+
+ /** TemporalAsset window */
+ window?: (google.cloud.asset.v1.ITimeWindow|null);
+
+ /** TemporalAsset deleted */
+ deleted?: (boolean|null);
+
+ /** TemporalAsset asset */
+ asset?: (google.cloud.asset.v1.IAsset|null);
+
+ /** TemporalAsset priorAssetState */
+ priorAssetState?: (google.cloud.asset.v1.TemporalAsset.PriorAssetState|keyof typeof google.cloud.asset.v1.TemporalAsset.PriorAssetState|null);
+
+ /** TemporalAsset priorAsset */
+ priorAsset?: (google.cloud.asset.v1.IAsset|null);
+ }
+
+ /** Represents a TemporalAsset. */
+ class TemporalAsset implements ITemporalAsset {
+
+ /**
+ * Constructs a new TemporalAsset.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ITemporalAsset);
+
+ /** TemporalAsset window. */
+ public window?: (google.cloud.asset.v1.ITimeWindow|null);
+
+ /** TemporalAsset deleted. */
+ public deleted: boolean;
+
+ /** TemporalAsset asset. */
+ public asset?: (google.cloud.asset.v1.IAsset|null);
+
+ /** TemporalAsset priorAssetState. */
+ public priorAssetState: (google.cloud.asset.v1.TemporalAsset.PriorAssetState|keyof typeof google.cloud.asset.v1.TemporalAsset.PriorAssetState);
+
+ /** TemporalAsset priorAsset. */
+ public priorAsset?: (google.cloud.asset.v1.IAsset|null);
+
+ /**
+ * Creates a new TemporalAsset instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TemporalAsset instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ITemporalAsset): google.cloud.asset.v1.TemporalAsset;
+
+ /**
+ * Encodes the specified TemporalAsset message. Does not implicitly {@link google.cloud.asset.v1.TemporalAsset.verify|verify} messages.
+ * @param message TemporalAsset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ITemporalAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TemporalAsset message, length delimited. Does not implicitly {@link google.cloud.asset.v1.TemporalAsset.verify|verify} messages.
+ * @param message TemporalAsset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ITemporalAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TemporalAsset message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TemporalAsset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.TemporalAsset;
+
+ /**
+ * Decodes a TemporalAsset message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TemporalAsset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.TemporalAsset;
+
+ /**
+ * Verifies a TemporalAsset message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TemporalAsset message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TemporalAsset
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.TemporalAsset;
+
+ /**
+ * Creates a plain object from a TemporalAsset message. Also converts values to other types if specified.
+ * @param message TemporalAsset
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.TemporalAsset, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TemporalAsset to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TemporalAsset
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace TemporalAsset {
+
+ /** PriorAssetState enum. */
+ enum PriorAssetState {
+ PRIOR_ASSET_STATE_UNSPECIFIED = 0,
+ PRESENT = 1,
+ INVALID = 2,
+ DOES_NOT_EXIST = 3,
+ DELETED = 4
+ }
+ }
+
+ /** Properties of a TimeWindow. */
+ interface ITimeWindow {
+
+ /** TimeWindow startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeWindow endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimeWindow. */
+ class TimeWindow implements ITimeWindow {
+
+ /**
+ * Constructs a new TimeWindow.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.ITimeWindow);
+
+ /** TimeWindow startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeWindow endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimeWindow instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeWindow instance
+ */
+ public static create(properties?: google.cloud.asset.v1.ITimeWindow): google.cloud.asset.v1.TimeWindow;
+
+ /**
+ * Encodes the specified TimeWindow message. Does not implicitly {@link google.cloud.asset.v1.TimeWindow.verify|verify} messages.
+ * @param message TimeWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.ITimeWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeWindow message, length delimited. Does not implicitly {@link google.cloud.asset.v1.TimeWindow.verify|verify} messages.
+ * @param message TimeWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.ITimeWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeWindow message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.TimeWindow;
+
+ /**
+ * Decodes a TimeWindow message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.TimeWindow;
+
+ /**
+ * Verifies a TimeWindow message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeWindow message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeWindow
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.TimeWindow;
+
+ /**
+ * Creates a plain object from a TimeWindow message. Also converts values to other types if specified.
+ * @param message TimeWindow
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.TimeWindow, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeWindow to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeWindow
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Asset. */
+ interface IAsset {
+
+ /** Asset updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Asset name */
+ name?: (string|null);
+
+ /** Asset assetType */
+ assetType?: (string|null);
+
+ /** Asset resource */
+ resource?: (google.cloud.asset.v1.IResource|null);
+
+ /** Asset iamPolicy */
+ iamPolicy?: (google.iam.v1.IPolicy|null);
+
+ /** Asset orgPolicy */
+ orgPolicy?: (google.cloud.orgpolicy.v1.IPolicy[]|null);
+
+ /** Asset accessPolicy */
+ accessPolicy?: (google.identity.accesscontextmanager.v1.IAccessPolicy|null);
+
+ /** Asset accessLevel */
+ accessLevel?: (google.identity.accesscontextmanager.v1.IAccessLevel|null);
+
+ /** Asset servicePerimeter */
+ servicePerimeter?: (google.identity.accesscontextmanager.v1.IServicePerimeter|null);
+
+ /** Asset osInventory */
+ osInventory?: (google.cloud.osconfig.v1.IInventory|null);
+
+ /** Asset relatedAssets */
+ relatedAssets?: (google.cloud.asset.v1.IRelatedAssets|null);
+
+ /** Asset relatedAsset */
+ relatedAsset?: (google.cloud.asset.v1.IRelatedAsset|null);
+
+ /** Asset ancestors */
+ ancestors?: (string[]|null);
+ }
+
+ /** Represents an Asset. */
+ class Asset implements IAsset {
+
+ /**
+ * Constructs a new Asset.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAsset);
+
+ /** Asset updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Asset name. */
+ public name: string;
+
+ /** Asset assetType. */
+ public assetType: string;
+
+ /** Asset resource. */
+ public resource?: (google.cloud.asset.v1.IResource|null);
+
+ /** Asset iamPolicy. */
+ public iamPolicy?: (google.iam.v1.IPolicy|null);
+
+ /** Asset orgPolicy. */
+ public orgPolicy: google.cloud.orgpolicy.v1.IPolicy[];
+
+ /** Asset accessPolicy. */
+ public accessPolicy?: (google.identity.accesscontextmanager.v1.IAccessPolicy|null);
+
+ /** Asset accessLevel. */
+ public accessLevel?: (google.identity.accesscontextmanager.v1.IAccessLevel|null);
+
+ /** Asset servicePerimeter. */
+ public servicePerimeter?: (google.identity.accesscontextmanager.v1.IServicePerimeter|null);
+
+ /** Asset osInventory. */
+ public osInventory?: (google.cloud.osconfig.v1.IInventory|null);
+
+ /** Asset relatedAssets. */
+ public relatedAssets?: (google.cloud.asset.v1.IRelatedAssets|null);
+
+ /** Asset relatedAsset. */
+ public relatedAsset?: (google.cloud.asset.v1.IRelatedAsset|null);
+
+ /** Asset ancestors. */
+ public ancestors: string[];
+
+ /** Asset accessContextPolicy. */
+ public accessContextPolicy?: ("accessPolicy"|"accessLevel"|"servicePerimeter");
+
+ /**
+ * Creates a new Asset instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Asset instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAsset): google.cloud.asset.v1.Asset;
+
+ /**
+ * Encodes the specified Asset message. Does not implicitly {@link google.cloud.asset.v1.Asset.verify|verify} messages.
+ * @param message Asset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Asset message, length delimited. Does not implicitly {@link google.cloud.asset.v1.Asset.verify|verify} messages.
+ * @param message Asset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Asset message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Asset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.Asset;
+
+ /**
+ * Decodes an Asset message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Asset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.Asset;
+
+ /**
+ * Verifies an Asset message.
+ * @param message Plain 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 Asset message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Asset
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.Asset;
+
+ /**
+ * Creates a plain object from an Asset message. Also converts values to other types if specified.
+ * @param message Asset
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.Asset, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Asset to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Asset
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Resource. */
+ interface IResource {
+
+ /** Resource version */
+ version?: (string|null);
+
+ /** Resource discoveryDocumentUri */
+ discoveryDocumentUri?: (string|null);
+
+ /** Resource discoveryName */
+ discoveryName?: (string|null);
+
+ /** Resource resourceUrl */
+ resourceUrl?: (string|null);
+
+ /** Resource parent */
+ parent?: (string|null);
+
+ /** Resource data */
+ data?: (google.protobuf.IStruct|null);
+
+ /** Resource location */
+ location?: (string|null);
+ }
+
+ /** Represents a Resource. */
+ class Resource implements IResource {
+
+ /**
+ * Constructs a new Resource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IResource);
+
+ /** Resource version. */
+ public version: string;
+
+ /** Resource discoveryDocumentUri. */
+ public discoveryDocumentUri: string;
+
+ /** Resource discoveryName. */
+ public discoveryName: string;
+
+ /** Resource resourceUrl. */
+ public resourceUrl: string;
+
+ /** Resource parent. */
+ public parent: string;
+
+ /** Resource data. */
+ public data?: (google.protobuf.IStruct|null);
+
+ /** Resource location. */
+ public location: string;
+
+ /**
+ * Creates a new Resource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Resource instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IResource): google.cloud.asset.v1.Resource;
+
+ /**
+ * Encodes the specified Resource message. Does not implicitly {@link google.cloud.asset.v1.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Resource message, length delimited. Does not implicitly {@link google.cloud.asset.v1.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.Resource;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.Resource;
+
+ /**
+ * Verifies a Resource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Resource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Resource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.Resource;
+
+ /**
+ * Creates a plain object from a Resource message. Also converts values to other types if specified.
+ * @param message Resource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.Resource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Resource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Resource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RelatedAssets. */
+ interface IRelatedAssets {
+
+ /** RelatedAssets relationshipAttributes */
+ relationshipAttributes?: (google.cloud.asset.v1.IRelationshipAttributes|null);
+
+ /** RelatedAssets assets */
+ assets?: (google.cloud.asset.v1.IRelatedAsset[]|null);
+ }
+
+ /** Represents a RelatedAssets. */
+ class RelatedAssets implements IRelatedAssets {
+
+ /**
+ * Constructs a new RelatedAssets.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IRelatedAssets);
+
+ /** RelatedAssets relationshipAttributes. */
+ public relationshipAttributes?: (google.cloud.asset.v1.IRelationshipAttributes|null);
+
+ /** RelatedAssets assets. */
+ public assets: google.cloud.asset.v1.IRelatedAsset[];
+
+ /**
+ * Creates a new RelatedAssets instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RelatedAssets instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IRelatedAssets): google.cloud.asset.v1.RelatedAssets;
+
+ /**
+ * Encodes the specified RelatedAssets message. Does not implicitly {@link google.cloud.asset.v1.RelatedAssets.verify|verify} messages.
+ * @param message RelatedAssets message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IRelatedAssets, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RelatedAssets message, length delimited. Does not implicitly {@link google.cloud.asset.v1.RelatedAssets.verify|verify} messages.
+ * @param message RelatedAssets message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IRelatedAssets, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RelatedAssets message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RelatedAssets
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.RelatedAssets;
+
+ /**
+ * Decodes a RelatedAssets message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RelatedAssets
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.RelatedAssets;
+
+ /**
+ * Verifies a RelatedAssets message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RelatedAssets message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RelatedAssets
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.RelatedAssets;
+
+ /**
+ * Creates a plain object from a RelatedAssets message. Also converts values to other types if specified.
+ * @param message RelatedAssets
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.RelatedAssets, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RelatedAssets to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RelatedAssets
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RelationshipAttributes. */
+ interface IRelationshipAttributes {
+
+ /** RelationshipAttributes type */
+ type?: (string|null);
+
+ /** RelationshipAttributes sourceResourceType */
+ sourceResourceType?: (string|null);
+
+ /** RelationshipAttributes targetResourceType */
+ targetResourceType?: (string|null);
+
+ /** RelationshipAttributes action */
+ action?: (string|null);
+ }
+
+ /** Represents a RelationshipAttributes. */
+ class RelationshipAttributes implements IRelationshipAttributes {
+
+ /**
+ * Constructs a new RelationshipAttributes.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IRelationshipAttributes);
+
+ /** RelationshipAttributes type. */
+ public type: string;
+
+ /** RelationshipAttributes sourceResourceType. */
+ public sourceResourceType: string;
+
+ /** RelationshipAttributes targetResourceType. */
+ public targetResourceType: string;
+
+ /** RelationshipAttributes action. */
+ public action: string;
+
+ /**
+ * Creates a new RelationshipAttributes instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RelationshipAttributes instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IRelationshipAttributes): google.cloud.asset.v1.RelationshipAttributes;
+
+ /**
+ * Encodes the specified RelationshipAttributes message. Does not implicitly {@link google.cloud.asset.v1.RelationshipAttributes.verify|verify} messages.
+ * @param message RelationshipAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IRelationshipAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RelationshipAttributes message, length delimited. Does not implicitly {@link google.cloud.asset.v1.RelationshipAttributes.verify|verify} messages.
+ * @param message RelationshipAttributes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IRelationshipAttributes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RelationshipAttributes message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RelationshipAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.RelationshipAttributes;
+
+ /**
+ * Decodes a RelationshipAttributes message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RelationshipAttributes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.RelationshipAttributes;
+
+ /**
+ * Verifies a RelationshipAttributes message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RelationshipAttributes message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RelationshipAttributes
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.RelationshipAttributes;
+
+ /**
+ * Creates a plain object from a RelationshipAttributes message. Also converts values to other types if specified.
+ * @param message RelationshipAttributes
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.RelationshipAttributes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RelationshipAttributes to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RelationshipAttributes
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RelatedAsset. */
+ interface IRelatedAsset {
+
+ /** RelatedAsset asset */
+ asset?: (string|null);
+
+ /** RelatedAsset assetType */
+ assetType?: (string|null);
+
+ /** RelatedAsset ancestors */
+ ancestors?: (string[]|null);
+
+ /** RelatedAsset relationshipType */
+ relationshipType?: (string|null);
+ }
+
+ /** Represents a RelatedAsset. */
+ class RelatedAsset implements IRelatedAsset {
+
+ /**
+ * Constructs a new RelatedAsset.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IRelatedAsset);
+
+ /** RelatedAsset asset. */
+ public asset: string;
+
+ /** RelatedAsset assetType. */
+ public assetType: string;
+
+ /** RelatedAsset ancestors. */
+ public ancestors: string[];
+
+ /** RelatedAsset relationshipType. */
+ public relationshipType: string;
+
+ /**
+ * Creates a new RelatedAsset instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RelatedAsset instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IRelatedAsset): google.cloud.asset.v1.RelatedAsset;
+
+ /**
+ * Encodes the specified RelatedAsset message. Does not implicitly {@link google.cloud.asset.v1.RelatedAsset.verify|verify} messages.
+ * @param message RelatedAsset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IRelatedAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RelatedAsset message, length delimited. Does not implicitly {@link google.cloud.asset.v1.RelatedAsset.verify|verify} messages.
+ * @param message RelatedAsset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IRelatedAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RelatedAsset message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RelatedAsset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.RelatedAsset;
+
+ /**
+ * Decodes a RelatedAsset message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RelatedAsset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.RelatedAsset;
+
+ /**
+ * Verifies a RelatedAsset message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RelatedAsset message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RelatedAsset
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.RelatedAsset;
+
+ /**
+ * Creates a plain object from a RelatedAsset message. Also converts values to other types if specified.
+ * @param message RelatedAsset
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.RelatedAsset, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RelatedAsset to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RelatedAsset
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResourceSearchResult. */
+ interface IResourceSearchResult {
+
+ /** ResourceSearchResult name */
+ name?: (string|null);
+
+ /** ResourceSearchResult assetType */
+ assetType?: (string|null);
+
+ /** ResourceSearchResult project */
+ project?: (string|null);
+
+ /** ResourceSearchResult folders */
+ folders?: (string[]|null);
+
+ /** ResourceSearchResult organization */
+ organization?: (string|null);
+
+ /** ResourceSearchResult displayName */
+ displayName?: (string|null);
+
+ /** ResourceSearchResult description */
+ description?: (string|null);
+
+ /** ResourceSearchResult location */
+ location?: (string|null);
+
+ /** ResourceSearchResult labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** ResourceSearchResult networkTags */
+ networkTags?: (string[]|null);
+
+ /** ResourceSearchResult kmsKey */
+ kmsKey?: (string|null);
+
+ /** ResourceSearchResult kmsKeys */
+ kmsKeys?: (string[]|null);
+
+ /** ResourceSearchResult createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ResourceSearchResult updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ResourceSearchResult state */
+ state?: (string|null);
+
+ /** ResourceSearchResult additionalAttributes */
+ additionalAttributes?: (google.protobuf.IStruct|null);
+
+ /** ResourceSearchResult parentFullResourceName */
+ parentFullResourceName?: (string|null);
+
+ /** ResourceSearchResult versionedResources */
+ versionedResources?: (google.cloud.asset.v1.IVersionedResource[]|null);
+
+ /** ResourceSearchResult attachedResources */
+ attachedResources?: (google.cloud.asset.v1.IAttachedResource[]|null);
+
+ /** ResourceSearchResult relationships */
+ relationships?: ({ [k: string]: google.cloud.asset.v1.IRelatedResources }|null);
+
+ /** ResourceSearchResult tagKeys */
+ tagKeys?: (string[]|null);
+
+ /** ResourceSearchResult tagValues */
+ tagValues?: (string[]|null);
+
+ /** ResourceSearchResult tagValueIds */
+ tagValueIds?: (string[]|null);
+
+ /** ResourceSearchResult parentAssetType */
+ parentAssetType?: (string|null);
+ }
+
+ /** Represents a ResourceSearchResult. */
+ class ResourceSearchResult implements IResourceSearchResult {
+
+ /**
+ * Constructs a new ResourceSearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IResourceSearchResult);
+
+ /** ResourceSearchResult name. */
+ public name: string;
+
+ /** ResourceSearchResult assetType. */
+ public assetType: string;
+
+ /** ResourceSearchResult project. */
+ public project: string;
+
+ /** ResourceSearchResult folders. */
+ public folders: string[];
+
+ /** ResourceSearchResult organization. */
+ public organization: string;
+
+ /** ResourceSearchResult displayName. */
+ public displayName: string;
+
+ /** ResourceSearchResult description. */
+ public description: string;
+
+ /** ResourceSearchResult location. */
+ public location: string;
+
+ /** ResourceSearchResult labels. */
+ public labels: { [k: string]: string };
+
+ /** ResourceSearchResult networkTags. */
+ public networkTags: string[];
+
+ /** ResourceSearchResult kmsKey. */
+ public kmsKey: string;
+
+ /** ResourceSearchResult kmsKeys. */
+ public kmsKeys: string[];
+
+ /** ResourceSearchResult createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ResourceSearchResult updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ResourceSearchResult state. */
+ public state: string;
+
+ /** ResourceSearchResult additionalAttributes. */
+ public additionalAttributes?: (google.protobuf.IStruct|null);
+
+ /** ResourceSearchResult parentFullResourceName. */
+ public parentFullResourceName: string;
+
+ /** ResourceSearchResult versionedResources. */
+ public versionedResources: google.cloud.asset.v1.IVersionedResource[];
+
+ /** ResourceSearchResult attachedResources. */
+ public attachedResources: google.cloud.asset.v1.IAttachedResource[];
+
+ /** ResourceSearchResult relationships. */
+ public relationships: { [k: string]: google.cloud.asset.v1.IRelatedResources };
+
+ /** ResourceSearchResult tagKeys. */
+ public tagKeys: string[];
+
+ /** ResourceSearchResult tagValues. */
+ public tagValues: string[];
+
+ /** ResourceSearchResult tagValueIds. */
+ public tagValueIds: string[];
+
+ /** ResourceSearchResult parentAssetType. */
+ public parentAssetType: string;
+
+ /**
+ * Creates a new ResourceSearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceSearchResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IResourceSearchResult): google.cloud.asset.v1.ResourceSearchResult;
+
+ /**
+ * Encodes the specified ResourceSearchResult message. Does not implicitly {@link google.cloud.asset.v1.ResourceSearchResult.verify|verify} messages.
+ * @param message ResourceSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IResourceSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceSearchResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ResourceSearchResult.verify|verify} messages.
+ * @param message ResourceSearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IResourceSearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceSearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceSearchResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ResourceSearchResult;
+
+ /**
+ * Decodes a ResourceSearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceSearchResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ResourceSearchResult;
+
+ /**
+ * Verifies a ResourceSearchResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceSearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceSearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ResourceSearchResult;
+
+ /**
+ * Creates a plain object from a ResourceSearchResult message. Also converts values to other types if specified.
+ * @param message ResourceSearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ResourceSearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceSearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceSearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VersionedResource. */
+ interface IVersionedResource {
+
+ /** VersionedResource version */
+ version?: (string|null);
+
+ /** VersionedResource resource */
+ resource?: (google.protobuf.IStruct|null);
+ }
+
+ /** Represents a VersionedResource. */
+ class VersionedResource implements IVersionedResource {
+
+ /**
+ * Constructs a new VersionedResource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IVersionedResource);
+
+ /** VersionedResource version. */
+ public version: string;
+
+ /** VersionedResource resource. */
+ public resource?: (google.protobuf.IStruct|null);
+
+ /**
+ * Creates a new VersionedResource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VersionedResource instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IVersionedResource): google.cloud.asset.v1.VersionedResource;
+
+ /**
+ * Encodes the specified VersionedResource message. Does not implicitly {@link google.cloud.asset.v1.VersionedResource.verify|verify} messages.
+ * @param message VersionedResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IVersionedResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VersionedResource message, length delimited. Does not implicitly {@link google.cloud.asset.v1.VersionedResource.verify|verify} messages.
+ * @param message VersionedResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IVersionedResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VersionedResource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VersionedResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.VersionedResource;
+
+ /**
+ * Decodes a VersionedResource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VersionedResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.VersionedResource;
+
+ /**
+ * Verifies a VersionedResource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VersionedResource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VersionedResource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.VersionedResource;
+
+ /**
+ * Creates a plain object from a VersionedResource message. Also converts values to other types if specified.
+ * @param message VersionedResource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.VersionedResource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VersionedResource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VersionedResource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AttachedResource. */
+ interface IAttachedResource {
+
+ /** AttachedResource assetType */
+ assetType?: (string|null);
+
+ /** AttachedResource versionedResources */
+ versionedResources?: (google.cloud.asset.v1.IVersionedResource[]|null);
+ }
+
+ /** Represents an AttachedResource. */
+ class AttachedResource implements IAttachedResource {
+
+ /**
+ * Constructs a new AttachedResource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IAttachedResource);
+
+ /** AttachedResource assetType. */
+ public assetType: string;
+
+ /** AttachedResource versionedResources. */
+ public versionedResources: google.cloud.asset.v1.IVersionedResource[];
+
+ /**
+ * Creates a new AttachedResource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttachedResource instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IAttachedResource): google.cloud.asset.v1.AttachedResource;
+
+ /**
+ * Encodes the specified AttachedResource message. Does not implicitly {@link google.cloud.asset.v1.AttachedResource.verify|verify} messages.
+ * @param message AttachedResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IAttachedResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttachedResource message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AttachedResource.verify|verify} messages.
+ * @param message AttachedResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IAttachedResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttachedResource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttachedResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.AttachedResource;
+
+ /**
+ * Decodes an AttachedResource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttachedResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.AttachedResource;
+
+ /**
+ * Verifies an AttachedResource message.
+ * @param message Plain 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 AttachedResource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttachedResource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.AttachedResource;
+
+ /**
+ * Creates a plain object from an AttachedResource message. Also converts values to other types if specified.
+ * @param message AttachedResource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.AttachedResource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttachedResource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttachedResource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RelatedResources. */
+ interface IRelatedResources {
+
+ /** RelatedResources relatedResources */
+ relatedResources?: (google.cloud.asset.v1.IRelatedResource[]|null);
+ }
+
+ /** Represents a RelatedResources. */
+ class RelatedResources implements IRelatedResources {
+
+ /**
+ * Constructs a new RelatedResources.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IRelatedResources);
+
+ /** RelatedResources relatedResources. */
+ public relatedResources: google.cloud.asset.v1.IRelatedResource[];
+
+ /**
+ * Creates a new RelatedResources instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RelatedResources instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IRelatedResources): google.cloud.asset.v1.RelatedResources;
+
+ /**
+ * Encodes the specified RelatedResources message. Does not implicitly {@link google.cloud.asset.v1.RelatedResources.verify|verify} messages.
+ * @param message RelatedResources message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IRelatedResources, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RelatedResources message, length delimited. Does not implicitly {@link google.cloud.asset.v1.RelatedResources.verify|verify} messages.
+ * @param message RelatedResources message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IRelatedResources, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RelatedResources message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RelatedResources
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.RelatedResources;
+
+ /**
+ * Decodes a RelatedResources message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RelatedResources
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.RelatedResources;
+
+ /**
+ * Verifies a RelatedResources message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RelatedResources message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RelatedResources
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.RelatedResources;
+
+ /**
+ * Creates a plain object from a RelatedResources message. Also converts values to other types if specified.
+ * @param message RelatedResources
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.RelatedResources, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RelatedResources to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RelatedResources
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RelatedResource. */
+ interface IRelatedResource {
+
+ /** RelatedResource assetType */
+ assetType?: (string|null);
+
+ /** RelatedResource fullResourceName */
+ fullResourceName?: (string|null);
+ }
+
+ /** Represents a RelatedResource. */
+ class RelatedResource implements IRelatedResource {
+
+ /**
+ * Constructs a new RelatedResource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IRelatedResource);
+
+ /** RelatedResource assetType. */
+ public assetType: string;
+
+ /** RelatedResource fullResourceName. */
+ public fullResourceName: string;
+
+ /**
+ * Creates a new RelatedResource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RelatedResource instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IRelatedResource): google.cloud.asset.v1.RelatedResource;
+
+ /**
+ * Encodes the specified RelatedResource message. Does not implicitly {@link google.cloud.asset.v1.RelatedResource.verify|verify} messages.
+ * @param message RelatedResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IRelatedResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RelatedResource message, length delimited. Does not implicitly {@link google.cloud.asset.v1.RelatedResource.verify|verify} messages.
+ * @param message RelatedResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IRelatedResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RelatedResource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RelatedResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.RelatedResource;
+
+ /**
+ * Decodes a RelatedResource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RelatedResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.RelatedResource;
+
+ /**
+ * Verifies a RelatedResource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RelatedResource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RelatedResource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.RelatedResource;
+
+ /**
+ * Creates a plain object from a RelatedResource message. Also converts values to other types if specified.
+ * @param message RelatedResource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.RelatedResource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RelatedResource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RelatedResource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IamPolicySearchResult. */
+ interface IIamPolicySearchResult {
+
+ /** IamPolicySearchResult resource */
+ resource?: (string|null);
+
+ /** IamPolicySearchResult assetType */
+ assetType?: (string|null);
+
+ /** IamPolicySearchResult project */
+ project?: (string|null);
+
+ /** IamPolicySearchResult folders */
+ folders?: (string[]|null);
+
+ /** IamPolicySearchResult organization */
+ organization?: (string|null);
+
+ /** IamPolicySearchResult policy */
+ policy?: (google.iam.v1.IPolicy|null);
+
+ /** IamPolicySearchResult explanation */
+ explanation?: (google.cloud.asset.v1.IamPolicySearchResult.IExplanation|null);
+ }
+
+ /** Represents an IamPolicySearchResult. */
+ class IamPolicySearchResult implements IIamPolicySearchResult {
+
+ /**
+ * Constructs a new IamPolicySearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IIamPolicySearchResult);
+
+ /** IamPolicySearchResult resource. */
+ public resource: string;
+
+ /** IamPolicySearchResult assetType. */
+ public assetType: string;
+
+ /** IamPolicySearchResult project. */
+ public project: string;
+
+ /** IamPolicySearchResult folders. */
+ public folders: string[];
+
+ /** IamPolicySearchResult organization. */
+ public organization: string;
+
+ /** IamPolicySearchResult policy. */
+ public policy?: (google.iam.v1.IPolicy|null);
+
+ /** IamPolicySearchResult explanation. */
+ public explanation?: (google.cloud.asset.v1.IamPolicySearchResult.IExplanation|null);
+
+ /**
+ * Creates a new IamPolicySearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicySearchResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IIamPolicySearchResult): google.cloud.asset.v1.IamPolicySearchResult;
+
+ /**
+ * Encodes the specified IamPolicySearchResult message. Does not implicitly {@link google.cloud.asset.v1.IamPolicySearchResult.verify|verify} messages.
+ * @param message IamPolicySearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IIamPolicySearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicySearchResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicySearchResult.verify|verify} messages.
+ * @param message IamPolicySearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IIamPolicySearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicySearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicySearchResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicySearchResult;
+
+ /**
+ * Decodes an IamPolicySearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicySearchResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicySearchResult;
+
+ /**
+ * Verifies an IamPolicySearchResult message.
+ * @param message Plain 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 IamPolicySearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicySearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicySearchResult;
+
+ /**
+ * Creates a plain object from an IamPolicySearchResult message. Also converts values to other types if specified.
+ * @param message IamPolicySearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicySearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicySearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicySearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicySearchResult {
+
+ /** Properties of an Explanation. */
+ interface IExplanation {
+
+ /** Explanation matchedPermissions */
+ matchedPermissions?: ({ [k: string]: google.cloud.asset.v1.IamPolicySearchResult.Explanation.IPermissions }|null);
+ }
+
+ /** Represents an Explanation. */
+ class Explanation implements IExplanation {
+
+ /**
+ * Constructs a new Explanation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicySearchResult.IExplanation);
+
+ /** Explanation matchedPermissions. */
+ public matchedPermissions: { [k: string]: google.cloud.asset.v1.IamPolicySearchResult.Explanation.IPermissions };
+
+ /**
+ * Creates a new Explanation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Explanation instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicySearchResult.IExplanation): google.cloud.asset.v1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Encodes the specified Explanation message. Does not implicitly {@link google.cloud.asset.v1.IamPolicySearchResult.Explanation.verify|verify} messages.
+ * @param message Explanation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicySearchResult.IExplanation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Explanation message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicySearchResult.Explanation.verify|verify} messages.
+ * @param message Explanation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicySearchResult.IExplanation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Explanation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Explanation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Decodes an Explanation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Explanation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Verifies an Explanation message.
+ * @param message Plain 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 Explanation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Explanation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Creates a plain object from an Explanation message. Also converts values to other types if specified.
+ * @param message Explanation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicySearchResult.Explanation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Explanation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Explanation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Explanation {
+
+ /** Properties of a Permissions. */
+ interface IPermissions {
+
+ /** Permissions permissions */
+ permissions?: (string[]|null);
+ }
+
+ /** Represents a Permissions. */
+ class Permissions implements IPermissions {
+
+ /**
+ * Constructs a new Permissions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicySearchResult.Explanation.IPermissions);
+
+ /** Permissions permissions. */
+ public permissions: string[];
+
+ /**
+ * Creates a new Permissions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Permissions instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicySearchResult.Explanation.IPermissions): google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions;
+
+ /**
+ * Encodes the specified Permissions message. Does not implicitly {@link google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions.verify|verify} messages.
+ * @param message Permissions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicySearchResult.Explanation.IPermissions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Permissions message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions.verify|verify} messages.
+ * @param message Permissions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicySearchResult.Explanation.IPermissions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Permissions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Permissions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions;
+
+ /**
+ * Decodes a Permissions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Permissions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions;
+
+ /**
+ * Verifies a Permissions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Permissions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Permissions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions;
+
+ /**
+ * Creates a plain object from a Permissions message. Also converts values to other types if specified.
+ * @param message Permissions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicySearchResult.Explanation.Permissions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Permissions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Permissions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Properties of an IamPolicyAnalysisState. */
+ interface IIamPolicyAnalysisState {
+
+ /** IamPolicyAnalysisState code */
+ code?: (google.rpc.Code|keyof typeof google.rpc.Code|null);
+
+ /** IamPolicyAnalysisState cause */
+ cause?: (string|null);
+ }
+
+ /** Represents an IamPolicyAnalysisState. */
+ class IamPolicyAnalysisState implements IIamPolicyAnalysisState {
+
+ /**
+ * Constructs a new IamPolicyAnalysisState.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IIamPolicyAnalysisState);
+
+ /** IamPolicyAnalysisState code. */
+ public code: (google.rpc.Code|keyof typeof google.rpc.Code);
+
+ /** IamPolicyAnalysisState cause. */
+ public cause: string;
+
+ /**
+ * Creates a new IamPolicyAnalysisState instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysisState instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IIamPolicyAnalysisState): google.cloud.asset.v1.IamPolicyAnalysisState;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisState message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisState.verify|verify} messages.
+ * @param message IamPolicyAnalysisState message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IIamPolicyAnalysisState, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisState message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisState.verify|verify} messages.
+ * @param message IamPolicyAnalysisState message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IIamPolicyAnalysisState, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysisState message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysisState
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisState;
+
+ /**
+ * Decodes an IamPolicyAnalysisState message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysisState
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisState;
+
+ /**
+ * Verifies an IamPolicyAnalysisState message.
+ * @param message Plain 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 IamPolicyAnalysisState message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysisState
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisState;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisState message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysisState
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisState, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysisState to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisState
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ConditionEvaluation. */
+ interface IConditionEvaluation {
+
+ /** ConditionEvaluation evaluationValue */
+ evaluationValue?: (google.cloud.asset.v1.ConditionEvaluation.EvaluationValue|keyof typeof google.cloud.asset.v1.ConditionEvaluation.EvaluationValue|null);
+ }
+
+ /** Represents a ConditionEvaluation. */
+ class ConditionEvaluation implements IConditionEvaluation {
+
+ /**
+ * Constructs a new ConditionEvaluation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IConditionEvaluation);
+
+ /** ConditionEvaluation evaluationValue. */
+ public evaluationValue: (google.cloud.asset.v1.ConditionEvaluation.EvaluationValue|keyof typeof google.cloud.asset.v1.ConditionEvaluation.EvaluationValue);
+
+ /**
+ * Creates a new ConditionEvaluation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ConditionEvaluation instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IConditionEvaluation): google.cloud.asset.v1.ConditionEvaluation;
+
+ /**
+ * Encodes the specified ConditionEvaluation message. Does not implicitly {@link google.cloud.asset.v1.ConditionEvaluation.verify|verify} messages.
+ * @param message ConditionEvaluation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IConditionEvaluation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ConditionEvaluation message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ConditionEvaluation.verify|verify} messages.
+ * @param message ConditionEvaluation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IConditionEvaluation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ConditionEvaluation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ConditionEvaluation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.ConditionEvaluation;
+
+ /**
+ * Decodes a ConditionEvaluation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ConditionEvaluation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.ConditionEvaluation;
+
+ /**
+ * Verifies a ConditionEvaluation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ConditionEvaluation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ConditionEvaluation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.ConditionEvaluation;
+
+ /**
+ * Creates a plain object from a ConditionEvaluation message. Also converts values to other types if specified.
+ * @param message ConditionEvaluation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.ConditionEvaluation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ConditionEvaluation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ConditionEvaluation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ConditionEvaluation {
+
+ /** EvaluationValue enum. */
+ enum EvaluationValue {
+ EVALUATION_VALUE_UNSPECIFIED = 0,
+ TRUE = 1,
+ FALSE = 2,
+ CONDITIONAL = 3
+ }
+ }
+
+ /** Properties of an IamPolicyAnalysisResult. */
+ interface IIamPolicyAnalysisResult {
+
+ /** IamPolicyAnalysisResult attachedResourceFullName */
+ attachedResourceFullName?: (string|null);
+
+ /** IamPolicyAnalysisResult iamBinding */
+ iamBinding?: (google.iam.v1.IBinding|null);
+
+ /** IamPolicyAnalysisResult accessControlLists */
+ accessControlLists?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IAccessControlList[]|null);
+
+ /** IamPolicyAnalysisResult identityList */
+ identityList?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentityList|null);
+
+ /** IamPolicyAnalysisResult fullyExplored */
+ fullyExplored?: (boolean|null);
+ }
+
+ /** Represents an IamPolicyAnalysisResult. */
+ class IamPolicyAnalysisResult implements IIamPolicyAnalysisResult {
+
+ /**
+ * Constructs a new IamPolicyAnalysisResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IIamPolicyAnalysisResult);
+
+ /** IamPolicyAnalysisResult attachedResourceFullName. */
+ public attachedResourceFullName: string;
+
+ /** IamPolicyAnalysisResult iamBinding. */
+ public iamBinding?: (google.iam.v1.IBinding|null);
+
+ /** IamPolicyAnalysisResult accessControlLists. */
+ public accessControlLists: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccessControlList[];
+
+ /** IamPolicyAnalysisResult identityList. */
+ public identityList?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentityList|null);
+
+ /** IamPolicyAnalysisResult fullyExplored. */
+ public fullyExplored: boolean;
+
+ /**
+ * Creates a new IamPolicyAnalysisResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysisResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IIamPolicyAnalysisResult): google.cloud.asset.v1.IamPolicyAnalysisResult;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisResult message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.verify|verify} messages.
+ * @param message IamPolicyAnalysisResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IIamPolicyAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.verify|verify} messages.
+ * @param message IamPolicyAnalysisResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IIamPolicyAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysisResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysisResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisResult;
+
+ /**
+ * Decodes an IamPolicyAnalysisResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysisResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisResult;
+
+ /**
+ * Verifies an IamPolicyAnalysisResult message.
+ * @param message Plain 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 IamPolicyAnalysisResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysisResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisResult;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisResult message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysisResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysisResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicyAnalysisResult {
+
+ /** Properties of a Resource. */
+ interface IResource {
+
+ /** Resource fullResourceName */
+ fullResourceName?: (string|null);
+
+ /** Resource analysisState */
+ analysisState?: (google.cloud.asset.v1.IIamPolicyAnalysisState|null);
+ }
+
+ /** Represents a Resource. */
+ class Resource implements IResource {
+
+ /**
+ * Constructs a new Resource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IResource);
+
+ /** Resource fullResourceName. */
+ public fullResourceName: string;
+
+ /** Resource analysisState. */
+ public analysisState?: (google.cloud.asset.v1.IIamPolicyAnalysisState|null);
+
+ /**
+ * Creates a new Resource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Resource instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IResource): google.cloud.asset.v1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Encodes the specified Resource message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Resource message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Verifies a Resource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Resource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Resource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Creates a plain object from a Resource message. Also converts values to other types if specified.
+ * @param message Resource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisResult.Resource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Resource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Resource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Access. */
+ interface IAccess {
+
+ /** Access role */
+ role?: (string|null);
+
+ /** Access permission */
+ permission?: (string|null);
+
+ /** Access analysisState */
+ analysisState?: (google.cloud.asset.v1.IIamPolicyAnalysisState|null);
+ }
+
+ /** Represents an Access. */
+ class Access implements IAccess {
+
+ /**
+ * Constructs a new Access.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccess);
+
+ /** Access role. */
+ public role?: (string|null);
+
+ /** Access permission. */
+ public permission?: (string|null);
+
+ /** Access analysisState. */
+ public analysisState?: (google.cloud.asset.v1.IIamPolicyAnalysisState|null);
+
+ /** Access oneofAccess. */
+ public oneofAccess?: ("role"|"permission");
+
+ /**
+ * Creates a new Access instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Access instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccess): google.cloud.asset.v1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Encodes the specified Access message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Access.verify|verify} messages.
+ * @param message Access message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccess, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Access message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Access.verify|verify} messages.
+ * @param message Access message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccess, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Access message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Access
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Decodes an Access message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Access
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Verifies an Access message.
+ * @param message Plain 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 Access message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Access
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Creates a plain object from an Access message. Also converts values to other types if specified.
+ * @param message Access
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisResult.Access, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Access to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Access
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Identity. */
+ interface IIdentity {
+
+ /** Identity name */
+ name?: (string|null);
+
+ /** Identity analysisState */
+ analysisState?: (google.cloud.asset.v1.IIamPolicyAnalysisState|null);
+ }
+
+ /** Represents an Identity. */
+ class Identity implements IIdentity {
+
+ /**
+ * Constructs a new Identity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentity);
+
+ /** Identity name. */
+ public name: string;
+
+ /** Identity analysisState. */
+ public analysisState?: (google.cloud.asset.v1.IIamPolicyAnalysisState|null);
+
+ /**
+ * Creates a new Identity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Identity instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentity): google.cloud.asset.v1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Encodes the specified Identity message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Identity.verify|verify} messages.
+ * @param message Identity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Identity message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Identity.verify|verify} messages.
+ * @param message Identity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Identity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Identity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Decodes an Identity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Identity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Verifies an Identity message.
+ * @param message Plain 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 Identity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Identity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Creates a plain object from an Identity message. Also converts values to other types if specified.
+ * @param message Identity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisResult.Identity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Identity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Identity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Edge. */
+ interface IEdge {
+
+ /** Edge sourceNode */
+ sourceNode?: (string|null);
+
+ /** Edge targetNode */
+ targetNode?: (string|null);
+ }
+
+ /** Represents an Edge. */
+ class Edge implements IEdge {
+
+ /**
+ * Constructs a new Edge.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge);
+
+ /** Edge sourceNode. */
+ public sourceNode: string;
+
+ /** Edge targetNode. */
+ public targetNode: string;
+
+ /**
+ * Creates a new Edge instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Edge instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge): google.cloud.asset.v1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Encodes the specified Edge message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.verify|verify} messages.
+ * @param message Edge message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Edge message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.verify|verify} messages.
+ * @param message Edge message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Edge message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Edge
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Decodes an Edge message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Edge
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Verifies an Edge message.
+ * @param message Plain 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 Edge message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Edge
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Creates a plain object from an Edge message. Also converts values to other types if specified.
+ * @param message Edge
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisResult.Edge, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Edge to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Edge
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AccessControlList. */
+ interface IAccessControlList {
+
+ /** AccessControlList resources */
+ resources?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IResource[]|null);
+
+ /** AccessControlList accesses */
+ accesses?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IAccess[]|null);
+
+ /** AccessControlList resourceEdges */
+ resourceEdges?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge[]|null);
+
+ /** AccessControlList conditionEvaluation */
+ conditionEvaluation?: (google.cloud.asset.v1.IConditionEvaluation|null);
+ }
+
+ /** Represents an AccessControlList. */
+ class AccessControlList implements IAccessControlList {
+
+ /**
+ * Constructs a new AccessControlList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccessControlList);
+
+ /** AccessControlList resources. */
+ public resources: google.cloud.asset.v1.IamPolicyAnalysisResult.IResource[];
+
+ /** AccessControlList accesses. */
+ public accesses: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccess[];
+
+ /** AccessControlList resourceEdges. */
+ public resourceEdges: google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge[];
+
+ /** AccessControlList conditionEvaluation. */
+ public conditionEvaluation?: (google.cloud.asset.v1.IConditionEvaluation|null);
+
+ /**
+ * Creates a new AccessControlList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessControlList instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccessControlList): google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Encodes the specified AccessControlList message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList.verify|verify} messages.
+ * @param message AccessControlList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccessControlList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessControlList message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList.verify|verify} messages.
+ * @param message AccessControlList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IAccessControlList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessControlList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessControlList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Decodes an AccessControlList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessControlList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Verifies an AccessControlList message.
+ * @param message Plain 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 AccessControlList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessControlList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Creates a plain object from an AccessControlList message. Also converts values to other types if specified.
+ * @param message AccessControlList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessControlList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessControlList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IdentityList. */
+ interface IIdentityList {
+
+ /** IdentityList identities */
+ identities?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentity[]|null);
+
+ /** IdentityList groupEdges */
+ groupEdges?: (google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge[]|null);
+ }
+
+ /** Represents an IdentityList. */
+ class IdentityList implements IIdentityList {
+
+ /**
+ * Constructs a new IdentityList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentityList);
+
+ /** IdentityList identities. */
+ public identities: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentity[];
+
+ /** IdentityList groupEdges. */
+ public groupEdges: google.cloud.asset.v1.IamPolicyAnalysisResult.IEdge[];
+
+ /**
+ * Creates a new IdentityList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IdentityList instance
+ */
+ public static create(properties?: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentityList): google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Encodes the specified IdentityList message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.verify|verify} messages.
+ * @param message IdentityList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentityList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IdentityList message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.verify|verify} messages.
+ * @param message IdentityList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IIdentityList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IdentityList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IdentityList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Decodes an IdentityList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IdentityList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Verifies an IdentityList message.
+ * @param message Plain 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 IdentityList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IdentityList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Creates a plain object from an IdentityList message. Also converts values to other types if specified.
+ * @param message IdentityList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IdentityList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IdentityList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Namespace v1p1beta1. */
+ namespace v1p1beta1 {
+
+ /** Represents an AssetService */
+ class AssetService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new AssetService 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 AssetService 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): AssetService;
+
+ /**
+ * Calls SearchAllResources.
+ * @param request SearchAllResourcesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchAllResourcesResponse
+ */
+ public searchAllResources(request: google.cloud.asset.v1p1beta1.ISearchAllResourcesRequest, callback: google.cloud.asset.v1p1beta1.AssetService.SearchAllResourcesCallback): void;
+
+ /**
+ * Calls SearchAllResources.
+ * @param request SearchAllResourcesRequest message or plain object
+ * @returns Promise
+ */
+ public searchAllResources(request: google.cloud.asset.v1p1beta1.ISearchAllResourcesRequest): Promise;
+
+ /**
+ * Calls SearchAllIamPolicies.
+ * @param request SearchAllIamPoliciesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and SearchAllIamPoliciesResponse
+ */
+ public searchAllIamPolicies(request: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesRequest, callback: google.cloud.asset.v1p1beta1.AssetService.SearchAllIamPoliciesCallback): void;
+
+ /**
+ * Calls SearchAllIamPolicies.
+ * @param request SearchAllIamPoliciesRequest message or plain object
+ * @returns Promise
+ */
+ public searchAllIamPolicies(request: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesRequest): Promise;
+ }
+
+ namespace AssetService {
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p1beta1.AssetService|searchAllResources}.
+ * @param error Error, if any
+ * @param [response] SearchAllResourcesResponse
+ */
+ type SearchAllResourcesCallback = (error: (Error|null), response?: google.cloud.asset.v1p1beta1.SearchAllResourcesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p1beta1.AssetService|searchAllIamPolicies}.
+ * @param error Error, if any
+ * @param [response] SearchAllIamPoliciesResponse
+ */
+ type SearchAllIamPoliciesCallback = (error: (Error|null), response?: google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse) => void;
+ }
+
+ /** Properties of a SearchAllResourcesRequest. */
+ interface ISearchAllResourcesRequest {
+
+ /** SearchAllResourcesRequest scope */
+ scope?: (string|null);
+
+ /** SearchAllResourcesRequest query */
+ query?: (string|null);
+
+ /** SearchAllResourcesRequest assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** SearchAllResourcesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchAllResourcesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** SearchAllResourcesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a SearchAllResourcesRequest. */
+ class SearchAllResourcesRequest implements ISearchAllResourcesRequest {
+
+ /**
+ * Constructs a new SearchAllResourcesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.ISearchAllResourcesRequest);
+
+ /** SearchAllResourcesRequest scope. */
+ public scope: string;
+
+ /** SearchAllResourcesRequest query. */
+ public query: string;
+
+ /** SearchAllResourcesRequest assetTypes. */
+ public assetTypes: string[];
+
+ /** SearchAllResourcesRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchAllResourcesRequest pageToken. */
+ public pageToken: string;
+
+ /** SearchAllResourcesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new SearchAllResourcesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllResourcesRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.ISearchAllResourcesRequest): google.cloud.asset.v1p1beta1.SearchAllResourcesRequest;
+
+ /**
+ * Encodes the specified SearchAllResourcesRequest message. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllResourcesRequest.verify|verify} messages.
+ * @param message SearchAllResourcesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.ISearchAllResourcesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllResourcesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllResourcesRequest.verify|verify} messages.
+ * @param message SearchAllResourcesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.ISearchAllResourcesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllResourcesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllResourcesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.SearchAllResourcesRequest;
+
+ /**
+ * Decodes a SearchAllResourcesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllResourcesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.SearchAllResourcesRequest;
+
+ /**
+ * Verifies a SearchAllResourcesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllResourcesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllResourcesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.SearchAllResourcesRequest;
+
+ /**
+ * Creates a plain object from a SearchAllResourcesRequest message. Also converts values to other types if specified.
+ * @param message SearchAllResourcesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.SearchAllResourcesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllResourcesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllResourcesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchAllResourcesResponse. */
+ interface ISearchAllResourcesResponse {
+
+ /** SearchAllResourcesResponse results */
+ results?: (google.cloud.asset.v1p1beta1.IStandardResourceMetadata[]|null);
+
+ /** SearchAllResourcesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a SearchAllResourcesResponse. */
+ class SearchAllResourcesResponse implements ISearchAllResourcesResponse {
+
+ /**
+ * Constructs a new SearchAllResourcesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.ISearchAllResourcesResponse);
+
+ /** SearchAllResourcesResponse results. */
+ public results: google.cloud.asset.v1p1beta1.IStandardResourceMetadata[];
+
+ /** SearchAllResourcesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new SearchAllResourcesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllResourcesResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.ISearchAllResourcesResponse): google.cloud.asset.v1p1beta1.SearchAllResourcesResponse;
+
+ /**
+ * Encodes the specified SearchAllResourcesResponse message. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllResourcesResponse.verify|verify} messages.
+ * @param message SearchAllResourcesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.ISearchAllResourcesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllResourcesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllResourcesResponse.verify|verify} messages.
+ * @param message SearchAllResourcesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.ISearchAllResourcesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllResourcesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllResourcesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.SearchAllResourcesResponse;
+
+ /**
+ * Decodes a SearchAllResourcesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllResourcesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.SearchAllResourcesResponse;
+
+ /**
+ * Verifies a SearchAllResourcesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllResourcesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllResourcesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.SearchAllResourcesResponse;
+
+ /**
+ * Creates a plain object from a SearchAllResourcesResponse message. Also converts values to other types if specified.
+ * @param message SearchAllResourcesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.SearchAllResourcesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllResourcesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllResourcesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchAllIamPoliciesRequest. */
+ interface ISearchAllIamPoliciesRequest {
+
+ /** SearchAllIamPoliciesRequest scope */
+ scope?: (string|null);
+
+ /** SearchAllIamPoliciesRequest query */
+ query?: (string|null);
+
+ /** SearchAllIamPoliciesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** SearchAllIamPoliciesRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a SearchAllIamPoliciesRequest. */
+ class SearchAllIamPoliciesRequest implements ISearchAllIamPoliciesRequest {
+
+ /**
+ * Constructs a new SearchAllIamPoliciesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesRequest);
+
+ /** SearchAllIamPoliciesRequest scope. */
+ public scope: string;
+
+ /** SearchAllIamPoliciesRequest query. */
+ public query: string;
+
+ /** SearchAllIamPoliciesRequest pageSize. */
+ public pageSize: number;
+
+ /** SearchAllIamPoliciesRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new SearchAllIamPoliciesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllIamPoliciesRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesRequest): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesRequest message. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllIamPoliciesRequest.verify|verify} messages.
+ * @param message SearchAllIamPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllIamPoliciesRequest.verify|verify} messages.
+ * @param message SearchAllIamPoliciesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllIamPoliciesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Decodes a SearchAllIamPoliciesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Verifies a SearchAllIamPoliciesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllIamPoliciesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllIamPoliciesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesRequest;
+
+ /**
+ * Creates a plain object from a SearchAllIamPoliciesRequest message. Also converts values to other types if specified.
+ * @param message SearchAllIamPoliciesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.SearchAllIamPoliciesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllIamPoliciesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllIamPoliciesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SearchAllIamPoliciesResponse. */
+ interface ISearchAllIamPoliciesResponse {
+
+ /** SearchAllIamPoliciesResponse results */
+ results?: (google.cloud.asset.v1p1beta1.IIamPolicySearchResult[]|null);
+
+ /** SearchAllIamPoliciesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a SearchAllIamPoliciesResponse. */
+ class SearchAllIamPoliciesResponse implements ISearchAllIamPoliciesResponse {
+
+ /**
+ * Constructs a new SearchAllIamPoliciesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesResponse);
+
+ /** SearchAllIamPoliciesResponse results. */
+ public results: google.cloud.asset.v1p1beta1.IIamPolicySearchResult[];
+
+ /** SearchAllIamPoliciesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new SearchAllIamPoliciesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SearchAllIamPoliciesResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesResponse): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesResponse message. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse.verify|verify} messages.
+ * @param message SearchAllIamPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse.verify|verify} messages.
+ * @param message SearchAllIamPoliciesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.ISearchAllIamPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SearchAllIamPoliciesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SearchAllIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Decodes a SearchAllIamPoliciesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SearchAllIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Verifies a SearchAllIamPoliciesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SearchAllIamPoliciesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SearchAllIamPoliciesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse;
+
+ /**
+ * Creates a plain object from a SearchAllIamPoliciesResponse message. Also converts values to other types if specified.
+ * @param message SearchAllIamPoliciesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.SearchAllIamPoliciesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SearchAllIamPoliciesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SearchAllIamPoliciesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StandardResourceMetadata. */
+ interface IStandardResourceMetadata {
+
+ /** StandardResourceMetadata name */
+ name?: (string|null);
+
+ /** StandardResourceMetadata assetType */
+ assetType?: (string|null);
+
+ /** StandardResourceMetadata project */
+ project?: (string|null);
+
+ /** StandardResourceMetadata displayName */
+ displayName?: (string|null);
+
+ /** StandardResourceMetadata description */
+ description?: (string|null);
+
+ /** StandardResourceMetadata additionalAttributes */
+ additionalAttributes?: (string[]|null);
+
+ /** StandardResourceMetadata location */
+ location?: (string|null);
+
+ /** StandardResourceMetadata labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** StandardResourceMetadata networkTags */
+ networkTags?: (string[]|null);
+ }
+
+ /** Represents a StandardResourceMetadata. */
+ class StandardResourceMetadata implements IStandardResourceMetadata {
+
+ /**
+ * Constructs a new StandardResourceMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.IStandardResourceMetadata);
+
+ /** StandardResourceMetadata name. */
+ public name: string;
+
+ /** StandardResourceMetadata assetType. */
+ public assetType: string;
+
+ /** StandardResourceMetadata project. */
+ public project: string;
+
+ /** StandardResourceMetadata displayName. */
+ public displayName: string;
+
+ /** StandardResourceMetadata description. */
+ public description: string;
+
+ /** StandardResourceMetadata additionalAttributes. */
+ public additionalAttributes: string[];
+
+ /** StandardResourceMetadata location. */
+ public location: string;
+
+ /** StandardResourceMetadata labels. */
+ public labels: { [k: string]: string };
+
+ /** StandardResourceMetadata networkTags. */
+ public networkTags: string[];
+
+ /**
+ * Creates a new StandardResourceMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StandardResourceMetadata instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.IStandardResourceMetadata): google.cloud.asset.v1p1beta1.StandardResourceMetadata;
+
+ /**
+ * Encodes the specified StandardResourceMetadata message. Does not implicitly {@link google.cloud.asset.v1p1beta1.StandardResourceMetadata.verify|verify} messages.
+ * @param message StandardResourceMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.IStandardResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StandardResourceMetadata message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.StandardResourceMetadata.verify|verify} messages.
+ * @param message StandardResourceMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.IStandardResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StandardResourceMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StandardResourceMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.StandardResourceMetadata;
+
+ /**
+ * Decodes a StandardResourceMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StandardResourceMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.StandardResourceMetadata;
+
+ /**
+ * Verifies a StandardResourceMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StandardResourceMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StandardResourceMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.StandardResourceMetadata;
+
+ /**
+ * Creates a plain object from a StandardResourceMetadata message. Also converts values to other types if specified.
+ * @param message StandardResourceMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.StandardResourceMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StandardResourceMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StandardResourceMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IamPolicySearchResult. */
+ interface IIamPolicySearchResult {
+
+ /** IamPolicySearchResult resource */
+ resource?: (string|null);
+
+ /** IamPolicySearchResult project */
+ project?: (string|null);
+
+ /** IamPolicySearchResult policy */
+ policy?: (google.iam.v1.IPolicy|null);
+
+ /** IamPolicySearchResult explanation */
+ explanation?: (google.cloud.asset.v1p1beta1.IamPolicySearchResult.IExplanation|null);
+ }
+
+ /** Represents an IamPolicySearchResult. */
+ class IamPolicySearchResult implements IIamPolicySearchResult {
+
+ /**
+ * Constructs a new IamPolicySearchResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.IIamPolicySearchResult);
+
+ /** IamPolicySearchResult resource. */
+ public resource: string;
+
+ /** IamPolicySearchResult project. */
+ public project: string;
+
+ /** IamPolicySearchResult policy. */
+ public policy?: (google.iam.v1.IPolicy|null);
+
+ /** IamPolicySearchResult explanation. */
+ public explanation?: (google.cloud.asset.v1p1beta1.IamPolicySearchResult.IExplanation|null);
+
+ /**
+ * Creates a new IamPolicySearchResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicySearchResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.IIamPolicySearchResult): google.cloud.asset.v1p1beta1.IamPolicySearchResult;
+
+ /**
+ * Encodes the specified IamPolicySearchResult message. Does not implicitly {@link google.cloud.asset.v1p1beta1.IamPolicySearchResult.verify|verify} messages.
+ * @param message IamPolicySearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.IIamPolicySearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicySearchResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.IamPolicySearchResult.verify|verify} messages.
+ * @param message IamPolicySearchResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.IIamPolicySearchResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicySearchResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicySearchResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.IamPolicySearchResult;
+
+ /**
+ * Decodes an IamPolicySearchResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicySearchResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.IamPolicySearchResult;
+
+ /**
+ * Verifies an IamPolicySearchResult message.
+ * @param message Plain 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 IamPolicySearchResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicySearchResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.IamPolicySearchResult;
+
+ /**
+ * Creates a plain object from an IamPolicySearchResult message. Also converts values to other types if specified.
+ * @param message IamPolicySearchResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.IamPolicySearchResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicySearchResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicySearchResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicySearchResult {
+
+ /** Properties of an Explanation. */
+ interface IExplanation {
+
+ /** Explanation matchedPermissions */
+ matchedPermissions?: ({ [k: string]: google.cloud.asset.v1p1beta1.IPermissions }|null);
+ }
+
+ /** Represents an Explanation. */
+ class Explanation implements IExplanation {
+
+ /**
+ * Constructs a new Explanation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.IamPolicySearchResult.IExplanation);
+
+ /** Explanation matchedPermissions. */
+ public matchedPermissions: { [k: string]: google.cloud.asset.v1p1beta1.IPermissions };
+
+ /**
+ * Creates a new Explanation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Explanation instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.IamPolicySearchResult.IExplanation): google.cloud.asset.v1p1beta1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Encodes the specified Explanation message. Does not implicitly {@link google.cloud.asset.v1p1beta1.IamPolicySearchResult.Explanation.verify|verify} messages.
+ * @param message Explanation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.IamPolicySearchResult.IExplanation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Explanation message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.IamPolicySearchResult.Explanation.verify|verify} messages.
+ * @param message Explanation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.IamPolicySearchResult.IExplanation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Explanation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Explanation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Decodes an Explanation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Explanation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Verifies an Explanation message.
+ * @param message Plain 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 Explanation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Explanation
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.IamPolicySearchResult.Explanation;
+
+ /**
+ * Creates a plain object from an Explanation message. Also converts values to other types if specified.
+ * @param message Explanation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.IamPolicySearchResult.Explanation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Explanation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Explanation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Permissions. */
+ interface IPermissions {
+
+ /** Permissions permissions */
+ permissions?: (string[]|null);
+ }
+
+ /** Represents a Permissions. */
+ class Permissions implements IPermissions {
+
+ /**
+ * Constructs a new Permissions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p1beta1.IPermissions);
+
+ /** Permissions permissions. */
+ public permissions: string[];
+
+ /**
+ * Creates a new Permissions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Permissions instance
+ */
+ public static create(properties?: google.cloud.asset.v1p1beta1.IPermissions): google.cloud.asset.v1p1beta1.Permissions;
+
+ /**
+ * Encodes the specified Permissions message. Does not implicitly {@link google.cloud.asset.v1p1beta1.Permissions.verify|verify} messages.
+ * @param message Permissions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p1beta1.IPermissions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Permissions message, length delimited. Does not implicitly {@link google.cloud.asset.v1p1beta1.Permissions.verify|verify} messages.
+ * @param message Permissions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p1beta1.IPermissions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Permissions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Permissions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p1beta1.Permissions;
+
+ /**
+ * Decodes a Permissions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Permissions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p1beta1.Permissions;
+
+ /**
+ * Verifies a Permissions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Permissions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Permissions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p1beta1.Permissions;
+
+ /**
+ * Creates a plain object from a Permissions message. Also converts values to other types if specified.
+ * @param message Permissions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p1beta1.Permissions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Permissions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Permissions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v1p2beta1. */
+ namespace v1p2beta1 {
+
+ /** Represents an AssetService */
+ class AssetService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new AssetService 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 AssetService 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): AssetService;
+
+ /**
+ * Calls CreateFeed.
+ * @param request CreateFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Feed
+ */
+ public createFeed(request: google.cloud.asset.v1p2beta1.ICreateFeedRequest, callback: google.cloud.asset.v1p2beta1.AssetService.CreateFeedCallback): void;
+
+ /**
+ * Calls CreateFeed.
+ * @param request CreateFeedRequest message or plain object
+ * @returns Promise
+ */
+ public createFeed(request: google.cloud.asset.v1p2beta1.ICreateFeedRequest): Promise;
+
+ /**
+ * Calls GetFeed.
+ * @param request GetFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Feed
+ */
+ public getFeed(request: google.cloud.asset.v1p2beta1.IGetFeedRequest, callback: google.cloud.asset.v1p2beta1.AssetService.GetFeedCallback): void;
+
+ /**
+ * Calls GetFeed.
+ * @param request GetFeedRequest message or plain object
+ * @returns Promise
+ */
+ public getFeed(request: google.cloud.asset.v1p2beta1.IGetFeedRequest): Promise;
+
+ /**
+ * Calls ListFeeds.
+ * @param request ListFeedsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListFeedsResponse
+ */
+ public listFeeds(request: google.cloud.asset.v1p2beta1.IListFeedsRequest, callback: google.cloud.asset.v1p2beta1.AssetService.ListFeedsCallback): void;
+
+ /**
+ * Calls ListFeeds.
+ * @param request ListFeedsRequest message or plain object
+ * @returns Promise
+ */
+ public listFeeds(request: google.cloud.asset.v1p2beta1.IListFeedsRequest): Promise;
+
+ /**
+ * Calls UpdateFeed.
+ * @param request UpdateFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Feed
+ */
+ public updateFeed(request: google.cloud.asset.v1p2beta1.IUpdateFeedRequest, callback: google.cloud.asset.v1p2beta1.AssetService.UpdateFeedCallback): void;
+
+ /**
+ * Calls UpdateFeed.
+ * @param request UpdateFeedRequest message or plain object
+ * @returns Promise
+ */
+ public updateFeed(request: google.cloud.asset.v1p2beta1.IUpdateFeedRequest): Promise;
+
+ /**
+ * Calls DeleteFeed.
+ * @param request DeleteFeedRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteFeed(request: google.cloud.asset.v1p2beta1.IDeleteFeedRequest, callback: google.cloud.asset.v1p2beta1.AssetService.DeleteFeedCallback): void;
+
+ /**
+ * Calls DeleteFeed.
+ * @param request DeleteFeedRequest message or plain object
+ * @returns Promise
+ */
+ public deleteFeed(request: google.cloud.asset.v1p2beta1.IDeleteFeedRequest): Promise;
+ }
+
+ namespace AssetService {
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p2beta1.AssetService|createFeed}.
+ * @param error Error, if any
+ * @param [response] Feed
+ */
+ type CreateFeedCallback = (error: (Error|null), response?: google.cloud.asset.v1p2beta1.Feed) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p2beta1.AssetService|getFeed}.
+ * @param error Error, if any
+ * @param [response] Feed
+ */
+ type GetFeedCallback = (error: (Error|null), response?: google.cloud.asset.v1p2beta1.Feed) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p2beta1.AssetService|listFeeds}.
+ * @param error Error, if any
+ * @param [response] ListFeedsResponse
+ */
+ type ListFeedsCallback = (error: (Error|null), response?: google.cloud.asset.v1p2beta1.ListFeedsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p2beta1.AssetService|updateFeed}.
+ * @param error Error, if any
+ * @param [response] Feed
+ */
+ type UpdateFeedCallback = (error: (Error|null), response?: google.cloud.asset.v1p2beta1.Feed) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p2beta1.AssetService|deleteFeed}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteFeedCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a CreateFeedRequest. */
+ interface ICreateFeedRequest {
+
+ /** CreateFeedRequest parent */
+ parent?: (string|null);
+
+ /** CreateFeedRequest feedId */
+ feedId?: (string|null);
+
+ /** CreateFeedRequest feed */
+ feed?: (google.cloud.asset.v1p2beta1.IFeed|null);
+ }
+
+ /** Represents a CreateFeedRequest. */
+ class CreateFeedRequest implements ICreateFeedRequest {
+
+ /**
+ * Constructs a new CreateFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.ICreateFeedRequest);
+
+ /** CreateFeedRequest parent. */
+ public parent: string;
+
+ /** CreateFeedRequest feedId. */
+ public feedId: string;
+
+ /** CreateFeedRequest feed. */
+ public feed?: (google.cloud.asset.v1p2beta1.IFeed|null);
+
+ /**
+ * Creates a new CreateFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.ICreateFeedRequest): google.cloud.asset.v1p2beta1.CreateFeedRequest;
+
+ /**
+ * Encodes the specified CreateFeedRequest message. Does not implicitly {@link google.cloud.asset.v1p2beta1.CreateFeedRequest.verify|verify} messages.
+ * @param message CreateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.ICreateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.CreateFeedRequest.verify|verify} messages.
+ * @param message CreateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.ICreateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.CreateFeedRequest;
+
+ /**
+ * Decodes a CreateFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.CreateFeedRequest;
+
+ /**
+ * Verifies a CreateFeedRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.CreateFeedRequest;
+
+ /**
+ * Creates a plain object from a CreateFeedRequest message. Also converts values to other types if specified.
+ * @param message CreateFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.CreateFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetFeedRequest. */
+ interface IGetFeedRequest {
+
+ /** GetFeedRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetFeedRequest. */
+ class GetFeedRequest implements IGetFeedRequest {
+
+ /**
+ * Constructs a new GetFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IGetFeedRequest);
+
+ /** GetFeedRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IGetFeedRequest): google.cloud.asset.v1p2beta1.GetFeedRequest;
+
+ /**
+ * Encodes the specified GetFeedRequest message. Does not implicitly {@link google.cloud.asset.v1p2beta1.GetFeedRequest.verify|verify} messages.
+ * @param message GetFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IGetFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.GetFeedRequest.verify|verify} messages.
+ * @param message GetFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IGetFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.GetFeedRequest;
+
+ /**
+ * Decodes a GetFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.GetFeedRequest;
+
+ /**
+ * Verifies a GetFeedRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.GetFeedRequest;
+
+ /**
+ * Creates a plain object from a GetFeedRequest message. Also converts values to other types if specified.
+ * @param message GetFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.GetFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListFeedsRequest. */
+ interface IListFeedsRequest {
+
+ /** ListFeedsRequest parent */
+ parent?: (string|null);
+ }
+
+ /** Represents a ListFeedsRequest. */
+ class ListFeedsRequest implements IListFeedsRequest {
+
+ /**
+ * Constructs a new ListFeedsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IListFeedsRequest);
+
+ /** ListFeedsRequest parent. */
+ public parent: string;
+
+ /**
+ * Creates a new ListFeedsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListFeedsRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IListFeedsRequest): google.cloud.asset.v1p2beta1.ListFeedsRequest;
+
+ /**
+ * Encodes the specified ListFeedsRequest message. Does not implicitly {@link google.cloud.asset.v1p2beta1.ListFeedsRequest.verify|verify} messages.
+ * @param message ListFeedsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IListFeedsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListFeedsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.ListFeedsRequest.verify|verify} messages.
+ * @param message ListFeedsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IListFeedsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListFeedsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListFeedsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.ListFeedsRequest;
+
+ /**
+ * Decodes a ListFeedsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListFeedsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.ListFeedsRequest;
+
+ /**
+ * Verifies a ListFeedsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListFeedsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListFeedsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.ListFeedsRequest;
+
+ /**
+ * Creates a plain object from a ListFeedsRequest message. Also converts values to other types if specified.
+ * @param message ListFeedsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.ListFeedsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListFeedsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListFeedsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListFeedsResponse. */
+ interface IListFeedsResponse {
+
+ /** ListFeedsResponse feeds */
+ feeds?: (google.cloud.asset.v1p2beta1.IFeed[]|null);
+ }
+
+ /** Represents a ListFeedsResponse. */
+ class ListFeedsResponse implements IListFeedsResponse {
+
+ /**
+ * Constructs a new ListFeedsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IListFeedsResponse);
+
+ /** ListFeedsResponse feeds. */
+ public feeds: google.cloud.asset.v1p2beta1.IFeed[];
+
+ /**
+ * Creates a new ListFeedsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListFeedsResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IListFeedsResponse): google.cloud.asset.v1p2beta1.ListFeedsResponse;
+
+ /**
+ * Encodes the specified ListFeedsResponse message. Does not implicitly {@link google.cloud.asset.v1p2beta1.ListFeedsResponse.verify|verify} messages.
+ * @param message ListFeedsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IListFeedsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListFeedsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.ListFeedsResponse.verify|verify} messages.
+ * @param message ListFeedsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IListFeedsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListFeedsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListFeedsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.ListFeedsResponse;
+
+ /**
+ * Decodes a ListFeedsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListFeedsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.ListFeedsResponse;
+
+ /**
+ * Verifies a ListFeedsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListFeedsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListFeedsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.ListFeedsResponse;
+
+ /**
+ * Creates a plain object from a ListFeedsResponse message. Also converts values to other types if specified.
+ * @param message ListFeedsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.ListFeedsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListFeedsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListFeedsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateFeedRequest. */
+ interface IUpdateFeedRequest {
+
+ /** UpdateFeedRequest feed */
+ feed?: (google.cloud.asset.v1p2beta1.IFeed|null);
+
+ /** UpdateFeedRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateFeedRequest. */
+ class UpdateFeedRequest implements IUpdateFeedRequest {
+
+ /**
+ * Constructs a new UpdateFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IUpdateFeedRequest);
+
+ /** UpdateFeedRequest feed. */
+ public feed?: (google.cloud.asset.v1p2beta1.IFeed|null);
+
+ /** UpdateFeedRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IUpdateFeedRequest): google.cloud.asset.v1p2beta1.UpdateFeedRequest;
+
+ /**
+ * Encodes the specified UpdateFeedRequest message. Does not implicitly {@link google.cloud.asset.v1p2beta1.UpdateFeedRequest.verify|verify} messages.
+ * @param message UpdateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IUpdateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.UpdateFeedRequest.verify|verify} messages.
+ * @param message UpdateFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IUpdateFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.UpdateFeedRequest;
+
+ /**
+ * Decodes an UpdateFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.UpdateFeedRequest;
+
+ /**
+ * Verifies an UpdateFeedRequest message.
+ * @param message Plain 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 UpdateFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.UpdateFeedRequest;
+
+ /**
+ * Creates a plain object from an UpdateFeedRequest message. Also converts values to other types if specified.
+ * @param message UpdateFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.UpdateFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteFeedRequest. */
+ interface IDeleteFeedRequest {
+
+ /** DeleteFeedRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteFeedRequest. */
+ class DeleteFeedRequest implements IDeleteFeedRequest {
+
+ /**
+ * Constructs a new DeleteFeedRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IDeleteFeedRequest);
+
+ /** DeleteFeedRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteFeedRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteFeedRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IDeleteFeedRequest): google.cloud.asset.v1p2beta1.DeleteFeedRequest;
+
+ /**
+ * Encodes the specified DeleteFeedRequest message. Does not implicitly {@link google.cloud.asset.v1p2beta1.DeleteFeedRequest.verify|verify} messages.
+ * @param message DeleteFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IDeleteFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.DeleteFeedRequest.verify|verify} messages.
+ * @param message DeleteFeedRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IDeleteFeedRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteFeedRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.DeleteFeedRequest;
+
+ /**
+ * Decodes a DeleteFeedRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.DeleteFeedRequest;
+
+ /**
+ * Verifies a DeleteFeedRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteFeedRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.DeleteFeedRequest;
+
+ /**
+ * Creates a plain object from a DeleteFeedRequest message. Also converts values to other types if specified.
+ * @param message DeleteFeedRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.DeleteFeedRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteFeedRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteFeedRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OutputConfig. */
+ interface IOutputConfig {
+
+ /** OutputConfig gcsDestination */
+ gcsDestination?: (google.cloud.asset.v1p2beta1.IGcsDestination|null);
+ }
+
+ /** Represents an OutputConfig. */
+ class OutputConfig implements IOutputConfig {
+
+ /**
+ * Constructs a new OutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IOutputConfig);
+
+ /** OutputConfig gcsDestination. */
+ public gcsDestination?: (google.cloud.asset.v1p2beta1.IGcsDestination|null);
+
+ /** OutputConfig destination. */
+ public destination?: "gcsDestination";
+
+ /**
+ * Creates a new OutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputConfig instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IOutputConfig): google.cloud.asset.v1p2beta1.OutputConfig;
+
+ /**
+ * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.asset.v1p2beta1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.OutputConfig.verify|verify} messages.
+ * @param message OutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.OutputConfig;
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.OutputConfig;
+
+ /**
+ * Verifies an OutputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.OutputConfig;
+
+ /**
+ * Creates a plain object from an OutputConfig message. Also converts values to other types if specified.
+ * @param message OutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.OutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GcsDestination. */
+ interface IGcsDestination {
+
+ /** GcsDestination uri */
+ uri?: (string|null);
+ }
+
+ /** Represents a GcsDestination. */
+ class GcsDestination implements IGcsDestination {
+
+ /**
+ * Constructs a new GcsDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IGcsDestination);
+
+ /** GcsDestination uri. */
+ public uri?: (string|null);
+
+ /** GcsDestination objectUri. */
+ public objectUri?: "uri";
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IGcsDestination): google.cloud.asset.v1p2beta1.GcsDestination;
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.asset.v1p2beta1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.GcsDestination;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.GcsDestination;
+
+ /**
+ * Verifies a GcsDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.GcsDestination;
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @param message GcsDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PubsubDestination. */
+ interface IPubsubDestination {
+
+ /** PubsubDestination topic */
+ topic?: (string|null);
+ }
+
+ /** Represents a PubsubDestination. */
+ class PubsubDestination implements IPubsubDestination {
+
+ /**
+ * Constructs a new PubsubDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IPubsubDestination);
+
+ /** PubsubDestination topic. */
+ public topic: string;
+
+ /**
+ * Creates a new PubsubDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PubsubDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IPubsubDestination): google.cloud.asset.v1p2beta1.PubsubDestination;
+
+ /**
+ * Encodes the specified PubsubDestination message. Does not implicitly {@link google.cloud.asset.v1p2beta1.PubsubDestination.verify|verify} messages.
+ * @param message PubsubDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IPubsubDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PubsubDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.PubsubDestination.verify|verify} messages.
+ * @param message PubsubDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IPubsubDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PubsubDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PubsubDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.PubsubDestination;
+
+ /**
+ * Decodes a PubsubDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PubsubDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.PubsubDestination;
+
+ /**
+ * Verifies a PubsubDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PubsubDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PubsubDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.PubsubDestination;
+
+ /**
+ * Creates a plain object from a PubsubDestination message. Also converts values to other types if specified.
+ * @param message PubsubDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.PubsubDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PubsubDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PubsubDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FeedOutputConfig. */
+ interface IFeedOutputConfig {
+
+ /** FeedOutputConfig pubsubDestination */
+ pubsubDestination?: (google.cloud.asset.v1p2beta1.IPubsubDestination|null);
+ }
+
+ /** Represents a FeedOutputConfig. */
+ class FeedOutputConfig implements IFeedOutputConfig {
+
+ /**
+ * Constructs a new FeedOutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IFeedOutputConfig);
+
+ /** FeedOutputConfig pubsubDestination. */
+ public pubsubDestination?: (google.cloud.asset.v1p2beta1.IPubsubDestination|null);
+
+ /** FeedOutputConfig destination. */
+ public destination?: "pubsubDestination";
+
+ /**
+ * Creates a new FeedOutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FeedOutputConfig instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IFeedOutputConfig): google.cloud.asset.v1p2beta1.FeedOutputConfig;
+
+ /**
+ * Encodes the specified FeedOutputConfig message. Does not implicitly {@link google.cloud.asset.v1p2beta1.FeedOutputConfig.verify|verify} messages.
+ * @param message FeedOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IFeedOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FeedOutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.FeedOutputConfig.verify|verify} messages.
+ * @param message FeedOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IFeedOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FeedOutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FeedOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.FeedOutputConfig;
+
+ /**
+ * Decodes a FeedOutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FeedOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.FeedOutputConfig;
+
+ /**
+ * Verifies a FeedOutputConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FeedOutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FeedOutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.FeedOutputConfig;
+
+ /**
+ * Creates a plain object from a FeedOutputConfig message. Also converts values to other types if specified.
+ * @param message FeedOutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.FeedOutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FeedOutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FeedOutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Feed. */
+ interface IFeed {
+
+ /** Feed name */
+ name?: (string|null);
+
+ /** Feed assetNames */
+ assetNames?: (string[]|null);
+
+ /** Feed assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** Feed contentType */
+ contentType?: (google.cloud.asset.v1p2beta1.ContentType|keyof typeof google.cloud.asset.v1p2beta1.ContentType|null);
+
+ /** Feed feedOutputConfig */
+ feedOutputConfig?: (google.cloud.asset.v1p2beta1.IFeedOutputConfig|null);
+ }
+
+ /** Represents a Feed. */
+ class Feed implements IFeed {
+
+ /**
+ * Constructs a new Feed.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IFeed);
+
+ /** Feed name. */
+ public name: string;
+
+ /** Feed assetNames. */
+ public assetNames: string[];
+
+ /** Feed assetTypes. */
+ public assetTypes: string[];
+
+ /** Feed contentType. */
+ public contentType: (google.cloud.asset.v1p2beta1.ContentType|keyof typeof google.cloud.asset.v1p2beta1.ContentType);
+
+ /** Feed feedOutputConfig. */
+ public feedOutputConfig?: (google.cloud.asset.v1p2beta1.IFeedOutputConfig|null);
+
+ /**
+ * Creates a new Feed instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Feed instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IFeed): google.cloud.asset.v1p2beta1.Feed;
+
+ /**
+ * Encodes the specified Feed message. Does not implicitly {@link google.cloud.asset.v1p2beta1.Feed.verify|verify} messages.
+ * @param message Feed message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IFeed, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Feed message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.Feed.verify|verify} messages.
+ * @param message Feed message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IFeed, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Feed message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Feed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.Feed;
+
+ /**
+ * Decodes a Feed message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Feed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.Feed;
+
+ /**
+ * Verifies a Feed message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Feed message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Feed
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.Feed;
+
+ /**
+ * Creates a plain object from a Feed message. Also converts values to other types if specified.
+ * @param message Feed
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.Feed, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Feed to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Feed
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** ContentType enum. */
+ enum ContentType {
+ CONTENT_TYPE_UNSPECIFIED = 0,
+ RESOURCE = 1,
+ IAM_POLICY = 2
+ }
+
+ /** Properties of a TemporalAsset. */
+ interface ITemporalAsset {
+
+ /** TemporalAsset window */
+ window?: (google.cloud.asset.v1p2beta1.ITimeWindow|null);
+
+ /** TemporalAsset deleted */
+ deleted?: (boolean|null);
+
+ /** TemporalAsset asset */
+ asset?: (google.cloud.asset.v1p2beta1.IAsset|null);
+ }
+
+ /** Represents a TemporalAsset. */
+ class TemporalAsset implements ITemporalAsset {
+
+ /**
+ * Constructs a new TemporalAsset.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.ITemporalAsset);
+
+ /** TemporalAsset window. */
+ public window?: (google.cloud.asset.v1p2beta1.ITimeWindow|null);
+
+ /** TemporalAsset deleted. */
+ public deleted: boolean;
+
+ /** TemporalAsset asset. */
+ public asset?: (google.cloud.asset.v1p2beta1.IAsset|null);
+
+ /**
+ * Creates a new TemporalAsset instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TemporalAsset instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.ITemporalAsset): google.cloud.asset.v1p2beta1.TemporalAsset;
+
+ /**
+ * Encodes the specified TemporalAsset message. Does not implicitly {@link google.cloud.asset.v1p2beta1.TemporalAsset.verify|verify} messages.
+ * @param message TemporalAsset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.ITemporalAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TemporalAsset message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.TemporalAsset.verify|verify} messages.
+ * @param message TemporalAsset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.ITemporalAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TemporalAsset message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TemporalAsset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.TemporalAsset;
+
+ /**
+ * Decodes a TemporalAsset message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TemporalAsset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.TemporalAsset;
+
+ /**
+ * Verifies a TemporalAsset message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TemporalAsset message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TemporalAsset
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.TemporalAsset;
+
+ /**
+ * Creates a plain object from a TemporalAsset message. Also converts values to other types if specified.
+ * @param message TemporalAsset
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.TemporalAsset, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TemporalAsset to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TemporalAsset
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeWindow. */
+ interface ITimeWindow {
+
+ /** TimeWindow startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeWindow endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TimeWindow. */
+ class TimeWindow implements ITimeWindow {
+
+ /**
+ * Constructs a new TimeWindow.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.ITimeWindow);
+
+ /** TimeWindow startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimeWindow endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TimeWindow instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeWindow instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.ITimeWindow): google.cloud.asset.v1p2beta1.TimeWindow;
+
+ /**
+ * Encodes the specified TimeWindow message. Does not implicitly {@link google.cloud.asset.v1p2beta1.TimeWindow.verify|verify} messages.
+ * @param message TimeWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.ITimeWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeWindow message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.TimeWindow.verify|verify} messages.
+ * @param message TimeWindow message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.ITimeWindow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeWindow message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.TimeWindow;
+
+ /**
+ * Decodes a TimeWindow message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeWindow
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.TimeWindow;
+
+ /**
+ * Verifies a TimeWindow message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeWindow message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeWindow
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.TimeWindow;
+
+ /**
+ * Creates a plain object from a TimeWindow message. Also converts values to other types if specified.
+ * @param message TimeWindow
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.TimeWindow, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeWindow to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeWindow
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Asset. */
+ interface IAsset {
+
+ /** Asset name */
+ name?: (string|null);
+
+ /** Asset assetType */
+ assetType?: (string|null);
+
+ /** Asset resource */
+ resource?: (google.cloud.asset.v1p2beta1.IResource|null);
+
+ /** Asset iamPolicy */
+ iamPolicy?: (google.iam.v1.IPolicy|null);
+
+ /** Asset ancestors */
+ ancestors?: (string[]|null);
+ }
+
+ /** Represents an Asset. */
+ class Asset implements IAsset {
+
+ /**
+ * Constructs a new Asset.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IAsset);
+
+ /** Asset name. */
+ public name: string;
+
+ /** Asset assetType. */
+ public assetType: string;
+
+ /** Asset resource. */
+ public resource?: (google.cloud.asset.v1p2beta1.IResource|null);
+
+ /** Asset iamPolicy. */
+ public iamPolicy?: (google.iam.v1.IPolicy|null);
+
+ /** Asset ancestors. */
+ public ancestors: string[];
+
+ /**
+ * Creates a new Asset instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Asset instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IAsset): google.cloud.asset.v1p2beta1.Asset;
+
+ /**
+ * Encodes the specified Asset message. Does not implicitly {@link google.cloud.asset.v1p2beta1.Asset.verify|verify} messages.
+ * @param message Asset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Asset message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.Asset.verify|verify} messages.
+ * @param message Asset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Asset message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Asset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.Asset;
+
+ /**
+ * Decodes an Asset message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Asset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.Asset;
+
+ /**
+ * Verifies an Asset message.
+ * @param message Plain 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 Asset message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Asset
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.Asset;
+
+ /**
+ * Creates a plain object from an Asset message. Also converts values to other types if specified.
+ * @param message Asset
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.Asset, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Asset to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Asset
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Resource. */
+ interface IResource {
+
+ /** Resource version */
+ version?: (string|null);
+
+ /** Resource discoveryDocumentUri */
+ discoveryDocumentUri?: (string|null);
+
+ /** Resource discoveryName */
+ discoveryName?: (string|null);
+
+ /** Resource resourceUrl */
+ resourceUrl?: (string|null);
+
+ /** Resource parent */
+ parent?: (string|null);
+
+ /** Resource data */
+ data?: (google.protobuf.IStruct|null);
+ }
+
+ /** Represents a Resource. */
+ class Resource implements IResource {
+
+ /**
+ * Constructs a new Resource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p2beta1.IResource);
+
+ /** Resource version. */
+ public version: string;
+
+ /** Resource discoveryDocumentUri. */
+ public discoveryDocumentUri: string;
+
+ /** Resource discoveryName. */
+ public discoveryName: string;
+
+ /** Resource resourceUrl. */
+ public resourceUrl: string;
+
+ /** Resource parent. */
+ public parent: string;
+
+ /** Resource data. */
+ public data?: (google.protobuf.IStruct|null);
+
+ /**
+ * Creates a new Resource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Resource instance
+ */
+ public static create(properties?: google.cloud.asset.v1p2beta1.IResource): google.cloud.asset.v1p2beta1.Resource;
+
+ /**
+ * Encodes the specified Resource message. Does not implicitly {@link google.cloud.asset.v1p2beta1.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p2beta1.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Resource message, length delimited. Does not implicitly {@link google.cloud.asset.v1p2beta1.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p2beta1.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p2beta1.Resource;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p2beta1.Resource;
+
+ /**
+ * Verifies a Resource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Resource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Resource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p2beta1.Resource;
+
+ /**
+ * Creates a plain object from a Resource message. Also converts values to other types if specified.
+ * @param message Resource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p2beta1.Resource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Resource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Resource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v1p4beta1. */
+ namespace v1p4beta1 {
+
+ /** Represents an AssetService */
+ class AssetService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new AssetService 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 AssetService 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): AssetService;
+
+ /**
+ * Calls AnalyzeIamPolicy.
+ * @param request AnalyzeIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and AnalyzeIamPolicyResponse
+ */
+ public analyzeIamPolicy(request: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyRequest, callback: google.cloud.asset.v1p4beta1.AssetService.AnalyzeIamPolicyCallback): void;
+
+ /**
+ * Calls AnalyzeIamPolicy.
+ * @param request AnalyzeIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public analyzeIamPolicy(request: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyRequest): Promise;
+
+ /**
+ * Calls ExportIamPolicyAnalysis.
+ * @param request ExportIamPolicyAnalysisRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public exportIamPolicyAnalysis(request: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisRequest, callback: google.cloud.asset.v1p4beta1.AssetService.ExportIamPolicyAnalysisCallback): void;
+
+ /**
+ * Calls ExportIamPolicyAnalysis.
+ * @param request ExportIamPolicyAnalysisRequest message or plain object
+ * @returns Promise
+ */
+ public exportIamPolicyAnalysis(request: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisRequest): Promise;
+ }
+
+ namespace AssetService {
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p4beta1.AssetService|analyzeIamPolicy}.
+ * @param error Error, if any
+ * @param [response] AnalyzeIamPolicyResponse
+ */
+ type AnalyzeIamPolicyCallback = (error: (Error|null), response?: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p4beta1.AssetService|exportIamPolicyAnalysis}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ExportIamPolicyAnalysisCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an IamPolicyAnalysisQuery. */
+ interface IIamPolicyAnalysisQuery {
+
+ /** IamPolicyAnalysisQuery parent */
+ parent?: (string|null);
+
+ /** IamPolicyAnalysisQuery resourceSelector */
+ resourceSelector?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IResourceSelector|null);
+
+ /** IamPolicyAnalysisQuery identitySelector */
+ identitySelector?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IIdentitySelector|null);
+
+ /** IamPolicyAnalysisQuery accessSelector */
+ accessSelector?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IAccessSelector|null);
+ }
+
+ /** Represents an IamPolicyAnalysisQuery. */
+ class IamPolicyAnalysisQuery implements IIamPolicyAnalysisQuery {
+
+ /**
+ * Constructs a new IamPolicyAnalysisQuery.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery);
+
+ /** IamPolicyAnalysisQuery parent. */
+ public parent: string;
+
+ /** IamPolicyAnalysisQuery resourceSelector. */
+ public resourceSelector?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IResourceSelector|null);
+
+ /** IamPolicyAnalysisQuery identitySelector. */
+ public identitySelector?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IIdentitySelector|null);
+
+ /** IamPolicyAnalysisQuery accessSelector. */
+ public accessSelector?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IAccessSelector|null);
+
+ /**
+ * Creates a new IamPolicyAnalysisQuery instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysisQuery instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisQuery message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.verify|verify} messages.
+ * @param message IamPolicyAnalysisQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisQuery message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.verify|verify} messages.
+ * @param message IamPolicyAnalysisQuery message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysisQuery message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysisQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery;
+
+ /**
+ * Decodes an IamPolicyAnalysisQuery message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysisQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery;
+
+ /**
+ * Verifies an IamPolicyAnalysisQuery message.
+ * @param message Plain 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 IamPolicyAnalysisQuery message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysisQuery
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisQuery message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysisQuery
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysisQuery to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisQuery
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicyAnalysisQuery {
+
+ /** Properties of a ResourceSelector. */
+ interface IResourceSelector {
+
+ /** ResourceSelector fullResourceName */
+ fullResourceName?: (string|null);
+ }
+
+ /** Represents a ResourceSelector. */
+ class ResourceSelector implements IResourceSelector {
+
+ /**
+ * Constructs a new ResourceSelector.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IResourceSelector);
+
+ /** ResourceSelector fullResourceName. */
+ public fullResourceName: string;
+
+ /**
+ * Creates a new ResourceSelector instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceSelector instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IResourceSelector): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Encodes the specified ResourceSelector message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector.verify|verify} messages.
+ * @param message ResourceSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IResourceSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceSelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector.verify|verify} messages.
+ * @param message ResourceSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IResourceSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceSelector message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Decodes a ResourceSelector message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Verifies a ResourceSelector message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceSelector message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceSelector
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector;
+
+ /**
+ * Creates a plain object from a ResourceSelector message. Also converts values to other types if specified.
+ * @param message ResourceSelector
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.ResourceSelector, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceSelector to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceSelector
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IdentitySelector. */
+ interface IIdentitySelector {
+
+ /** IdentitySelector identity */
+ identity?: (string|null);
+ }
+
+ /** Represents an IdentitySelector. */
+ class IdentitySelector implements IIdentitySelector {
+
+ /**
+ * Constructs a new IdentitySelector.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IIdentitySelector);
+
+ /** IdentitySelector identity. */
+ public identity: string;
+
+ /**
+ * Creates a new IdentitySelector instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IdentitySelector instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IIdentitySelector): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Encodes the specified IdentitySelector message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector.verify|verify} messages.
+ * @param message IdentitySelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IIdentitySelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IdentitySelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector.verify|verify} messages.
+ * @param message IdentitySelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IIdentitySelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IdentitySelector message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IdentitySelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Decodes an IdentitySelector message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IdentitySelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Verifies an IdentitySelector message.
+ * @param message Plain 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 IdentitySelector message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IdentitySelector
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector;
+
+ /**
+ * Creates a plain object from an IdentitySelector message. Also converts values to other types if specified.
+ * @param message IdentitySelector
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IdentitySelector, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IdentitySelector to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IdentitySelector
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AccessSelector. */
+ interface IAccessSelector {
+
+ /** AccessSelector roles */
+ roles?: (string[]|null);
+
+ /** AccessSelector permissions */
+ permissions?: (string[]|null);
+ }
+
+ /** Represents an AccessSelector. */
+ class AccessSelector implements IAccessSelector {
+
+ /**
+ * Constructs a new AccessSelector.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IAccessSelector);
+
+ /** AccessSelector roles. */
+ public roles: string[];
+
+ /** AccessSelector permissions. */
+ public permissions: string[];
+
+ /**
+ * Creates a new AccessSelector instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessSelector instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IAccessSelector): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Encodes the specified AccessSelector message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector.verify|verify} messages.
+ * @param message AccessSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IAccessSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessSelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector.verify|verify} messages.
+ * @param message AccessSelector message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.IAccessSelector, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessSelector message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Decodes an AccessSelector message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Verifies an AccessSelector message.
+ * @param message Plain 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 AccessSelector message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessSelector
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector;
+
+ /**
+ * Creates a plain object from an AccessSelector message. Also converts values to other types if specified.
+ * @param message AccessSelector
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisQuery.AccessSelector, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessSelector to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessSelector
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an AnalyzeIamPolicyRequest. */
+ interface IAnalyzeIamPolicyRequest {
+
+ /** AnalyzeIamPolicyRequest analysisQuery */
+ analysisQuery?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery|null);
+
+ /** AnalyzeIamPolicyRequest options */
+ options?: (google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.IOptions|null);
+ }
+
+ /** Represents an AnalyzeIamPolicyRequest. */
+ class AnalyzeIamPolicyRequest implements IAnalyzeIamPolicyRequest {
+
+ /**
+ * Constructs a new AnalyzeIamPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyRequest);
+
+ /** AnalyzeIamPolicyRequest analysisQuery. */
+ public analysisQuery?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery|null);
+
+ /** AnalyzeIamPolicyRequest options. */
+ public options?: (google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.IOptions|null);
+
+ /**
+ * Creates a new AnalyzeIamPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeIamPolicyRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyRequest): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyRequest message. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.verify|verify} messages.
+ * @param message AnalyzeIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.verify|verify} messages.
+ * @param message AnalyzeIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeIamPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Decodes an AnalyzeIamPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Verifies an AnalyzeIamPolicyRequest message.
+ * @param message Plain 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 AnalyzeIamPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeIamPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest;
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyRequest message. Also converts values to other types if specified.
+ * @param message AnalyzeIamPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeIamPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AnalyzeIamPolicyRequest {
+
+ /** Properties of an Options. */
+ interface IOptions {
+
+ /** Options expandGroups */
+ expandGroups?: (boolean|null);
+
+ /** Options expandRoles */
+ expandRoles?: (boolean|null);
+
+ /** Options expandResources */
+ expandResources?: (boolean|null);
+
+ /** Options outputResourceEdges */
+ outputResourceEdges?: (boolean|null);
+
+ /** Options outputGroupEdges */
+ outputGroupEdges?: (boolean|null);
+
+ /** Options analyzeServiceAccountImpersonation */
+ analyzeServiceAccountImpersonation?: (boolean|null);
+
+ /** Options executionTimeout */
+ executionTimeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents an Options. */
+ class Options implements IOptions {
+
+ /**
+ * Constructs a new Options.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.IOptions);
+
+ /** Options expandGroups. */
+ public expandGroups: boolean;
+
+ /** Options expandRoles. */
+ public expandRoles: boolean;
+
+ /** Options expandResources. */
+ public expandResources: boolean;
+
+ /** Options outputResourceEdges. */
+ public outputResourceEdges: boolean;
+
+ /** Options outputGroupEdges. */
+ public outputGroupEdges: boolean;
+
+ /** Options analyzeServiceAccountImpersonation. */
+ public analyzeServiceAccountImpersonation: boolean;
+
+ /** Options executionTimeout. */
+ public executionTimeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new Options instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Options instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.IOptions): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options;
+
+ /**
+ * Encodes the specified Options message. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options.verify|verify} messages.
+ * @param message Options message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.IOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Options message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options.verify|verify} messages.
+ * @param message Options message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.IOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Options message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options;
+
+ /**
+ * Decodes an Options message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options;
+
+ /**
+ * Verifies an Options message.
+ * @param message Plain 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 Options message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Options
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options;
+
+ /**
+ * Creates a plain object from an Options message. Also converts values to other types if specified.
+ * @param message Options
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyRequest.Options, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Options to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Options
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an AnalyzeIamPolicyResponse. */
+ interface IAnalyzeIamPolicyResponse {
+
+ /** AnalyzeIamPolicyResponse mainAnalysis */
+ mainAnalysis?: (google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis|null);
+
+ /** AnalyzeIamPolicyResponse serviceAccountImpersonationAnalysis */
+ serviceAccountImpersonationAnalysis?: (google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis[]|null);
+
+ /** AnalyzeIamPolicyResponse fullyExplored */
+ fullyExplored?: (boolean|null);
+
+ /** AnalyzeIamPolicyResponse nonCriticalErrors */
+ nonCriticalErrors?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState[]|null);
+ }
+
+ /** Represents an AnalyzeIamPolicyResponse. */
+ class AnalyzeIamPolicyResponse implements IAnalyzeIamPolicyResponse {
+
+ /**
+ * Constructs a new AnalyzeIamPolicyResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyResponse);
+
+ /** AnalyzeIamPolicyResponse mainAnalysis. */
+ public mainAnalysis?: (google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis|null);
+
+ /** AnalyzeIamPolicyResponse serviceAccountImpersonationAnalysis. */
+ public serviceAccountImpersonationAnalysis: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis[];
+
+ /** AnalyzeIamPolicyResponse fullyExplored. */
+ public fullyExplored: boolean;
+
+ /** AnalyzeIamPolicyResponse nonCriticalErrors. */
+ public nonCriticalErrors: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState[];
+
+ /**
+ * Creates a new AnalyzeIamPolicyResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeIamPolicyResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyResponse): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyResponse message. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.verify|verify} messages.
+ * @param message AnalyzeIamPolicyResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.verify|verify} messages.
+ * @param message AnalyzeIamPolicyResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IAnalyzeIamPolicyResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeIamPolicyResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeIamPolicyResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Decodes an AnalyzeIamPolicyResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeIamPolicyResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Verifies an AnalyzeIamPolicyResponse message.
+ * @param message Plain 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 AnalyzeIamPolicyResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeIamPolicyResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse;
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyResponse message. Also converts values to other types if specified.
+ * @param message AnalyzeIamPolicyResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeIamPolicyResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AnalyzeIamPolicyResponse {
+
+ /** Properties of an IamPolicyAnalysis. */
+ interface IIamPolicyAnalysis {
+
+ /** IamPolicyAnalysis analysisQuery */
+ analysisQuery?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery|null);
+
+ /** IamPolicyAnalysis analysisResults */
+ analysisResults?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisResult[]|null);
+
+ /** IamPolicyAnalysis fullyExplored */
+ fullyExplored?: (boolean|null);
+ }
+
+ /** Represents an IamPolicyAnalysis. */
+ class IamPolicyAnalysis implements IIamPolicyAnalysis {
+
+ /**
+ * Constructs a new IamPolicyAnalysis.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis);
+
+ /** IamPolicyAnalysis analysisQuery. */
+ public analysisQuery?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery|null);
+
+ /** IamPolicyAnalysis analysisResults. */
+ public analysisResults: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisResult[];
+
+ /** IamPolicyAnalysis fullyExplored. */
+ public fullyExplored: boolean;
+
+ /**
+ * Creates a new IamPolicyAnalysis instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysis instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Encodes the specified IamPolicyAnalysis message. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.verify|verify} messages.
+ * @param message IamPolicyAnalysis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysis message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.verify|verify} messages.
+ * @param message IamPolicyAnalysis message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysis message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Decodes an IamPolicyAnalysis message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysis
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Verifies an IamPolicyAnalysis message.
+ * @param message Plain 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 IamPolicyAnalysis message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysis
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysis message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysis
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.AnalyzeIamPolicyResponse.IamPolicyAnalysis, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysis to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysis
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an IamPolicyAnalysisOutputConfig. */
+ interface IIamPolicyAnalysisOutputConfig {
+
+ /** IamPolicyAnalysisOutputConfig gcsDestination */
+ gcsDestination?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.IGcsDestination|null);
+ }
+
+ /** Represents an IamPolicyAnalysisOutputConfig. */
+ class IamPolicyAnalysisOutputConfig implements IIamPolicyAnalysisOutputConfig {
+
+ /**
+ * Constructs a new IamPolicyAnalysisOutputConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig);
+
+ /** IamPolicyAnalysisOutputConfig gcsDestination. */
+ public gcsDestination?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.IGcsDestination|null);
+
+ /** IamPolicyAnalysisOutputConfig destination. */
+ public destination?: "gcsDestination";
+
+ /**
+ * Creates a new IamPolicyAnalysisOutputConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysisOutputConfig instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisOutputConfig message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.verify|verify} messages.
+ * @param message IamPolicyAnalysisOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisOutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.verify|verify} messages.
+ * @param message IamPolicyAnalysisOutputConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysisOutputConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysisOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Decodes an IamPolicyAnalysisOutputConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysisOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Verifies an IamPolicyAnalysisOutputConfig message.
+ * @param message Plain 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 IamPolicyAnalysisOutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysisOutputConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisOutputConfig message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysisOutputConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysisOutputConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisOutputConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicyAnalysisOutputConfig {
+
+ /** Properties of a GcsDestination. */
+ interface IGcsDestination {
+
+ /** GcsDestination uri */
+ uri?: (string|null);
+ }
+
+ /** Represents a GcsDestination. */
+ class GcsDestination implements IGcsDestination {
+
+ /**
+ * Constructs a new GcsDestination.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.IGcsDestination);
+
+ /** GcsDestination uri. */
+ public uri: string;
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GcsDestination instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.IGcsDestination): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination.verify|verify} messages.
+ * @param message GcsDestination message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Verifies a GcsDestination message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GcsDestination
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination;
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @param message GcsDestination
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisOutputConfig.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExportIamPolicyAnalysisRequest. */
+ interface IExportIamPolicyAnalysisRequest {
+
+ /** ExportIamPolicyAnalysisRequest analysisQuery */
+ analysisQuery?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery|null);
+
+ /** ExportIamPolicyAnalysisRequest options */
+ options?: (google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.IOptions|null);
+
+ /** ExportIamPolicyAnalysisRequest outputConfig */
+ outputConfig?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig|null);
+ }
+
+ /** Represents an ExportIamPolicyAnalysisRequest. */
+ class ExportIamPolicyAnalysisRequest implements IExportIamPolicyAnalysisRequest {
+
+ /**
+ * Constructs a new ExportIamPolicyAnalysisRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisRequest);
+
+ /** ExportIamPolicyAnalysisRequest analysisQuery. */
+ public analysisQuery?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisQuery|null);
+
+ /** ExportIamPolicyAnalysisRequest options. */
+ public options?: (google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.IOptions|null);
+
+ /** ExportIamPolicyAnalysisRequest outputConfig. */
+ public outputConfig?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig|null);
+
+ /**
+ * Creates a new ExportIamPolicyAnalysisRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportIamPolicyAnalysisRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisRequest): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest;
+
+ /**
+ * Encodes the specified ExportIamPolicyAnalysisRequest message. Does not implicitly {@link google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.verify|verify} messages.
+ * @param message ExportIamPolicyAnalysisRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportIamPolicyAnalysisRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.verify|verify} messages.
+ * @param message ExportIamPolicyAnalysisRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportIamPolicyAnalysisRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportIamPolicyAnalysisRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest;
+
+ /**
+ * Decodes an ExportIamPolicyAnalysisRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportIamPolicyAnalysisRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest;
+
+ /**
+ * Verifies an ExportIamPolicyAnalysisRequest message.
+ * @param message Plain 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 ExportIamPolicyAnalysisRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportIamPolicyAnalysisRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest;
+
+ /**
+ * Creates a plain object from an ExportIamPolicyAnalysisRequest message. Also converts values to other types if specified.
+ * @param message ExportIamPolicyAnalysisRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportIamPolicyAnalysisRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportIamPolicyAnalysisRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ExportIamPolicyAnalysisRequest {
+
+ /** Properties of an Options. */
+ interface IOptions {
+
+ /** Options expandGroups */
+ expandGroups?: (boolean|null);
+
+ /** Options expandRoles */
+ expandRoles?: (boolean|null);
+
+ /** Options expandResources */
+ expandResources?: (boolean|null);
+
+ /** Options outputResourceEdges */
+ outputResourceEdges?: (boolean|null);
+
+ /** Options outputGroupEdges */
+ outputGroupEdges?: (boolean|null);
+
+ /** Options analyzeServiceAccountImpersonation */
+ analyzeServiceAccountImpersonation?: (boolean|null);
+ }
+
+ /** Represents an Options. */
+ class Options implements IOptions {
+
+ /**
+ * Constructs a new Options.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.IOptions);
+
+ /** Options expandGroups. */
+ public expandGroups: boolean;
+
+ /** Options expandRoles. */
+ public expandRoles: boolean;
+
+ /** Options expandResources. */
+ public expandResources: boolean;
+
+ /** Options outputResourceEdges. */
+ public outputResourceEdges: boolean;
+
+ /** Options outputGroupEdges. */
+ public outputGroupEdges: boolean;
+
+ /** Options analyzeServiceAccountImpersonation. */
+ public analyzeServiceAccountImpersonation: boolean;
+
+ /**
+ * Creates a new Options instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Options instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.IOptions): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options;
+
+ /**
+ * Encodes the specified Options message. Does not implicitly {@link google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options.verify|verify} messages.
+ * @param message Options message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.IOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Options message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options.verify|verify} messages.
+ * @param message Options message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.IOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Options message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options;
+
+ /**
+ * Decodes an Options message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options;
+
+ /**
+ * Verifies an Options message.
+ * @param message Plain 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 Options message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Options
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options;
+
+ /**
+ * Creates a plain object from an Options message. Also converts values to other types if specified.
+ * @param message Options
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisRequest.Options, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Options to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Options
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExportIamPolicyAnalysisResponse. */
+ interface IExportIamPolicyAnalysisResponse {
+
+ /** ExportIamPolicyAnalysisResponse outputConfig */
+ outputConfig?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig|null);
+ }
+
+ /** Represents an ExportIamPolicyAnalysisResponse. */
+ class ExportIamPolicyAnalysisResponse implements IExportIamPolicyAnalysisResponse {
+
+ /**
+ * Constructs a new ExportIamPolicyAnalysisResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisResponse);
+
+ /** ExportIamPolicyAnalysisResponse outputConfig. */
+ public outputConfig?: (google.cloud.asset.v1p4beta1.IIamPolicyAnalysisOutputConfig|null);
+
+ /**
+ * Creates a new ExportIamPolicyAnalysisResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExportIamPolicyAnalysisResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisResponse): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse;
+
+ /**
+ * Encodes the specified ExportIamPolicyAnalysisResponse message. Does not implicitly {@link google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse.verify|verify} messages.
+ * @param message ExportIamPolicyAnalysisResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExportIamPolicyAnalysisResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse.verify|verify} messages.
+ * @param message ExportIamPolicyAnalysisResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IExportIamPolicyAnalysisResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExportIamPolicyAnalysisResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExportIamPolicyAnalysisResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse;
+
+ /**
+ * Decodes an ExportIamPolicyAnalysisResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExportIamPolicyAnalysisResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse;
+
+ /**
+ * Verifies an ExportIamPolicyAnalysisResponse message.
+ * @param message Plain 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 ExportIamPolicyAnalysisResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExportIamPolicyAnalysisResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse;
+
+ /**
+ * Creates a plain object from an ExportIamPolicyAnalysisResponse message. Also converts values to other types if specified.
+ * @param message ExportIamPolicyAnalysisResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.ExportIamPolicyAnalysisResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExportIamPolicyAnalysisResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExportIamPolicyAnalysisResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IamPolicyAnalysisResult. */
+ interface IIamPolicyAnalysisResult {
+
+ /** IamPolicyAnalysisResult attachedResourceFullName */
+ attachedResourceFullName?: (string|null);
+
+ /** IamPolicyAnalysisResult iamBinding */
+ iamBinding?: (google.iam.v1.IBinding|null);
+
+ /** IamPolicyAnalysisResult accessControlLists */
+ accessControlLists?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccessControlList[]|null);
+
+ /** IamPolicyAnalysisResult identityList */
+ identityList?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentityList|null);
+
+ /** IamPolicyAnalysisResult fullyExplored */
+ fullyExplored?: (boolean|null);
+ }
+
+ /** Represents an IamPolicyAnalysisResult. */
+ class IamPolicyAnalysisResult implements IIamPolicyAnalysisResult {
+
+ /**
+ * Constructs a new IamPolicyAnalysisResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisResult);
+
+ /** IamPolicyAnalysisResult attachedResourceFullName. */
+ public attachedResourceFullName: string;
+
+ /** IamPolicyAnalysisResult iamBinding. */
+ public iamBinding?: (google.iam.v1.IBinding|null);
+
+ /** IamPolicyAnalysisResult accessControlLists. */
+ public accessControlLists: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccessControlList[];
+
+ /** IamPolicyAnalysisResult identityList. */
+ public identityList?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentityList|null);
+
+ /** IamPolicyAnalysisResult fullyExplored. */
+ public fullyExplored: boolean;
+
+ /**
+ * Creates a new IamPolicyAnalysisResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IamPolicyAnalysisResult instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisResult): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisResult message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.verify|verify} messages.
+ * @param message IamPolicyAnalysisResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IamPolicyAnalysisResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.verify|verify} messages.
+ * @param message IamPolicyAnalysisResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IIamPolicyAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IamPolicyAnalysisResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IamPolicyAnalysisResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult;
+
+ /**
+ * Decodes an IamPolicyAnalysisResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IamPolicyAnalysisResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult;
+
+ /**
+ * Verifies an IamPolicyAnalysisResult message.
+ * @param message Plain 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 IamPolicyAnalysisResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IamPolicyAnalysisResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult;
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisResult message. Also converts values to other types if specified.
+ * @param message IamPolicyAnalysisResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IamPolicyAnalysisResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisResult
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IamPolicyAnalysisResult {
+
+ /** Properties of an AnalysisState. */
+ interface IAnalysisState {
+
+ /** AnalysisState code */
+ code?: (google.rpc.Code|keyof typeof google.rpc.Code|null);
+
+ /** AnalysisState cause */
+ cause?: (string|null);
+ }
+
+ /** Represents an AnalysisState. */
+ class AnalysisState implements IAnalysisState {
+
+ /**
+ * Constructs a new AnalysisState.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState);
+
+ /** AnalysisState code. */
+ public code: (google.rpc.Code|keyof typeof google.rpc.Code);
+
+ /** AnalysisState cause. */
+ public cause: string;
+
+ /**
+ * Creates a new AnalysisState instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalysisState instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState;
+
+ /**
+ * Encodes the specified AnalysisState message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState.verify|verify} messages.
+ * @param message AnalysisState message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalysisState message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState.verify|verify} messages.
+ * @param message AnalysisState message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalysisState message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalysisState
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState;
+
+ /**
+ * Decodes an AnalysisState message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalysisState
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState;
+
+ /**
+ * Verifies an AnalysisState message.
+ * @param message Plain 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 AnalysisState message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalysisState
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState;
+
+ /**
+ * Creates a plain object from an AnalysisState message. Also converts values to other types if specified.
+ * @param message AnalysisState
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AnalysisState, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalysisState to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AnalysisState
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Resource. */
+ interface IResource {
+
+ /** Resource fullResourceName */
+ fullResourceName?: (string|null);
+
+ /** Resource analysisState */
+ analysisState?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState|null);
+ }
+
+ /** Represents a Resource. */
+ class Resource implements IResource {
+
+ /**
+ * Constructs a new Resource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IResource);
+
+ /** Resource fullResourceName. */
+ public fullResourceName: string;
+
+ /** Resource analysisState. */
+ public analysisState?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState|null);
+
+ /**
+ * Creates a new Resource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Resource instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IResource): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Encodes the specified Resource message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Resource message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Verifies a Resource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Resource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Resource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Resource;
+
+ /**
+ * Creates a plain object from a Resource message. Also converts values to other types if specified.
+ * @param message Resource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Resource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Resource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Resource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Access. */
+ interface IAccess {
+
+ /** Access role */
+ role?: (string|null);
+
+ /** Access permission */
+ permission?: (string|null);
+
+ /** Access analysisState */
+ analysisState?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState|null);
+ }
+
+ /** Represents an Access. */
+ class Access implements IAccess {
+
+ /**
+ * Constructs a new Access.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccess);
+
+ /** Access role. */
+ public role?: (string|null);
+
+ /** Access permission. */
+ public permission?: (string|null);
+
+ /** Access analysisState. */
+ public analysisState?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState|null);
+
+ /** Access oneofAccess. */
+ public oneofAccess?: ("role"|"permission");
+
+ /**
+ * Creates a new Access instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Access instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccess): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Encodes the specified Access message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Access.verify|verify} messages.
+ * @param message Access message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccess, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Access message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Access.verify|verify} messages.
+ * @param message Access message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccess, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Access message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Access
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Decodes an Access message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Access
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Verifies an Access message.
+ * @param message Plain 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 Access message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Access
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Access;
+
+ /**
+ * Creates a plain object from an Access message. Also converts values to other types if specified.
+ * @param message Access
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Access, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Access to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Access
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Edge. */
+ interface IEdge {
+
+ /** Edge sourceNode */
+ sourceNode?: (string|null);
+
+ /** Edge targetNode */
+ targetNode?: (string|null);
+ }
+
+ /** Represents an Edge. */
+ class Edge implements IEdge {
+
+ /**
+ * Constructs a new Edge.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge);
+
+ /** Edge sourceNode. */
+ public sourceNode: string;
+
+ /** Edge targetNode. */
+ public targetNode: string;
+
+ /**
+ * Creates a new Edge instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Edge instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Encodes the specified Edge message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge.verify|verify} messages.
+ * @param message Edge message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Edge message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge.verify|verify} messages.
+ * @param message Edge message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Edge message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Edge
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Decodes an Edge message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Edge
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Verifies an Edge message.
+ * @param message Plain 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 Edge message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Edge
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge;
+
+ /**
+ * Creates a plain object from an Edge message. Also converts values to other types if specified.
+ * @param message Edge
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Edge, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Edge to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Edge
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Identity. */
+ interface IIdentity {
+
+ /** Identity name */
+ name?: (string|null);
+
+ /** Identity analysisState */
+ analysisState?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState|null);
+ }
+
+ /** Represents an Identity. */
+ class Identity implements IIdentity {
+
+ /**
+ * Constructs a new Identity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentity);
+
+ /** Identity name. */
+ public name: string;
+
+ /** Identity analysisState. */
+ public analysisState?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAnalysisState|null);
+
+ /**
+ * Creates a new Identity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Identity instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentity): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Encodes the specified Identity message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Identity.verify|verify} messages.
+ * @param message Identity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Identity message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Identity.verify|verify} messages.
+ * @param message Identity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Identity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Identity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Decodes an Identity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Identity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Verifies an Identity message.
+ * @param message Plain 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 Identity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Identity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Identity;
+
+ /**
+ * Creates a plain object from an Identity message. Also converts values to other types if specified.
+ * @param message Identity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.Identity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Identity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Identity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AccessControlList. */
+ interface IAccessControlList {
+
+ /** AccessControlList resources */
+ resources?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IResource[]|null);
+
+ /** AccessControlList accesses */
+ accesses?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccess[]|null);
+
+ /** AccessControlList resourceEdges */
+ resourceEdges?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge[]|null);
+ }
+
+ /** Represents an AccessControlList. */
+ class AccessControlList implements IAccessControlList {
+
+ /**
+ * Constructs a new AccessControlList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccessControlList);
+
+ /** AccessControlList resources. */
+ public resources: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IResource[];
+
+ /** AccessControlList accesses. */
+ public accesses: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccess[];
+
+ /** AccessControlList resourceEdges. */
+ public resourceEdges: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge[];
+
+ /**
+ * Creates a new AccessControlList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessControlList instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccessControlList): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Encodes the specified AccessControlList message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AccessControlList.verify|verify} messages.
+ * @param message AccessControlList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccessControlList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessControlList message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AccessControlList.verify|verify} messages.
+ * @param message AccessControlList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IAccessControlList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessControlList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessControlList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Decodes an AccessControlList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessControlList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Verifies an AccessControlList message.
+ * @param message Plain 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 AccessControlList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessControlList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AccessControlList;
+
+ /**
+ * Creates a plain object from an AccessControlList message. Also converts values to other types if specified.
+ * @param message AccessControlList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.AccessControlList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessControlList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessControlList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IdentityList. */
+ interface IIdentityList {
+
+ /** IdentityList identities */
+ identities?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentity[]|null);
+
+ /** IdentityList groupEdges */
+ groupEdges?: (google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge[]|null);
+ }
+
+ /** Represents an IdentityList. */
+ class IdentityList implements IIdentityList {
+
+ /**
+ * Constructs a new IdentityList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentityList);
+
+ /** IdentityList identities. */
+ public identities: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentity[];
+
+ /** IdentityList groupEdges. */
+ public groupEdges: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IEdge[];
+
+ /**
+ * Creates a new IdentityList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IdentityList instance
+ */
+ public static create(properties?: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentityList): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Encodes the specified IdentityList message. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList.verify|verify} messages.
+ * @param message IdentityList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentityList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IdentityList message, length delimited. Does not implicitly {@link google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList.verify|verify} messages.
+ * @param message IdentityList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IIdentityList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IdentityList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IdentityList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Decodes an IdentityList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IdentityList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Verifies an IdentityList message.
+ * @param message Plain 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 IdentityList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IdentityList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList;
+
+ /**
+ * Creates a plain object from an IdentityList message. Also converts values to other types if specified.
+ * @param message IdentityList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p4beta1.IamPolicyAnalysisResult.IdentityList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IdentityList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IdentityList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Namespace v1p5beta1. */
+ namespace v1p5beta1 {
+
+ /** Represents an AssetService */
+ class AssetService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new AssetService 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 AssetService 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): AssetService;
+
+ /**
+ * Calls ListAssets.
+ * @param request ListAssetsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListAssetsResponse
+ */
+ public listAssets(request: google.cloud.asset.v1p5beta1.IListAssetsRequest, callback: google.cloud.asset.v1p5beta1.AssetService.ListAssetsCallback): void;
+
+ /**
+ * Calls ListAssets.
+ * @param request ListAssetsRequest message or plain object
+ * @returns Promise
+ */
+ public listAssets(request: google.cloud.asset.v1p5beta1.IListAssetsRequest): Promise;
+ }
+
+ namespace AssetService {
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1p5beta1.AssetService|listAssets}.
+ * @param error Error, if any
+ * @param [response] ListAssetsResponse
+ */
+ type ListAssetsCallback = (error: (Error|null), response?: google.cloud.asset.v1p5beta1.ListAssetsResponse) => void;
+ }
+
+ /** Properties of a ListAssetsRequest. */
+ interface IListAssetsRequest {
+
+ /** ListAssetsRequest parent */
+ parent?: (string|null);
+
+ /** ListAssetsRequest readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsRequest assetTypes */
+ assetTypes?: (string[]|null);
+
+ /** ListAssetsRequest contentType */
+ contentType?: (google.cloud.asset.v1p5beta1.ContentType|keyof typeof google.cloud.asset.v1p5beta1.ContentType|null);
+
+ /** ListAssetsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListAssetsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListAssetsRequest. */
+ class ListAssetsRequest implements IListAssetsRequest {
+
+ /**
+ * Constructs a new ListAssetsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p5beta1.IListAssetsRequest);
+
+ /** ListAssetsRequest parent. */
+ public parent: string;
+
+ /** ListAssetsRequest readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsRequest assetTypes. */
+ public assetTypes: string[];
+
+ /** ListAssetsRequest contentType. */
+ public contentType: (google.cloud.asset.v1p5beta1.ContentType|keyof typeof google.cloud.asset.v1p5beta1.ContentType);
+
+ /** ListAssetsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListAssetsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListAssetsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAssetsRequest instance
+ */
+ public static create(properties?: google.cloud.asset.v1p5beta1.IListAssetsRequest): google.cloud.asset.v1p5beta1.ListAssetsRequest;
+
+ /**
+ * Encodes the specified ListAssetsRequest message. Does not implicitly {@link google.cloud.asset.v1p5beta1.ListAssetsRequest.verify|verify} messages.
+ * @param message ListAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p5beta1.IListAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAssetsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1p5beta1.ListAssetsRequest.verify|verify} messages.
+ * @param message ListAssetsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p5beta1.IListAssetsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAssetsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p5beta1.ListAssetsRequest;
+
+ /**
+ * Decodes a ListAssetsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p5beta1.ListAssetsRequest;
+
+ /**
+ * Verifies a ListAssetsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAssetsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAssetsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p5beta1.ListAssetsRequest;
+
+ /**
+ * Creates a plain object from a ListAssetsRequest message. Also converts values to other types if specified.
+ * @param message ListAssetsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p5beta1.ListAssetsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAssetsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAssetsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** ContentType enum. */
+ enum ContentType {
+ CONTENT_TYPE_UNSPECIFIED = 0,
+ RESOURCE = 1,
+ IAM_POLICY = 2,
+ ORG_POLICY = 4,
+ ACCESS_POLICY = 5
+ }
+
+ /** Properties of a ListAssetsResponse. */
+ interface IListAssetsResponse {
+
+ /** ListAssetsResponse readTime */
+ readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsResponse assets */
+ assets?: (google.cloud.asset.v1p5beta1.IAsset[]|null);
+
+ /** ListAssetsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListAssetsResponse. */
+ class ListAssetsResponse implements IListAssetsResponse {
+
+ /**
+ * Constructs a new ListAssetsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p5beta1.IListAssetsResponse);
+
+ /** ListAssetsResponse readTime. */
+ public readTime?: (google.protobuf.ITimestamp|null);
+
+ /** ListAssetsResponse assets. */
+ public assets: google.cloud.asset.v1p5beta1.IAsset[];
+
+ /** ListAssetsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListAssetsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAssetsResponse instance
+ */
+ public static create(properties?: google.cloud.asset.v1p5beta1.IListAssetsResponse): google.cloud.asset.v1p5beta1.ListAssetsResponse;
+
+ /**
+ * Encodes the specified ListAssetsResponse message. Does not implicitly {@link google.cloud.asset.v1p5beta1.ListAssetsResponse.verify|verify} messages.
+ * @param message ListAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p5beta1.IListAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAssetsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1p5beta1.ListAssetsResponse.verify|verify} messages.
+ * @param message ListAssetsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p5beta1.IListAssetsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAssetsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p5beta1.ListAssetsResponse;
+
+ /**
+ * Decodes a ListAssetsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p5beta1.ListAssetsResponse;
+
+ /**
+ * Verifies a ListAssetsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAssetsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAssetsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p5beta1.ListAssetsResponse;
+
+ /**
+ * Creates a plain object from a ListAssetsResponse message. Also converts values to other types if specified.
+ * @param message ListAssetsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p5beta1.ListAssetsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAssetsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAssetsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Asset. */
+ interface IAsset {
+
+ /** Asset name */
+ name?: (string|null);
+
+ /** Asset assetType */
+ assetType?: (string|null);
+
+ /** Asset resource */
+ resource?: (google.cloud.asset.v1p5beta1.IResource|null);
+
+ /** Asset iamPolicy */
+ iamPolicy?: (google.iam.v1.IPolicy|null);
+
+ /** Asset orgPolicy */
+ orgPolicy?: (google.cloud.orgpolicy.v1.IPolicy[]|null);
+
+ /** Asset accessPolicy */
+ accessPolicy?: (google.identity.accesscontextmanager.v1.IAccessPolicy|null);
+
+ /** Asset accessLevel */
+ accessLevel?: (google.identity.accesscontextmanager.v1.IAccessLevel|null);
+
+ /** Asset servicePerimeter */
+ servicePerimeter?: (google.identity.accesscontextmanager.v1.IServicePerimeter|null);
+
+ /** Asset ancestors */
+ ancestors?: (string[]|null);
+ }
+
+ /** Represents an Asset. */
+ class Asset implements IAsset {
+
+ /**
+ * Constructs a new Asset.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p5beta1.IAsset);
+
+ /** Asset name. */
+ public name: string;
+
+ /** Asset assetType. */
+ public assetType: string;
+
+ /** Asset resource. */
+ public resource?: (google.cloud.asset.v1p5beta1.IResource|null);
+
+ /** Asset iamPolicy. */
+ public iamPolicy?: (google.iam.v1.IPolicy|null);
+
+ /** Asset orgPolicy. */
+ public orgPolicy: google.cloud.orgpolicy.v1.IPolicy[];
+
+ /** Asset accessPolicy. */
+ public accessPolicy?: (google.identity.accesscontextmanager.v1.IAccessPolicy|null);
+
+ /** Asset accessLevel. */
+ public accessLevel?: (google.identity.accesscontextmanager.v1.IAccessLevel|null);
+
+ /** Asset servicePerimeter. */
+ public servicePerimeter?: (google.identity.accesscontextmanager.v1.IServicePerimeter|null);
+
+ /** Asset ancestors. */
+ public ancestors: string[];
+
+ /** Asset accessContextPolicy. */
+ public accessContextPolicy?: ("accessPolicy"|"accessLevel"|"servicePerimeter");
+
+ /**
+ * Creates a new Asset instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Asset instance
+ */
+ public static create(properties?: google.cloud.asset.v1p5beta1.IAsset): google.cloud.asset.v1p5beta1.Asset;
+
+ /**
+ * Encodes the specified Asset message. Does not implicitly {@link google.cloud.asset.v1p5beta1.Asset.verify|verify} messages.
+ * @param message Asset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p5beta1.IAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Asset message, length delimited. Does not implicitly {@link google.cloud.asset.v1p5beta1.Asset.verify|verify} messages.
+ * @param message Asset message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p5beta1.IAsset, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Asset message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Asset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p5beta1.Asset;
+
+ /**
+ * Decodes an Asset message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Asset
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p5beta1.Asset;
+
+ /**
+ * Verifies an Asset message.
+ * @param message Plain 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 Asset message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Asset
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p5beta1.Asset;
+
+ /**
+ * Creates a plain object from an Asset message. Also converts values to other types if specified.
+ * @param message Asset
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p5beta1.Asset, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Asset to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Asset
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Resource. */
+ interface IResource {
+
+ /** Resource version */
+ version?: (string|null);
+
+ /** Resource discoveryDocumentUri */
+ discoveryDocumentUri?: (string|null);
+
+ /** Resource discoveryName */
+ discoveryName?: (string|null);
+
+ /** Resource resourceUrl */
+ resourceUrl?: (string|null);
+
+ /** Resource parent */
+ parent?: (string|null);
+
+ /** Resource data */
+ data?: (google.protobuf.IStruct|null);
+ }
+
+ /** Represents a Resource. */
+ class Resource implements IResource {
+
+ /**
+ * Constructs a new Resource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.asset.v1p5beta1.IResource);
+
+ /** Resource version. */
+ public version: string;
+
+ /** Resource discoveryDocumentUri. */
+ public discoveryDocumentUri: string;
+
+ /** Resource discoveryName. */
+ public discoveryName: string;
+
+ /** Resource resourceUrl. */
+ public resourceUrl: string;
+
+ /** Resource parent. */
+ public parent: string;
+
+ /** Resource data. */
+ public data?: (google.protobuf.IStruct|null);
+
+ /**
+ * Creates a new Resource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Resource instance
+ */
+ public static create(properties?: google.cloud.asset.v1p5beta1.IResource): google.cloud.asset.v1p5beta1.Resource;
+
+ /**
+ * Encodes the specified Resource message. Does not implicitly {@link google.cloud.asset.v1p5beta1.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.asset.v1p5beta1.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Resource message, length delimited. Does not implicitly {@link google.cloud.asset.v1p5beta1.Resource.verify|verify} messages.
+ * @param message Resource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.asset.v1p5beta1.IResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.asset.v1p5beta1.Resource;
+
+ /**
+ * Decodes a Resource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Resource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.asset.v1p5beta1.Resource;
+
+ /**
+ * Verifies a Resource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Resource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Resource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.asset.v1p5beta1.Resource;
+
+ /**
+ * Creates a plain object from a Resource message. Also converts values to other types if specified.
+ * @param message Resource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.asset.v1p5beta1.Resource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Resource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Resource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Namespace orgpolicy. */
+ namespace orgpolicy {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of a Policy. */
+ interface IPolicy {
+
+ /** Policy version */
+ version?: (number|null);
+
+ /** Policy constraint */
+ constraint?: (string|null);
+
+ /** Policy etag */
+ etag?: (Uint8Array|string|null);
+
+ /** Policy updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Policy listPolicy */
+ listPolicy?: (google.cloud.orgpolicy.v1.Policy.IListPolicy|null);
+
+ /** Policy booleanPolicy */
+ booleanPolicy?: (google.cloud.orgpolicy.v1.Policy.IBooleanPolicy|null);
+
+ /** Policy restoreDefault */
+ restoreDefault?: (google.cloud.orgpolicy.v1.Policy.IRestoreDefault|null);
+ }
+
+ /** Represents a Policy. */
+ class Policy implements IPolicy {
+
+ /**
+ * Constructs a new Policy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.orgpolicy.v1.IPolicy);
+
+ /** Policy version. */
+ public version: number;
+
+ /** Policy constraint. */
+ public constraint: string;
+
+ /** Policy etag. */
+ public etag: (Uint8Array|string);
+
+ /** Policy updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Policy listPolicy. */
+ public listPolicy?: (google.cloud.orgpolicy.v1.Policy.IListPolicy|null);
+
+ /** Policy booleanPolicy. */
+ public booleanPolicy?: (google.cloud.orgpolicy.v1.Policy.IBooleanPolicy|null);
+
+ /** Policy restoreDefault. */
+ public restoreDefault?: (google.cloud.orgpolicy.v1.Policy.IRestoreDefault|null);
+
+ /** Policy policyType. */
+ public policyType?: ("listPolicy"|"booleanPolicy"|"restoreDefault");
+
+ /**
+ * Creates a new Policy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Policy instance
+ */
+ public static create(properties?: google.cloud.orgpolicy.v1.IPolicy): google.cloud.orgpolicy.v1.Policy;
+
+ /**
+ * Encodes the specified Policy message. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.verify|verify} messages.
+ * @param message Policy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.orgpolicy.v1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.verify|verify} messages.
+ * @param message Policy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.orgpolicy.v1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.orgpolicy.v1.Policy;
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.orgpolicy.v1.Policy;
+
+ /**
+ * Verifies a Policy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Policy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Policy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.orgpolicy.v1.Policy;
+
+ /**
+ * Creates a plain object from a Policy message. Also converts values to other types if specified.
+ * @param message Policy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.orgpolicy.v1.Policy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Policy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Policy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Policy {
+
+ /** Properties of a ListPolicy. */
+ interface IListPolicy {
+
+ /** ListPolicy allowedValues */
+ allowedValues?: (string[]|null);
+
+ /** ListPolicy deniedValues */
+ deniedValues?: (string[]|null);
+
+ /** ListPolicy allValues */
+ allValues?: (google.cloud.orgpolicy.v1.Policy.ListPolicy.AllValues|keyof typeof google.cloud.orgpolicy.v1.Policy.ListPolicy.AllValues|null);
+
+ /** ListPolicy suggestedValue */
+ suggestedValue?: (string|null);
+
+ /** ListPolicy inheritFromParent */
+ inheritFromParent?: (boolean|null);
+ }
+
+ /** Represents a ListPolicy. */
+ class ListPolicy implements IListPolicy {
+
+ /**
+ * Constructs a new ListPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.orgpolicy.v1.Policy.IListPolicy);
+
+ /** ListPolicy allowedValues. */
+ public allowedValues: string[];
+
+ /** ListPolicy deniedValues. */
+ public deniedValues: string[];
+
+ /** ListPolicy allValues. */
+ public allValues: (google.cloud.orgpolicy.v1.Policy.ListPolicy.AllValues|keyof typeof google.cloud.orgpolicy.v1.Policy.ListPolicy.AllValues);
+
+ /** ListPolicy suggestedValue. */
+ public suggestedValue: string;
+
+ /** ListPolicy inheritFromParent. */
+ public inheritFromParent: boolean;
+
+ /**
+ * Creates a new ListPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListPolicy instance
+ */
+ public static create(properties?: google.cloud.orgpolicy.v1.Policy.IListPolicy): google.cloud.orgpolicy.v1.Policy.ListPolicy;
+
+ /**
+ * Encodes the specified ListPolicy message. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.ListPolicy.verify|verify} messages.
+ * @param message ListPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.orgpolicy.v1.Policy.IListPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListPolicy message, length delimited. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.ListPolicy.verify|verify} messages.
+ * @param message ListPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.orgpolicy.v1.Policy.IListPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.orgpolicy.v1.Policy.ListPolicy;
+
+ /**
+ * Decodes a ListPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.orgpolicy.v1.Policy.ListPolicy;
+
+ /**
+ * Verifies a ListPolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.orgpolicy.v1.Policy.ListPolicy;
+
+ /**
+ * Creates a plain object from a ListPolicy message. Also converts values to other types if specified.
+ * @param message ListPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.orgpolicy.v1.Policy.ListPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ListPolicy {
+
+ /** AllValues enum. */
+ enum AllValues {
+ ALL_VALUES_UNSPECIFIED = 0,
+ ALLOW = 1,
+ DENY = 2
+ }
+ }
+
+ /** Properties of a BooleanPolicy. */
+ interface IBooleanPolicy {
+
+ /** BooleanPolicy enforced */
+ enforced?: (boolean|null);
+ }
+
+ /** Represents a BooleanPolicy. */
+ class BooleanPolicy implements IBooleanPolicy {
+
+ /**
+ * Constructs a new BooleanPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.orgpolicy.v1.Policy.IBooleanPolicy);
+
+ /** BooleanPolicy enforced. */
+ public enforced: boolean;
+
+ /**
+ * Creates a new BooleanPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BooleanPolicy instance
+ */
+ public static create(properties?: google.cloud.orgpolicy.v1.Policy.IBooleanPolicy): google.cloud.orgpolicy.v1.Policy.BooleanPolicy;
+
+ /**
+ * Encodes the specified BooleanPolicy message. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.BooleanPolicy.verify|verify} messages.
+ * @param message BooleanPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.orgpolicy.v1.Policy.IBooleanPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BooleanPolicy message, length delimited. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.BooleanPolicy.verify|verify} messages.
+ * @param message BooleanPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.orgpolicy.v1.Policy.IBooleanPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BooleanPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BooleanPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.orgpolicy.v1.Policy.BooleanPolicy;
+
+ /**
+ * Decodes a BooleanPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BooleanPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.orgpolicy.v1.Policy.BooleanPolicy;
+
+ /**
+ * Verifies a BooleanPolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BooleanPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BooleanPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.orgpolicy.v1.Policy.BooleanPolicy;
+
+ /**
+ * Creates a plain object from a BooleanPolicy message. Also converts values to other types if specified.
+ * @param message BooleanPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.orgpolicy.v1.Policy.BooleanPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BooleanPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BooleanPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RestoreDefault. */
+ interface IRestoreDefault {
+ }
+
+ /** Represents a RestoreDefault. */
+ class RestoreDefault implements IRestoreDefault {
+
+ /**
+ * Constructs a new RestoreDefault.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.orgpolicy.v1.Policy.IRestoreDefault);
+
+ /**
+ * Creates a new RestoreDefault instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RestoreDefault instance
+ */
+ public static create(properties?: google.cloud.orgpolicy.v1.Policy.IRestoreDefault): google.cloud.orgpolicy.v1.Policy.RestoreDefault;
+
+ /**
+ * Encodes the specified RestoreDefault message. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.RestoreDefault.verify|verify} messages.
+ * @param message RestoreDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.orgpolicy.v1.Policy.IRestoreDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RestoreDefault message, length delimited. Does not implicitly {@link google.cloud.orgpolicy.v1.Policy.RestoreDefault.verify|verify} messages.
+ * @param message RestoreDefault message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.orgpolicy.v1.Policy.IRestoreDefault, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RestoreDefault message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RestoreDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.orgpolicy.v1.Policy.RestoreDefault;
+
+ /**
+ * Decodes a RestoreDefault message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RestoreDefault
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.orgpolicy.v1.Policy.RestoreDefault;
+
+ /**
+ * Verifies a RestoreDefault message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RestoreDefault message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RestoreDefault
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.orgpolicy.v1.Policy.RestoreDefault;
+
+ /**
+ * Creates a plain object from a RestoreDefault message. Also converts values to other types if specified.
+ * @param message RestoreDefault
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.orgpolicy.v1.Policy.RestoreDefault, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RestoreDefault to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RestoreDefault
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace osconfig. */
+ namespace osconfig {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of an Inventory. */
+ interface IInventory {
+
+ /** Inventory name */
+ name?: (string|null);
+
+ /** Inventory osInfo */
+ osInfo?: (google.cloud.osconfig.v1.Inventory.IOsInfo|null);
+
+ /** Inventory items */
+ items?: ({ [k: string]: google.cloud.osconfig.v1.Inventory.IItem }|null);
+
+ /** Inventory updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an Inventory. */
+ class Inventory implements IInventory {
+
+ /**
+ * Constructs a new Inventory.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.IInventory);
+
+ /** Inventory name. */
+ public name: string;
+
+ /** Inventory osInfo. */
+ public osInfo?: (google.cloud.osconfig.v1.Inventory.IOsInfo|null);
+
+ /** Inventory items. */
+ public items: { [k: string]: google.cloud.osconfig.v1.Inventory.IItem };
+
+ /** Inventory updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new Inventory instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Inventory instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.IInventory): google.cloud.osconfig.v1.Inventory;
+
+ /**
+ * Encodes the specified Inventory message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.verify|verify} messages.
+ * @param message Inventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.IInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Inventory message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.verify|verify} messages.
+ * @param message Inventory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.IInventory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Inventory message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Inventory
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory;
+
+ /**
+ * Decodes an Inventory message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Inventory
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory;
+
+ /**
+ * Verifies an Inventory message.
+ * @param message Plain 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 Inventory message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Inventory
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory;
+
+ /**
+ * Creates a plain object from an Inventory message. Also converts values to other types if specified.
+ * @param message Inventory
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Inventory to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Inventory
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Inventory {
+
+ /** Properties of an OsInfo. */
+ interface IOsInfo {
+
+ /** OsInfo hostname */
+ hostname?: (string|null);
+
+ /** OsInfo longName */
+ longName?: (string|null);
+
+ /** OsInfo shortName */
+ shortName?: (string|null);
+
+ /** OsInfo version */
+ version?: (string|null);
+
+ /** OsInfo architecture */
+ architecture?: (string|null);
+
+ /** OsInfo kernelVersion */
+ kernelVersion?: (string|null);
+
+ /** OsInfo kernelRelease */
+ kernelRelease?: (string|null);
+
+ /** OsInfo osconfigAgentVersion */
+ osconfigAgentVersion?: (string|null);
+ }
+
+ /** Represents an OsInfo. */
+ class OsInfo implements IOsInfo {
+
+ /**
+ * Constructs a new OsInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.IOsInfo);
+
+ /** OsInfo hostname. */
+ public hostname: string;
+
+ /** OsInfo longName. */
+ public longName: string;
+
+ /** OsInfo shortName. */
+ public shortName: string;
+
+ /** OsInfo version. */
+ public version: string;
+
+ /** OsInfo architecture. */
+ public architecture: string;
+
+ /** OsInfo kernelVersion. */
+ public kernelVersion: string;
+
+ /** OsInfo kernelRelease. */
+ public kernelRelease: string;
+
+ /** OsInfo osconfigAgentVersion. */
+ public osconfigAgentVersion: string;
+
+ /**
+ * Creates a new OsInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OsInfo instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.IOsInfo): google.cloud.osconfig.v1.Inventory.OsInfo;
+
+ /**
+ * Encodes the specified OsInfo message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.OsInfo.verify|verify} messages.
+ * @param message OsInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.IOsInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OsInfo message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.OsInfo.verify|verify} messages.
+ * @param message OsInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.IOsInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OsInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OsInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.OsInfo;
+
+ /**
+ * Decodes an OsInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OsInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.OsInfo;
+
+ /**
+ * Verifies an OsInfo message.
+ * @param message Plain 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 OsInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OsInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.OsInfo;
+
+ /**
+ * Creates a plain object from an OsInfo message. Also converts values to other types if specified.
+ * @param message OsInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.OsInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OsInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OsInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Item. */
+ interface IItem {
+
+ /** Item id */
+ id?: (string|null);
+
+ /** Item originType */
+ originType?: (google.cloud.osconfig.v1.Inventory.Item.OriginType|keyof typeof google.cloud.osconfig.v1.Inventory.Item.OriginType|null);
+
+ /** Item createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Item updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Item type */
+ type?: (google.cloud.osconfig.v1.Inventory.Item.Type|keyof typeof google.cloud.osconfig.v1.Inventory.Item.Type|null);
+
+ /** Item installedPackage */
+ installedPackage?: (google.cloud.osconfig.v1.Inventory.ISoftwarePackage|null);
+
+ /** Item availablePackage */
+ availablePackage?: (google.cloud.osconfig.v1.Inventory.ISoftwarePackage|null);
+ }
+
+ /** Represents an Item. */
+ class Item implements IItem {
+
+ /**
+ * Constructs a new Item.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.IItem);
+
+ /** Item id. */
+ public id: string;
+
+ /** Item originType. */
+ public originType: (google.cloud.osconfig.v1.Inventory.Item.OriginType|keyof typeof google.cloud.osconfig.v1.Inventory.Item.OriginType);
+
+ /** Item createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Item updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Item type. */
+ public type: (google.cloud.osconfig.v1.Inventory.Item.Type|keyof typeof google.cloud.osconfig.v1.Inventory.Item.Type);
+
+ /** Item installedPackage. */
+ public installedPackage?: (google.cloud.osconfig.v1.Inventory.ISoftwarePackage|null);
+
+ /** Item availablePackage. */
+ public availablePackage?: (google.cloud.osconfig.v1.Inventory.ISoftwarePackage|null);
+
+ /** Item details. */
+ public details?: ("installedPackage"|"availablePackage");
+
+ /**
+ * Creates a new Item instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Item instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.IItem): google.cloud.osconfig.v1.Inventory.Item;
+
+ /**
+ * Encodes the specified Item message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.Item.verify|verify} messages.
+ * @param message Item message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.IItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Item message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.Item.verify|verify} messages.
+ * @param message Item message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.IItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Item message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Item
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.Item;
+
+ /**
+ * Decodes an Item message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Item
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.Item;
+
+ /**
+ * Verifies an Item message.
+ * @param message Plain 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 Item message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Item
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.Item;
+
+ /**
+ * Creates a plain object from an Item message. Also converts values to other types if specified.
+ * @param message Item
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.Item, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Item to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Item
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Item {
+
+ /** OriginType enum. */
+ enum OriginType {
+ ORIGIN_TYPE_UNSPECIFIED = 0,
+ INVENTORY_REPORT = 1
+ }
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ INSTALLED_PACKAGE = 1,
+ AVAILABLE_PACKAGE = 2
+ }
+ }
+
+ /** Properties of a SoftwarePackage. */
+ interface ISoftwarePackage {
+
+ /** SoftwarePackage yumPackage */
+ yumPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage aptPackage */
+ aptPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage zypperPackage */
+ zypperPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage googetPackage */
+ googetPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage zypperPatch */
+ zypperPatch?: (google.cloud.osconfig.v1.Inventory.IZypperPatch|null);
+
+ /** SoftwarePackage wuaPackage */
+ wuaPackage?: (google.cloud.osconfig.v1.Inventory.IWindowsUpdatePackage|null);
+
+ /** SoftwarePackage qfePackage */
+ qfePackage?: (google.cloud.osconfig.v1.Inventory.IWindowsQuickFixEngineeringPackage|null);
+
+ /** SoftwarePackage cosPackage */
+ cosPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage windowsApplication */
+ windowsApplication?: (google.cloud.osconfig.v1.Inventory.IWindowsApplication|null);
+ }
+
+ /** Represents a SoftwarePackage. */
+ class SoftwarePackage implements ISoftwarePackage {
+
+ /**
+ * Constructs a new SoftwarePackage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.ISoftwarePackage);
+
+ /** SoftwarePackage yumPackage. */
+ public yumPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage aptPackage. */
+ public aptPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage zypperPackage. */
+ public zypperPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage googetPackage. */
+ public googetPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage zypperPatch. */
+ public zypperPatch?: (google.cloud.osconfig.v1.Inventory.IZypperPatch|null);
+
+ /** SoftwarePackage wuaPackage. */
+ public wuaPackage?: (google.cloud.osconfig.v1.Inventory.IWindowsUpdatePackage|null);
+
+ /** SoftwarePackage qfePackage. */
+ public qfePackage?: (google.cloud.osconfig.v1.Inventory.IWindowsQuickFixEngineeringPackage|null);
+
+ /** SoftwarePackage cosPackage. */
+ public cosPackage?: (google.cloud.osconfig.v1.Inventory.IVersionedPackage|null);
+
+ /** SoftwarePackage windowsApplication. */
+ public windowsApplication?: (google.cloud.osconfig.v1.Inventory.IWindowsApplication|null);
+
+ /** SoftwarePackage details. */
+ public details?: ("yumPackage"|"aptPackage"|"zypperPackage"|"googetPackage"|"zypperPatch"|"wuaPackage"|"qfePackage"|"cosPackage"|"windowsApplication");
+
+ /**
+ * Creates a new SoftwarePackage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SoftwarePackage instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.ISoftwarePackage): google.cloud.osconfig.v1.Inventory.SoftwarePackage;
+
+ /**
+ * Encodes the specified SoftwarePackage message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.SoftwarePackage.verify|verify} messages.
+ * @param message SoftwarePackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.ISoftwarePackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SoftwarePackage message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.SoftwarePackage.verify|verify} messages.
+ * @param message SoftwarePackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.ISoftwarePackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SoftwarePackage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SoftwarePackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.SoftwarePackage;
+
+ /**
+ * Decodes a SoftwarePackage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SoftwarePackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.SoftwarePackage;
+
+ /**
+ * Verifies a SoftwarePackage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SoftwarePackage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SoftwarePackage
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.SoftwarePackage;
+
+ /**
+ * Creates a plain object from a SoftwarePackage message. Also converts values to other types if specified.
+ * @param message SoftwarePackage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.SoftwarePackage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SoftwarePackage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SoftwarePackage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a VersionedPackage. */
+ interface IVersionedPackage {
+
+ /** VersionedPackage packageName */
+ packageName?: (string|null);
+
+ /** VersionedPackage architecture */
+ architecture?: (string|null);
+
+ /** VersionedPackage version */
+ version?: (string|null);
+ }
+
+ /** Represents a VersionedPackage. */
+ class VersionedPackage implements IVersionedPackage {
+
+ /**
+ * Constructs a new VersionedPackage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.IVersionedPackage);
+
+ /** VersionedPackage packageName. */
+ public packageName: string;
+
+ /** VersionedPackage architecture. */
+ public architecture: string;
+
+ /** VersionedPackage version. */
+ public version: string;
+
+ /**
+ * Creates a new VersionedPackage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VersionedPackage instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.IVersionedPackage): google.cloud.osconfig.v1.Inventory.VersionedPackage;
+
+ /**
+ * Encodes the specified VersionedPackage message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.VersionedPackage.verify|verify} messages.
+ * @param message VersionedPackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.IVersionedPackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VersionedPackage message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.VersionedPackage.verify|verify} messages.
+ * @param message VersionedPackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.IVersionedPackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VersionedPackage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VersionedPackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.VersionedPackage;
+
+ /**
+ * Decodes a VersionedPackage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VersionedPackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.VersionedPackage;
+
+ /**
+ * Verifies a VersionedPackage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VersionedPackage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VersionedPackage
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.VersionedPackage;
+
+ /**
+ * Creates a plain object from a VersionedPackage message. Also converts values to other types if specified.
+ * @param message VersionedPackage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.VersionedPackage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VersionedPackage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VersionedPackage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ZypperPatch. */
+ interface IZypperPatch {
+
+ /** ZypperPatch patchName */
+ patchName?: (string|null);
+
+ /** ZypperPatch category */
+ category?: (string|null);
+
+ /** ZypperPatch severity */
+ severity?: (string|null);
+
+ /** ZypperPatch summary */
+ summary?: (string|null);
+ }
+
+ /** Represents a ZypperPatch. */
+ class ZypperPatch implements IZypperPatch {
+
+ /**
+ * Constructs a new ZypperPatch.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.IZypperPatch);
+
+ /** ZypperPatch patchName. */
+ public patchName: string;
+
+ /** ZypperPatch category. */
+ public category: string;
+
+ /** ZypperPatch severity. */
+ public severity: string;
+
+ /** ZypperPatch summary. */
+ public summary: string;
+
+ /**
+ * Creates a new ZypperPatch instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ZypperPatch instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.IZypperPatch): google.cloud.osconfig.v1.Inventory.ZypperPatch;
+
+ /**
+ * Encodes the specified ZypperPatch message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.ZypperPatch.verify|verify} messages.
+ * @param message ZypperPatch message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.IZypperPatch, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ZypperPatch message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.ZypperPatch.verify|verify} messages.
+ * @param message ZypperPatch message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.IZypperPatch, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ZypperPatch message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ZypperPatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.ZypperPatch;
+
+ /**
+ * Decodes a ZypperPatch message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ZypperPatch
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.ZypperPatch;
+
+ /**
+ * Verifies a ZypperPatch message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ZypperPatch message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ZypperPatch
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.ZypperPatch;
+
+ /**
+ * Creates a plain object from a ZypperPatch message. Also converts values to other types if specified.
+ * @param message ZypperPatch
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.ZypperPatch, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ZypperPatch to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ZypperPatch
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WindowsUpdatePackage. */
+ interface IWindowsUpdatePackage {
+
+ /** WindowsUpdatePackage title */
+ title?: (string|null);
+
+ /** WindowsUpdatePackage description */
+ description?: (string|null);
+
+ /** WindowsUpdatePackage categories */
+ categories?: (google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.IWindowsUpdateCategory[]|null);
+
+ /** WindowsUpdatePackage kbArticleIds */
+ kbArticleIds?: (string[]|null);
+
+ /** WindowsUpdatePackage supportUrl */
+ supportUrl?: (string|null);
+
+ /** WindowsUpdatePackage moreInfoUrls */
+ moreInfoUrls?: (string[]|null);
+
+ /** WindowsUpdatePackage updateId */
+ updateId?: (string|null);
+
+ /** WindowsUpdatePackage revisionNumber */
+ revisionNumber?: (number|null);
+
+ /** WindowsUpdatePackage lastDeploymentChangeTime */
+ lastDeploymentChangeTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a WindowsUpdatePackage. */
+ class WindowsUpdatePackage implements IWindowsUpdatePackage {
+
+ /**
+ * Constructs a new WindowsUpdatePackage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.IWindowsUpdatePackage);
+
+ /** WindowsUpdatePackage title. */
+ public title: string;
+
+ /** WindowsUpdatePackage description. */
+ public description: string;
+
+ /** WindowsUpdatePackage categories. */
+ public categories: google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.IWindowsUpdateCategory[];
+
+ /** WindowsUpdatePackage kbArticleIds. */
+ public kbArticleIds: string[];
+
+ /** WindowsUpdatePackage supportUrl. */
+ public supportUrl: string;
+
+ /** WindowsUpdatePackage moreInfoUrls. */
+ public moreInfoUrls: string[];
+
+ /** WindowsUpdatePackage updateId. */
+ public updateId: string;
+
+ /** WindowsUpdatePackage revisionNumber. */
+ public revisionNumber: number;
+
+ /** WindowsUpdatePackage lastDeploymentChangeTime. */
+ public lastDeploymentChangeTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new WindowsUpdatePackage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WindowsUpdatePackage instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.IWindowsUpdatePackage): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage;
+
+ /**
+ * Encodes the specified WindowsUpdatePackage message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.verify|verify} messages.
+ * @param message WindowsUpdatePackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.IWindowsUpdatePackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WindowsUpdatePackage message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.verify|verify} messages.
+ * @param message WindowsUpdatePackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.IWindowsUpdatePackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WindowsUpdatePackage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WindowsUpdatePackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage;
+
+ /**
+ * Decodes a WindowsUpdatePackage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WindowsUpdatePackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage;
+
+ /**
+ * Verifies a WindowsUpdatePackage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WindowsUpdatePackage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WindowsUpdatePackage
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage;
+
+ /**
+ * Creates a plain object from a WindowsUpdatePackage message. Also converts values to other types if specified.
+ * @param message WindowsUpdatePackage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WindowsUpdatePackage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WindowsUpdatePackage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace WindowsUpdatePackage {
+
+ /** Properties of a WindowsUpdateCategory. */
+ interface IWindowsUpdateCategory {
+
+ /** WindowsUpdateCategory id */
+ id?: (string|null);
+
+ /** WindowsUpdateCategory name */
+ name?: (string|null);
+ }
+
+ /** Represents a WindowsUpdateCategory. */
+ class WindowsUpdateCategory implements IWindowsUpdateCategory {
+
+ /**
+ * Constructs a new WindowsUpdateCategory.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.IWindowsUpdateCategory);
+
+ /** WindowsUpdateCategory id. */
+ public id: string;
+
+ /** WindowsUpdateCategory name. */
+ public name: string;
+
+ /**
+ * Creates a new WindowsUpdateCategory instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WindowsUpdateCategory instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.IWindowsUpdateCategory): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory;
+
+ /**
+ * Encodes the specified WindowsUpdateCategory message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory.verify|verify} messages.
+ * @param message WindowsUpdateCategory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.IWindowsUpdateCategory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WindowsUpdateCategory message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory.verify|verify} messages.
+ * @param message WindowsUpdateCategory message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.IWindowsUpdateCategory, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WindowsUpdateCategory message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WindowsUpdateCategory
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory;
+
+ /**
+ * Decodes a WindowsUpdateCategory message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WindowsUpdateCategory
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory;
+
+ /**
+ * Verifies a WindowsUpdateCategory message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WindowsUpdateCategory message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WindowsUpdateCategory
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory;
+
+ /**
+ * Creates a plain object from a WindowsUpdateCategory message. Also converts values to other types if specified.
+ * @param message WindowsUpdateCategory
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WindowsUpdateCategory to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WindowsUpdateCategory
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a WindowsQuickFixEngineeringPackage. */
+ interface IWindowsQuickFixEngineeringPackage {
+
+ /** WindowsQuickFixEngineeringPackage caption */
+ caption?: (string|null);
+
+ /** WindowsQuickFixEngineeringPackage description */
+ description?: (string|null);
+
+ /** WindowsQuickFixEngineeringPackage hotFixId */
+ hotFixId?: (string|null);
+
+ /** WindowsQuickFixEngineeringPackage installTime */
+ installTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a WindowsQuickFixEngineeringPackage. */
+ class WindowsQuickFixEngineeringPackage implements IWindowsQuickFixEngineeringPackage {
+
+ /**
+ * Constructs a new WindowsQuickFixEngineeringPackage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.IWindowsQuickFixEngineeringPackage);
+
+ /** WindowsQuickFixEngineeringPackage caption. */
+ public caption: string;
+
+ /** WindowsQuickFixEngineeringPackage description. */
+ public description: string;
+
+ /** WindowsQuickFixEngineeringPackage hotFixId. */
+ public hotFixId: string;
+
+ /** WindowsQuickFixEngineeringPackage installTime. */
+ public installTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new WindowsQuickFixEngineeringPackage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WindowsQuickFixEngineeringPackage instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.IWindowsQuickFixEngineeringPackage): google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage;
+
+ /**
+ * Encodes the specified WindowsQuickFixEngineeringPackage message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage.verify|verify} messages.
+ * @param message WindowsQuickFixEngineeringPackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.IWindowsQuickFixEngineeringPackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WindowsQuickFixEngineeringPackage message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage.verify|verify} messages.
+ * @param message WindowsQuickFixEngineeringPackage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.IWindowsQuickFixEngineeringPackage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WindowsQuickFixEngineeringPackage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WindowsQuickFixEngineeringPackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage;
+
+ /**
+ * Decodes a WindowsQuickFixEngineeringPackage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WindowsQuickFixEngineeringPackage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage;
+
+ /**
+ * Verifies a WindowsQuickFixEngineeringPackage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WindowsQuickFixEngineeringPackage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WindowsQuickFixEngineeringPackage
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage;
+
+ /**
+ * Creates a plain object from a WindowsQuickFixEngineeringPackage message. Also converts values to other types if specified.
+ * @param message WindowsQuickFixEngineeringPackage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WindowsQuickFixEngineeringPackage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WindowsQuickFixEngineeringPackage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WindowsApplication. */
+ interface IWindowsApplication {
+
+ /** WindowsApplication displayName */
+ displayName?: (string|null);
+
+ /** WindowsApplication displayVersion */
+ displayVersion?: (string|null);
+
+ /** WindowsApplication publisher */
+ publisher?: (string|null);
+
+ /** WindowsApplication installDate */
+ installDate?: (google.type.IDate|null);
+
+ /** WindowsApplication helpLink */
+ helpLink?: (string|null);
+ }
+
+ /** Represents a WindowsApplication. */
+ class WindowsApplication implements IWindowsApplication {
+
+ /**
+ * Constructs a new WindowsApplication.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.Inventory.IWindowsApplication);
+
+ /** WindowsApplication displayName. */
+ public displayName: string;
+
+ /** WindowsApplication displayVersion. */
+ public displayVersion: string;
+
+ /** WindowsApplication publisher. */
+ public publisher: string;
+
+ /** WindowsApplication installDate. */
+ public installDate?: (google.type.IDate|null);
+
+ /** WindowsApplication helpLink. */
+ public helpLink: string;
+
+ /**
+ * Creates a new WindowsApplication instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WindowsApplication instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.Inventory.IWindowsApplication): google.cloud.osconfig.v1.Inventory.WindowsApplication;
+
+ /**
+ * Encodes the specified WindowsApplication message. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsApplication.verify|verify} messages.
+ * @param message WindowsApplication message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.Inventory.IWindowsApplication, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WindowsApplication message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.Inventory.WindowsApplication.verify|verify} messages.
+ * @param message WindowsApplication message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.Inventory.IWindowsApplication, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WindowsApplication message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WindowsApplication
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.Inventory.WindowsApplication;
+
+ /**
+ * Decodes a WindowsApplication message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WindowsApplication
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.Inventory.WindowsApplication;
+
+ /**
+ * Verifies a WindowsApplication message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WindowsApplication message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WindowsApplication
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.Inventory.WindowsApplication;
+
+ /**
+ * Creates a plain object from a WindowsApplication message. Also converts values to other types if specified.
+ * @param message WindowsApplication
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.Inventory.WindowsApplication, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WindowsApplication to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WindowsApplication
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GetInventoryRequest. */
+ interface IGetInventoryRequest {
+
+ /** GetInventoryRequest name */
+ name?: (string|null);
+
+ /** GetInventoryRequest view */
+ view?: (google.cloud.osconfig.v1.InventoryView|keyof typeof google.cloud.osconfig.v1.InventoryView|null);
+ }
+
+ /** Represents a GetInventoryRequest. */
+ class GetInventoryRequest implements IGetInventoryRequest {
+
+ /**
+ * Constructs a new GetInventoryRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.IGetInventoryRequest);
+
+ /** GetInventoryRequest name. */
+ public name: string;
+
+ /** GetInventoryRequest view. */
+ public view: (google.cloud.osconfig.v1.InventoryView|keyof typeof google.cloud.osconfig.v1.InventoryView);
+
+ /**
+ * Creates a new GetInventoryRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetInventoryRequest instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.IGetInventoryRequest): google.cloud.osconfig.v1.GetInventoryRequest;
+
+ /**
+ * Encodes the specified GetInventoryRequest message. Does not implicitly {@link google.cloud.osconfig.v1.GetInventoryRequest.verify|verify} messages.
+ * @param message GetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.IGetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetInventoryRequest message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.GetInventoryRequest.verify|verify} messages.
+ * @param message GetInventoryRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.IGetInventoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetInventoryRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetInventoryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.GetInventoryRequest;
+
+ /**
+ * Decodes a GetInventoryRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetInventoryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.GetInventoryRequest;
+
+ /**
+ * Verifies a GetInventoryRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetInventoryRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetInventoryRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.GetInventoryRequest;
+
+ /**
+ * Creates a plain object from a GetInventoryRequest message. Also converts values to other types if specified.
+ * @param message GetInventoryRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.GetInventoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetInventoryRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetInventoryRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInventoriesRequest. */
+ interface IListInventoriesRequest {
+
+ /** ListInventoriesRequest parent */
+ parent?: (string|null);
+
+ /** ListInventoriesRequest view */
+ view?: (google.cloud.osconfig.v1.InventoryView|keyof typeof google.cloud.osconfig.v1.InventoryView|null);
+
+ /** ListInventoriesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListInventoriesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListInventoriesRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a ListInventoriesRequest. */
+ class ListInventoriesRequest implements IListInventoriesRequest {
+
+ /**
+ * Constructs a new ListInventoriesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.IListInventoriesRequest);
+
+ /** ListInventoriesRequest parent. */
+ public parent: string;
+
+ /** ListInventoriesRequest view. */
+ public view: (google.cloud.osconfig.v1.InventoryView|keyof typeof google.cloud.osconfig.v1.InventoryView);
+
+ /** ListInventoriesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListInventoriesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListInventoriesRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new ListInventoriesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInventoriesRequest instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.IListInventoriesRequest): google.cloud.osconfig.v1.ListInventoriesRequest;
+
+ /**
+ * Encodes the specified ListInventoriesRequest message. Does not implicitly {@link google.cloud.osconfig.v1.ListInventoriesRequest.verify|verify} messages.
+ * @param message ListInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.IListInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInventoriesRequest message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.ListInventoriesRequest.verify|verify} messages.
+ * @param message ListInventoriesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.IListInventoriesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInventoriesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInventoriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.ListInventoriesRequest;
+
+ /**
+ * Decodes a ListInventoriesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInventoriesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.ListInventoriesRequest;
+
+ /**
+ * Verifies a ListInventoriesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInventoriesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInventoriesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.ListInventoriesRequest;
+
+ /**
+ * Creates a plain object from a ListInventoriesRequest message. Also converts values to other types if specified.
+ * @param message ListInventoriesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.ListInventoriesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInventoriesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInventoriesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListInventoriesResponse. */
+ interface IListInventoriesResponse {
+
+ /** ListInventoriesResponse inventories */
+ inventories?: (google.cloud.osconfig.v1.IInventory[]|null);
+
+ /** ListInventoriesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListInventoriesResponse. */
+ class ListInventoriesResponse implements IListInventoriesResponse {
+
+ /**
+ * Constructs a new ListInventoriesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.osconfig.v1.IListInventoriesResponse);
+
+ /** ListInventoriesResponse inventories. */
+ public inventories: google.cloud.osconfig.v1.IInventory[];
+
+ /** ListInventoriesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListInventoriesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInventoriesResponse instance
+ */
+ public static create(properties?: google.cloud.osconfig.v1.IListInventoriesResponse): google.cloud.osconfig.v1.ListInventoriesResponse;
+
+ /**
+ * Encodes the specified ListInventoriesResponse message. Does not implicitly {@link google.cloud.osconfig.v1.ListInventoriesResponse.verify|verify} messages.
+ * @param message ListInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.osconfig.v1.IListInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInventoriesResponse message, length delimited. Does not implicitly {@link google.cloud.osconfig.v1.ListInventoriesResponse.verify|verify} messages.
+ * @param message ListInventoriesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.osconfig.v1.IListInventoriesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInventoriesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInventoriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.osconfig.v1.ListInventoriesResponse;
+
+ /**
+ * Decodes a ListInventoriesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInventoriesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.osconfig.v1.ListInventoriesResponse;
+
+ /**
+ * Verifies a ListInventoriesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInventoriesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInventoriesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.osconfig.v1.ListInventoriesResponse;
+
+ /**
+ * Creates a plain object from a ListInventoriesResponse message. Also converts values to other types if specified.
+ * @param message ListInventoriesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.osconfig.v1.ListInventoriesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInventoriesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListInventoriesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** InventoryView enum. */
+ enum InventoryView {
+ INVENTORY_VIEW_UNSPECIFIED = 0,
+ BASIC = 1,
+ FULL = 2
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (string|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: string;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions phpGenericServices */
+ phpGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions phpGenericServices. */
+ public phpGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** 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;
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;
+
+ /**
+ * Verifies a FieldMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** Properties of a Date. */
+ interface IDate {
+
+ /** Date year */
+ year?: (number|null);
+
+ /** Date month */
+ month?: (number|null);
+
+ /** Date day */
+ day?: (number|null);
+ }
+
+ /** Represents a Date. */
+ class Date implements IDate {
+
+ /**
+ * Constructs a new Date.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IDate);
+
+ /** Date year. */
+ public year: number;
+
+ /** Date month. */
+ public month: number;
+
+ /** Date day. */
+ public day: number;
+
+ /**
+ * Creates a new Date instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Date instance
+ */
+ public static create(properties?: google.type.IDate): google.type.Date;
+
+ /**
+ * Encodes the specified Date message. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Date message, length delimited. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Date
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Date;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Date
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Date;
+
+ /**
+ * Verifies a Date message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Date message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Date
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Date;
+
+ /**
+ * Creates a plain object from a Date message. Also converts values to other types if specified.
+ * @param message Date
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Date, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Date to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Date
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Expr. */
+ interface IExpr {
+
+ /** Expr expression */
+ expression?: (string|null);
+
+ /** Expr title */
+ title?: (string|null);
+
+ /** Expr description */
+ description?: (string|null);
+
+ /** Expr location */
+ location?: (string|null);
+ }
+
+ /** Represents an Expr. */
+ class Expr implements IExpr {
+
+ /**
+ * Constructs a new Expr.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IExpr);
+
+ /** Expr expression. */
+ public expression: string;
+
+ /** Expr title. */
+ public title: string;
+
+ /** Expr description. */
+ public description: string;
+
+ /** Expr location. */
+ public location: string;
+
+ /**
+ * Creates a new Expr instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Expr instance
+ */
+ public static create(properties?: google.type.IExpr): google.type.Expr;
+
+ /**
+ * Encodes the specified Expr message. Does not implicitly {@link google.type.Expr.verify|verify} messages.
+ * @param message Expr message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IExpr, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Expr message, length delimited. Does not implicitly {@link google.type.Expr.verify|verify} messages.
+ * @param message Expr message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IExpr, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Expr message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Expr
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Expr;
+
+ /**
+ * Decodes an Expr message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Expr
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Expr;
+
+ /**
+ * Verifies an Expr message.
+ * @param message Plain 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 Expr message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Expr
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Expr;
+
+ /**
+ * Creates a plain object from an Expr message. Also converts values to other types if specified.
+ * @param message Expr
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Expr, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Expr to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Expr
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace iam. */
+ namespace iam {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of a Policy. */
+ interface IPolicy {
+
+ /** Policy version */
+ version?: (number|null);
+
+ /** Policy bindings */
+ bindings?: (google.iam.v1.IBinding[]|null);
+
+ /** Policy auditConfigs */
+ auditConfigs?: (google.iam.v1.IAuditConfig[]|null);
+
+ /** Policy etag */
+ etag?: (Uint8Array|string|null);
+ }
+
+ /** Represents a Policy. */
+ class Policy implements IPolicy {
+
+ /**
+ * Constructs a new Policy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IPolicy);
+
+ /** Policy version. */
+ public version: number;
+
+ /** Policy bindings. */
+ public bindings: google.iam.v1.IBinding[];
+
+ /** Policy auditConfigs. */
+ public auditConfigs: google.iam.v1.IAuditConfig[];
+
+ /** Policy etag. */
+ public etag: (Uint8Array|string);
+
+ /**
+ * Creates a new Policy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Policy instance
+ */
+ public static create(properties?: google.iam.v1.IPolicy): google.iam.v1.Policy;
+
+ /**
+ * Encodes the specified Policy message. Does not implicitly {@link google.iam.v1.Policy.verify|verify} messages.
+ * @param message Policy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link google.iam.v1.Policy.verify|verify} messages.
+ * @param message Policy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.Policy;
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.Policy;
+
+ /**
+ * Verifies a Policy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Policy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Policy
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.Policy;
+
+ /**
+ * Creates a plain object from a Policy message. Also converts values to other types if specified.
+ * @param message Policy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.Policy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Policy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Policy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Binding. */
+ interface IBinding {
+
+ /** Binding role */
+ role?: (string|null);
+
+ /** Binding members */
+ members?: (string[]|null);
+
+ /** Binding condition */
+ condition?: (google.type.IExpr|null);
+ }
+
+ /** Represents a Binding. */
+ class Binding implements IBinding {
+
+ /**
+ * Constructs a new Binding.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IBinding);
+
+ /** Binding role. */
+ public role: string;
+
+ /** Binding members. */
+ public members: string[];
+
+ /** Binding condition. */
+ public condition?: (google.type.IExpr|null);
+
+ /**
+ * Creates a new Binding instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Binding instance
+ */
+ public static create(properties?: google.iam.v1.IBinding): google.iam.v1.Binding;
+
+ /**
+ * Encodes the specified Binding message. Does not implicitly {@link google.iam.v1.Binding.verify|verify} messages.
+ * @param message Binding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IBinding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Binding message, length delimited. Does not implicitly {@link google.iam.v1.Binding.verify|verify} messages.
+ * @param message Binding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IBinding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Binding message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Binding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.Binding;
+
+ /**
+ * Decodes a Binding message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Binding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.Binding;
+
+ /**
+ * Verifies a Binding message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Binding message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Binding
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.Binding;
+
+ /**
+ * Creates a plain object from a Binding message. Also converts values to other types if specified.
+ * @param message Binding
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.Binding, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Binding to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Binding
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AuditConfig. */
+ interface IAuditConfig {
+
+ /** AuditConfig service */
+ service?: (string|null);
+
+ /** AuditConfig auditLogConfigs */
+ auditLogConfigs?: (google.iam.v1.IAuditLogConfig[]|null);
+ }
+
+ /** Represents an AuditConfig. */
+ class AuditConfig implements IAuditConfig {
+
+ /**
+ * Constructs a new AuditConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IAuditConfig);
+
+ /** AuditConfig service. */
+ public service: string;
+
+ /** AuditConfig auditLogConfigs. */
+ public auditLogConfigs: google.iam.v1.IAuditLogConfig[];
+
+ /**
+ * Creates a new AuditConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AuditConfig instance
+ */
+ public static create(properties?: google.iam.v1.IAuditConfig): google.iam.v1.AuditConfig;
+
+ /**
+ * Encodes the specified AuditConfig message. Does not implicitly {@link google.iam.v1.AuditConfig.verify|verify} messages.
+ * @param message AuditConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IAuditConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AuditConfig message, length delimited. Does not implicitly {@link google.iam.v1.AuditConfig.verify|verify} messages.
+ * @param message AuditConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IAuditConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AuditConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AuditConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.AuditConfig;
+
+ /**
+ * Decodes an AuditConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AuditConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.AuditConfig;
+
+ /**
+ * Verifies an AuditConfig message.
+ * @param message Plain 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 AuditConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AuditConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.AuditConfig;
+
+ /**
+ * Creates a plain object from an AuditConfig message. Also converts values to other types if specified.
+ * @param message AuditConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.AuditConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AuditConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AuditConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AuditLogConfig. */
+ interface IAuditLogConfig {
+
+ /** AuditLogConfig logType */
+ logType?: (google.iam.v1.AuditLogConfig.LogType|keyof typeof google.iam.v1.AuditLogConfig.LogType|null);
+
+ /** AuditLogConfig exemptedMembers */
+ exemptedMembers?: (string[]|null);
+ }
+
+ /** Represents an AuditLogConfig. */
+ class AuditLogConfig implements IAuditLogConfig {
+
+ /**
+ * Constructs a new AuditLogConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IAuditLogConfig);
+
+ /** AuditLogConfig logType. */
+ public logType: (google.iam.v1.AuditLogConfig.LogType|keyof typeof google.iam.v1.AuditLogConfig.LogType);
+
+ /** AuditLogConfig exemptedMembers. */
+ public exemptedMembers: string[];
+
+ /**
+ * Creates a new AuditLogConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AuditLogConfig instance
+ */
+ public static create(properties?: google.iam.v1.IAuditLogConfig): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Encodes the specified AuditLogConfig message. Does not implicitly {@link google.iam.v1.AuditLogConfig.verify|verify} messages.
+ * @param message AuditLogConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IAuditLogConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AuditLogConfig message, length delimited. Does not implicitly {@link google.iam.v1.AuditLogConfig.verify|verify} messages.
+ * @param message AuditLogConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IAuditLogConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AuditLogConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AuditLogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Decodes an AuditLogConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AuditLogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Verifies an AuditLogConfig message.
+ * @param message Plain 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 AuditLogConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AuditLogConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Creates a plain object from an AuditLogConfig message. Also converts values to other types if specified.
+ * @param message AuditLogConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.AuditLogConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AuditLogConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AuditLogConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AuditLogConfig {
+
+ /** LogType enum. */
+ enum LogType {
+ LOG_TYPE_UNSPECIFIED = 0,
+ ADMIN_READ = 1,
+ DATA_WRITE = 2,
+ DATA_READ = 3
+ }
+ }
+
+ /** Properties of a PolicyDelta. */
+ interface IPolicyDelta {
+
+ /** PolicyDelta bindingDeltas */
+ bindingDeltas?: (google.iam.v1.IBindingDelta[]|null);
+
+ /** PolicyDelta auditConfigDeltas */
+ auditConfigDeltas?: (google.iam.v1.IAuditConfigDelta[]|null);
+ }
+
+ /** Represents a PolicyDelta. */
+ class PolicyDelta implements IPolicyDelta {
+
+ /**
+ * Constructs a new PolicyDelta.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IPolicyDelta);
+
+ /** PolicyDelta bindingDeltas. */
+ public bindingDeltas: google.iam.v1.IBindingDelta[];
+
+ /** PolicyDelta auditConfigDeltas. */
+ public auditConfigDeltas: google.iam.v1.IAuditConfigDelta[];
+
+ /**
+ * Creates a new PolicyDelta instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PolicyDelta instance
+ */
+ public static create(properties?: google.iam.v1.IPolicyDelta): google.iam.v1.PolicyDelta;
+
+ /**
+ * Encodes the specified PolicyDelta message. Does not implicitly {@link google.iam.v1.PolicyDelta.verify|verify} messages.
+ * @param message PolicyDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IPolicyDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PolicyDelta message, length delimited. Does not implicitly {@link google.iam.v1.PolicyDelta.verify|verify} messages.
+ * @param message PolicyDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IPolicyDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PolicyDelta message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PolicyDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.PolicyDelta;
+
+ /**
+ * Decodes a PolicyDelta message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PolicyDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.PolicyDelta;
+
+ /**
+ * Verifies a PolicyDelta message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PolicyDelta message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PolicyDelta
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.PolicyDelta;
+
+ /**
+ * Creates a plain object from a PolicyDelta message. Also converts values to other types if specified.
+ * @param message PolicyDelta
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.PolicyDelta, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PolicyDelta to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PolicyDelta
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BindingDelta. */
+ interface IBindingDelta {
+
+ /** BindingDelta action */
+ action?: (google.iam.v1.BindingDelta.Action|keyof typeof google.iam.v1.BindingDelta.Action|null);
+
+ /** BindingDelta role */
+ role?: (string|null);
+
+ /** BindingDelta member */
+ member?: (string|null);
+
+ /** BindingDelta condition */
+ condition?: (google.type.IExpr|null);
+ }
+
+ /** Represents a BindingDelta. */
+ class BindingDelta implements IBindingDelta {
+
+ /**
+ * Constructs a new BindingDelta.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IBindingDelta);
+
+ /** BindingDelta action. */
+ public action: (google.iam.v1.BindingDelta.Action|keyof typeof google.iam.v1.BindingDelta.Action);
+
+ /** BindingDelta role. */
+ public role: string;
+
+ /** BindingDelta member. */
+ public member: string;
+
+ /** BindingDelta condition. */
+ public condition?: (google.type.IExpr|null);
+
+ /**
+ * Creates a new BindingDelta instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BindingDelta instance
+ */
+ public static create(properties?: google.iam.v1.IBindingDelta): google.iam.v1.BindingDelta;
+
+ /**
+ * Encodes the specified BindingDelta message. Does not implicitly {@link google.iam.v1.BindingDelta.verify|verify} messages.
+ * @param message BindingDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IBindingDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BindingDelta message, length delimited. Does not implicitly {@link google.iam.v1.BindingDelta.verify|verify} messages.
+ * @param message BindingDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IBindingDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BindingDelta message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BindingDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.BindingDelta;
+
+ /**
+ * Decodes a BindingDelta message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BindingDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.BindingDelta;
+
+ /**
+ * Verifies a BindingDelta message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BindingDelta message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BindingDelta
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.BindingDelta;
+
+ /**
+ * Creates a plain object from a BindingDelta message. Also converts values to other types if specified.
+ * @param message BindingDelta
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.BindingDelta, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BindingDelta to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BindingDelta
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BindingDelta {
+
+ /** Action enum. */
+ enum Action {
+ ACTION_UNSPECIFIED = 0,
+ ADD = 1,
+ REMOVE = 2
+ }
+ }
+
+ /** Properties of an AuditConfigDelta. */
+ interface IAuditConfigDelta {
+
+ /** AuditConfigDelta action */
+ action?: (google.iam.v1.AuditConfigDelta.Action|keyof typeof google.iam.v1.AuditConfigDelta.Action|null);
+
+ /** AuditConfigDelta service */
+ service?: (string|null);
+
+ /** AuditConfigDelta exemptedMember */
+ exemptedMember?: (string|null);
+
+ /** AuditConfigDelta logType */
+ logType?: (string|null);
+ }
+
+ /** Represents an AuditConfigDelta. */
+ class AuditConfigDelta implements IAuditConfigDelta {
+
+ /**
+ * Constructs a new AuditConfigDelta.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IAuditConfigDelta);
+
+ /** AuditConfigDelta action. */
+ public action: (google.iam.v1.AuditConfigDelta.Action|keyof typeof google.iam.v1.AuditConfigDelta.Action);
+
+ /** AuditConfigDelta service. */
+ public service: string;
+
+ /** AuditConfigDelta exemptedMember. */
+ public exemptedMember: string;
+
+ /** AuditConfigDelta logType. */
+ public logType: string;
+
+ /**
+ * Creates a new AuditConfigDelta instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AuditConfigDelta instance
+ */
+ public static create(properties?: google.iam.v1.IAuditConfigDelta): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Encodes the specified AuditConfigDelta message. Does not implicitly {@link google.iam.v1.AuditConfigDelta.verify|verify} messages.
+ * @param message AuditConfigDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IAuditConfigDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AuditConfigDelta message, length delimited. Does not implicitly {@link google.iam.v1.AuditConfigDelta.verify|verify} messages.
+ * @param message AuditConfigDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IAuditConfigDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AuditConfigDelta message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AuditConfigDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Decodes an AuditConfigDelta message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AuditConfigDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Verifies an AuditConfigDelta message.
+ * @param message Plain 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 AuditConfigDelta message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AuditConfigDelta
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Creates a plain object from an AuditConfigDelta message. Also converts values to other types if specified.
+ * @param message AuditConfigDelta
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.AuditConfigDelta, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AuditConfigDelta to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AuditConfigDelta
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AuditConfigDelta {
+
+ /** Action enum. */
+ enum Action {
+ ACTION_UNSPECIFIED = 0,
+ ADD = 1,
+ REMOVE = 2
+ }
+ }
+ }
+ }
+
+ /** Namespace identity. */
+ namespace identity {
+
+ /** Namespace accesscontextmanager. */
+ namespace accesscontextmanager {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of an AccessLevel. */
+ interface IAccessLevel {
+
+ /** AccessLevel name */
+ name?: (string|null);
+
+ /** AccessLevel title */
+ title?: (string|null);
+
+ /** AccessLevel description */
+ description?: (string|null);
+
+ /** AccessLevel basic */
+ basic?: (google.identity.accesscontextmanager.v1.IBasicLevel|null);
+
+ /** AccessLevel custom */
+ custom?: (google.identity.accesscontextmanager.v1.ICustomLevel|null);
+
+ /** AccessLevel createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** AccessLevel updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an AccessLevel. */
+ class AccessLevel implements IAccessLevel {
+
+ /**
+ * Constructs a new AccessLevel.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.IAccessLevel);
+
+ /** AccessLevel name. */
+ public name: string;
+
+ /** AccessLevel title. */
+ public title: string;
+
+ /** AccessLevel description. */
+ public description: string;
+
+ /** AccessLevel basic. */
+ public basic?: (google.identity.accesscontextmanager.v1.IBasicLevel|null);
+
+ /** AccessLevel custom. */
+ public custom?: (google.identity.accesscontextmanager.v1.ICustomLevel|null);
+
+ /** AccessLevel createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** AccessLevel updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** AccessLevel level. */
+ public level?: ("basic"|"custom");
+
+ /**
+ * Creates a new AccessLevel instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessLevel instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.IAccessLevel): google.identity.accesscontextmanager.v1.AccessLevel;
+
+ /**
+ * Encodes the specified AccessLevel message. Does not implicitly {@link google.identity.accesscontextmanager.v1.AccessLevel.verify|verify} messages.
+ * @param message AccessLevel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.IAccessLevel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessLevel message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.AccessLevel.verify|verify} messages.
+ * @param message AccessLevel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.IAccessLevel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessLevel message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessLevel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.AccessLevel;
+
+ /**
+ * Decodes an AccessLevel message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessLevel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.AccessLevel;
+
+ /**
+ * Verifies an AccessLevel message.
+ * @param message Plain 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 AccessLevel message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessLevel
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.AccessLevel;
+
+ /**
+ * Creates a plain object from an AccessLevel message. Also converts values to other types if specified.
+ * @param message AccessLevel
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.AccessLevel, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessLevel to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessLevel
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BasicLevel. */
+ interface IBasicLevel {
+
+ /** BasicLevel conditions */
+ conditions?: (google.identity.accesscontextmanager.v1.ICondition[]|null);
+
+ /** BasicLevel combiningFunction */
+ combiningFunction?: (google.identity.accesscontextmanager.v1.BasicLevel.ConditionCombiningFunction|keyof typeof google.identity.accesscontextmanager.v1.BasicLevel.ConditionCombiningFunction|null);
+ }
+
+ /** Represents a BasicLevel. */
+ class BasicLevel implements IBasicLevel {
+
+ /**
+ * Constructs a new BasicLevel.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.IBasicLevel);
+
+ /** BasicLevel conditions. */
+ public conditions: google.identity.accesscontextmanager.v1.ICondition[];
+
+ /** BasicLevel combiningFunction. */
+ public combiningFunction: (google.identity.accesscontextmanager.v1.BasicLevel.ConditionCombiningFunction|keyof typeof google.identity.accesscontextmanager.v1.BasicLevel.ConditionCombiningFunction);
+
+ /**
+ * Creates a new BasicLevel instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BasicLevel instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.IBasicLevel): google.identity.accesscontextmanager.v1.BasicLevel;
+
+ /**
+ * Encodes the specified BasicLevel message. Does not implicitly {@link google.identity.accesscontextmanager.v1.BasicLevel.verify|verify} messages.
+ * @param message BasicLevel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.IBasicLevel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BasicLevel message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.BasicLevel.verify|verify} messages.
+ * @param message BasicLevel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.IBasicLevel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BasicLevel message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BasicLevel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.BasicLevel;
+
+ /**
+ * Decodes a BasicLevel message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BasicLevel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.BasicLevel;
+
+ /**
+ * Verifies a BasicLevel message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BasicLevel message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BasicLevel
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.BasicLevel;
+
+ /**
+ * Creates a plain object from a BasicLevel message. Also converts values to other types if specified.
+ * @param message BasicLevel
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.BasicLevel, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BasicLevel to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BasicLevel
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BasicLevel {
+
+ /** ConditionCombiningFunction enum. */
+ enum ConditionCombiningFunction {
+ AND = 0,
+ OR = 1
+ }
+ }
+
+ /** Properties of a Condition. */
+ interface ICondition {
+
+ /** Condition ipSubnetworks */
+ ipSubnetworks?: (string[]|null);
+
+ /** Condition devicePolicy */
+ devicePolicy?: (google.identity.accesscontextmanager.v1.IDevicePolicy|null);
+
+ /** Condition requiredAccessLevels */
+ requiredAccessLevels?: (string[]|null);
+
+ /** Condition negate */
+ negate?: (boolean|null);
+
+ /** Condition members */
+ members?: (string[]|null);
+
+ /** Condition regions */
+ regions?: (string[]|null);
+ }
+
+ /** Represents a Condition. */
+ class Condition implements ICondition {
+
+ /**
+ * Constructs a new Condition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.ICondition);
+
+ /** Condition ipSubnetworks. */
+ public ipSubnetworks: string[];
+
+ /** Condition devicePolicy. */
+ public devicePolicy?: (google.identity.accesscontextmanager.v1.IDevicePolicy|null);
+
+ /** Condition requiredAccessLevels. */
+ public requiredAccessLevels: string[];
+
+ /** Condition negate. */
+ public negate: boolean;
+
+ /** Condition members. */
+ public members: string[];
+
+ /** Condition regions. */
+ public regions: string[];
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Condition instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.ICondition): google.identity.accesscontextmanager.v1.Condition;
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.identity.accesscontextmanager.v1.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.identity.accesscontextmanager.v1.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.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.identity.accesscontextmanager.v1.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.identity.accesscontextmanager.v1.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.identity.accesscontextmanager.v1.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.identity.accesscontextmanager.v1.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.identity.accesscontextmanager.v1.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;
+ }
+
+ /** Properties of a CustomLevel. */
+ interface ICustomLevel {
+
+ /** CustomLevel expr */
+ expr?: (google.type.IExpr|null);
+ }
+
+ /** Represents a CustomLevel. */
+ class CustomLevel implements ICustomLevel {
+
+ /**
+ * Constructs a new CustomLevel.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.ICustomLevel);
+
+ /** CustomLevel expr. */
+ public expr?: (google.type.IExpr|null);
+
+ /**
+ * Creates a new CustomLevel instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomLevel instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.ICustomLevel): google.identity.accesscontextmanager.v1.CustomLevel;
+
+ /**
+ * Encodes the specified CustomLevel message. Does not implicitly {@link google.identity.accesscontextmanager.v1.CustomLevel.verify|verify} messages.
+ * @param message CustomLevel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.ICustomLevel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomLevel message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.CustomLevel.verify|verify} messages.
+ * @param message CustomLevel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.ICustomLevel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomLevel message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomLevel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.CustomLevel;
+
+ /**
+ * Decodes a CustomLevel message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomLevel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.CustomLevel;
+
+ /**
+ * Verifies a CustomLevel message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomLevel message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomLevel
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.CustomLevel;
+
+ /**
+ * Creates a plain object from a CustomLevel message. Also converts values to other types if specified.
+ * @param message CustomLevel
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.CustomLevel, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomLevel to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomLevel
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DevicePolicy. */
+ interface IDevicePolicy {
+
+ /** DevicePolicy requireScreenlock */
+ requireScreenlock?: (boolean|null);
+
+ /** DevicePolicy allowedEncryptionStatuses */
+ allowedEncryptionStatuses?: (google.identity.accesscontextmanager.type.DeviceEncryptionStatus[]|null);
+
+ /** DevicePolicy osConstraints */
+ osConstraints?: (google.identity.accesscontextmanager.v1.IOsConstraint[]|null);
+
+ /** DevicePolicy allowedDeviceManagementLevels */
+ allowedDeviceManagementLevels?: (google.identity.accesscontextmanager.type.DeviceManagementLevel[]|null);
+
+ /** DevicePolicy requireAdminApproval */
+ requireAdminApproval?: (boolean|null);
+
+ /** DevicePolicy requireCorpOwned */
+ requireCorpOwned?: (boolean|null);
+ }
+
+ /** Represents a DevicePolicy. */
+ class DevicePolicy implements IDevicePolicy {
+
+ /**
+ * Constructs a new DevicePolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.IDevicePolicy);
+
+ /** DevicePolicy requireScreenlock. */
+ public requireScreenlock: boolean;
+
+ /** DevicePolicy allowedEncryptionStatuses. */
+ public allowedEncryptionStatuses: google.identity.accesscontextmanager.type.DeviceEncryptionStatus[];
+
+ /** DevicePolicy osConstraints. */
+ public osConstraints: google.identity.accesscontextmanager.v1.IOsConstraint[];
+
+ /** DevicePolicy allowedDeviceManagementLevels. */
+ public allowedDeviceManagementLevels: google.identity.accesscontextmanager.type.DeviceManagementLevel[];
+
+ /** DevicePolicy requireAdminApproval. */
+ public requireAdminApproval: boolean;
+
+ /** DevicePolicy requireCorpOwned. */
+ public requireCorpOwned: boolean;
+
+ /**
+ * Creates a new DevicePolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DevicePolicy instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.IDevicePolicy): google.identity.accesscontextmanager.v1.DevicePolicy;
+
+ /**
+ * Encodes the specified DevicePolicy message. Does not implicitly {@link google.identity.accesscontextmanager.v1.DevicePolicy.verify|verify} messages.
+ * @param message DevicePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.IDevicePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DevicePolicy message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.DevicePolicy.verify|verify} messages.
+ * @param message DevicePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.IDevicePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DevicePolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DevicePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.DevicePolicy;
+
+ /**
+ * Decodes a DevicePolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DevicePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.DevicePolicy;
+
+ /**
+ * Verifies a DevicePolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DevicePolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DevicePolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.DevicePolicy;
+
+ /**
+ * Creates a plain object from a DevicePolicy message. Also converts values to other types if specified.
+ * @param message DevicePolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.DevicePolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DevicePolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DevicePolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OsConstraint. */
+ interface IOsConstraint {
+
+ /** OsConstraint osType */
+ osType?: (google.identity.accesscontextmanager.type.OsType|keyof typeof google.identity.accesscontextmanager.type.OsType|null);
+
+ /** OsConstraint minimumVersion */
+ minimumVersion?: (string|null);
+
+ /** OsConstraint requireVerifiedChromeOs */
+ requireVerifiedChromeOs?: (boolean|null);
+ }
+
+ /** Represents an OsConstraint. */
+ class OsConstraint implements IOsConstraint {
+
+ /**
+ * Constructs a new OsConstraint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.IOsConstraint);
+
+ /** OsConstraint osType. */
+ public osType: (google.identity.accesscontextmanager.type.OsType|keyof typeof google.identity.accesscontextmanager.type.OsType);
+
+ /** OsConstraint minimumVersion. */
+ public minimumVersion: string;
+
+ /** OsConstraint requireVerifiedChromeOs. */
+ public requireVerifiedChromeOs: boolean;
+
+ /**
+ * Creates a new OsConstraint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OsConstraint instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.IOsConstraint): google.identity.accesscontextmanager.v1.OsConstraint;
+
+ /**
+ * Encodes the specified OsConstraint message. Does not implicitly {@link google.identity.accesscontextmanager.v1.OsConstraint.verify|verify} messages.
+ * @param message OsConstraint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.IOsConstraint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OsConstraint message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.OsConstraint.verify|verify} messages.
+ * @param message OsConstraint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.IOsConstraint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OsConstraint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OsConstraint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.OsConstraint;
+
+ /**
+ * Decodes an OsConstraint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OsConstraint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.OsConstraint;
+
+ /**
+ * Verifies an OsConstraint message.
+ * @param message Plain 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 OsConstraint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OsConstraint
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.OsConstraint;
+
+ /**
+ * Creates a plain object from an OsConstraint message. Also converts values to other types if specified.
+ * @param message OsConstraint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.OsConstraint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OsConstraint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OsConstraint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AccessPolicy. */
+ interface IAccessPolicy {
+
+ /** AccessPolicy name */
+ name?: (string|null);
+
+ /** AccessPolicy parent */
+ parent?: (string|null);
+
+ /** AccessPolicy title */
+ title?: (string|null);
+
+ /** AccessPolicy createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** AccessPolicy updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** AccessPolicy etag */
+ etag?: (string|null);
+ }
+
+ /** Represents an AccessPolicy. */
+ class AccessPolicy implements IAccessPolicy {
+
+ /**
+ * Constructs a new AccessPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.IAccessPolicy);
+
+ /** AccessPolicy name. */
+ public name: string;
+
+ /** AccessPolicy parent. */
+ public parent: string;
+
+ /** AccessPolicy title. */
+ public title: string;
+
+ /** AccessPolicy createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** AccessPolicy updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** AccessPolicy etag. */
+ public etag: string;
+
+ /**
+ * Creates a new AccessPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessPolicy instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.IAccessPolicy): google.identity.accesscontextmanager.v1.AccessPolicy;
+
+ /**
+ * Encodes the specified AccessPolicy message. Does not implicitly {@link google.identity.accesscontextmanager.v1.AccessPolicy.verify|verify} messages.
+ * @param message AccessPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.IAccessPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessPolicy message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.AccessPolicy.verify|verify} messages.
+ * @param message AccessPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.IAccessPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.AccessPolicy;
+
+ /**
+ * Decodes an AccessPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.AccessPolicy;
+
+ /**
+ * Verifies an AccessPolicy message.
+ * @param message Plain 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 AccessPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.AccessPolicy;
+
+ /**
+ * Creates a plain object from an AccessPolicy message. Also converts values to other types if specified.
+ * @param message AccessPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.AccessPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServicePerimeter. */
+ interface IServicePerimeter {
+
+ /** ServicePerimeter name */
+ name?: (string|null);
+
+ /** ServicePerimeter title */
+ title?: (string|null);
+
+ /** ServicePerimeter description */
+ description?: (string|null);
+
+ /** ServicePerimeter createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ServicePerimeter updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ServicePerimeter perimeterType */
+ perimeterType?: (google.identity.accesscontextmanager.v1.ServicePerimeter.PerimeterType|keyof typeof google.identity.accesscontextmanager.v1.ServicePerimeter.PerimeterType|null);
+
+ /** ServicePerimeter status */
+ status?: (google.identity.accesscontextmanager.v1.IServicePerimeterConfig|null);
+
+ /** ServicePerimeter spec */
+ spec?: (google.identity.accesscontextmanager.v1.IServicePerimeterConfig|null);
+
+ /** ServicePerimeter useExplicitDryRunSpec */
+ useExplicitDryRunSpec?: (boolean|null);
+ }
+
+ /** Represents a ServicePerimeter. */
+ class ServicePerimeter implements IServicePerimeter {
+
+ /**
+ * Constructs a new ServicePerimeter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.IServicePerimeter);
+
+ /** ServicePerimeter name. */
+ public name: string;
+
+ /** ServicePerimeter title. */
+ public title: string;
+
+ /** ServicePerimeter description. */
+ public description: string;
+
+ /** ServicePerimeter createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ServicePerimeter updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ServicePerimeter perimeterType. */
+ public perimeterType: (google.identity.accesscontextmanager.v1.ServicePerimeter.PerimeterType|keyof typeof google.identity.accesscontextmanager.v1.ServicePerimeter.PerimeterType);
+
+ /** ServicePerimeter status. */
+ public status?: (google.identity.accesscontextmanager.v1.IServicePerimeterConfig|null);
+
+ /** ServicePerimeter spec. */
+ public spec?: (google.identity.accesscontextmanager.v1.IServicePerimeterConfig|null);
+
+ /** ServicePerimeter useExplicitDryRunSpec. */
+ public useExplicitDryRunSpec: boolean;
+
+ /**
+ * Creates a new ServicePerimeter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServicePerimeter instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.IServicePerimeter): google.identity.accesscontextmanager.v1.ServicePerimeter;
+
+ /**
+ * Encodes the specified ServicePerimeter message. Does not implicitly {@link google.identity.accesscontextmanager.v1.ServicePerimeter.verify|verify} messages.
+ * @param message ServicePerimeter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.IServicePerimeter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServicePerimeter message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.ServicePerimeter.verify|verify} messages.
+ * @param message ServicePerimeter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.IServicePerimeter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServicePerimeter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServicePerimeter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.ServicePerimeter;
+
+ /**
+ * Decodes a ServicePerimeter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServicePerimeter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.ServicePerimeter;
+
+ /**
+ * Verifies a ServicePerimeter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServicePerimeter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServicePerimeter
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.ServicePerimeter;
+
+ /**
+ * Creates a plain object from a ServicePerimeter message. Also converts values to other types if specified.
+ * @param message ServicePerimeter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.ServicePerimeter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServicePerimeter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServicePerimeter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ServicePerimeter {
+
+ /** PerimeterType enum. */
+ enum PerimeterType {
+ PERIMETER_TYPE_REGULAR = 0,
+ PERIMETER_TYPE_BRIDGE = 1
+ }
+ }
+
+ /** Properties of a ServicePerimeterConfig. */
+ interface IServicePerimeterConfig {
+
+ /** ServicePerimeterConfig resources */
+ resources?: (string[]|null);
+
+ /** ServicePerimeterConfig accessLevels */
+ accessLevels?: (string[]|null);
+
+ /** ServicePerimeterConfig restrictedServices */
+ restrictedServices?: (string[]|null);
+
+ /** ServicePerimeterConfig vpcAccessibleServices */
+ vpcAccessibleServices?: (google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IVpcAccessibleServices|null);
+ }
+
+ /** Represents a ServicePerimeterConfig. */
+ class ServicePerimeterConfig implements IServicePerimeterConfig {
+
+ /**
+ * Constructs a new ServicePerimeterConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.IServicePerimeterConfig);
+
+ /** ServicePerimeterConfig resources. */
+ public resources: string[];
+
+ /** ServicePerimeterConfig accessLevels. */
+ public accessLevels: string[];
+
+ /** ServicePerimeterConfig restrictedServices. */
+ public restrictedServices: string[];
+
+ /** ServicePerimeterConfig vpcAccessibleServices. */
+ public vpcAccessibleServices?: (google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IVpcAccessibleServices|null);
+
+ /**
+ * Creates a new ServicePerimeterConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServicePerimeterConfig instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.IServicePerimeterConfig): google.identity.accesscontextmanager.v1.ServicePerimeterConfig;
+
+ /**
+ * Encodes the specified ServicePerimeterConfig message. Does not implicitly {@link google.identity.accesscontextmanager.v1.ServicePerimeterConfig.verify|verify} messages.
+ * @param message ServicePerimeterConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.IServicePerimeterConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServicePerimeterConfig message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.ServicePerimeterConfig.verify|verify} messages.
+ * @param message ServicePerimeterConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.IServicePerimeterConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServicePerimeterConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServicePerimeterConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.ServicePerimeterConfig;
+
+ /**
+ * Decodes a ServicePerimeterConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServicePerimeterConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.ServicePerimeterConfig;
+
+ /**
+ * Verifies a ServicePerimeterConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServicePerimeterConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServicePerimeterConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.ServicePerimeterConfig;
+
+ /**
+ * Creates a plain object from a ServicePerimeterConfig message. Also converts values to other types if specified.
+ * @param message ServicePerimeterConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.ServicePerimeterConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServicePerimeterConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServicePerimeterConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ServicePerimeterConfig {
+
+ /** Properties of a VpcAccessibleServices. */
+ interface IVpcAccessibleServices {
+
+ /** VpcAccessibleServices enableRestriction */
+ enableRestriction?: (boolean|null);
+
+ /** VpcAccessibleServices allowedServices */
+ allowedServices?: (string[]|null);
+ }
+
+ /** Represents a VpcAccessibleServices. */
+ class VpcAccessibleServices implements IVpcAccessibleServices {
+
+ /**
+ * Constructs a new VpcAccessibleServices.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IVpcAccessibleServices);
+
+ /** VpcAccessibleServices enableRestriction. */
+ public enableRestriction: boolean;
+
+ /** VpcAccessibleServices allowedServices. */
+ public allowedServices: string[];
+
+ /**
+ * Creates a new VpcAccessibleServices instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns VpcAccessibleServices instance
+ */
+ public static create(properties?: google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IVpcAccessibleServices): google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices;
+
+ /**
+ * Encodes the specified VpcAccessibleServices message. Does not implicitly {@link google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices.verify|verify} messages.
+ * @param message VpcAccessibleServices message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IVpcAccessibleServices, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified VpcAccessibleServices message, length delimited. Does not implicitly {@link google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices.verify|verify} messages.
+ * @param message VpcAccessibleServices message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.identity.accesscontextmanager.v1.ServicePerimeterConfig.IVpcAccessibleServices, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a VpcAccessibleServices message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns VpcAccessibleServices
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices;
+
+ /**
+ * Decodes a VpcAccessibleServices message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns VpcAccessibleServices
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices;
+
+ /**
+ * Verifies a VpcAccessibleServices message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a VpcAccessibleServices message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns VpcAccessibleServices
+ */
+ public static fromObject(object: { [k: string]: any }): google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices;
+
+ /**
+ * Creates a plain object from a VpcAccessibleServices message. Also converts values to other types if specified.
+ * @param message VpcAccessibleServices
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.identity.accesscontextmanager.v1.ServicePerimeterConfig.VpcAccessibleServices, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this VpcAccessibleServices to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for VpcAccessibleServices
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** DeviceEncryptionStatus enum. */
+ enum DeviceEncryptionStatus {
+ ENCRYPTION_UNSPECIFIED = 0,
+ ENCRYPTION_UNSUPPORTED = 1,
+ UNENCRYPTED = 2,
+ ENCRYPTED = 3
+ }
+
+ /** OsType enum. */
+ enum OsType {
+ OS_UNSPECIFIED = 0,
+ DESKTOP_MAC = 1,
+ DESKTOP_WINDOWS = 2,
+ DESKTOP_LINUX = 3,
+ DESKTOP_CHROME_OS = 6,
+ ANDROID = 4,
+ IOS = 5
+ }
+
+ /** DeviceManagementLevel enum. */
+ enum DeviceManagementLevel {
+ MANAGEMENT_UNSPECIFIED = 0,
+ NONE = 1,
+ BASIC = 2,
+ COMPLETE = 3
+ }
+ }
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Code enum. */
+ enum Code {
+ OK = 0,
+ CANCELLED = 1,
+ UNKNOWN = 2,
+ INVALID_ARGUMENT = 3,
+ DEADLINE_EXCEEDED = 4,
+ NOT_FOUND = 5,
+ ALREADY_EXISTS = 6,
+ PERMISSION_DENIED = 7,
+ UNAUTHENTICATED = 16,
+ RESOURCE_EXHAUSTED = 8,
+ FAILED_PRECONDITION = 9,
+ ABORTED = 10,
+ OUT_OF_RANGE = 11,
+ UNIMPLEMENTED = 12,
+ INTERNAL = 13,
+ UNAVAILABLE = 14,
+ DATA_LOSS = 15
+ }
+
+ /** 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 longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/packages/google-cloud-asset/protos/protos.js b/packages/google-cloud-asset/protos/protos.js
new file mode 100644
index 00000000000..ad66b767fd7
--- /dev/null
+++ b/packages/google-cloud-asset/protos/protos.js
@@ -0,0 +1,66117 @@
+// 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_asset_protos || ($protobuf.roots._google_cloud_asset_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.asset = (function() {
+
+ /**
+ * Namespace asset.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var asset = {};
+
+ asset.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.asset
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.AssetService = (function() {
+
+ /**
+ * Constructs a new AssetService service.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an AssetService
+ * @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 AssetService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (AssetService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = AssetService;
+
+ /**
+ * Creates new AssetService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.asset.v1.AssetService
+ * @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 {AssetService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ AssetService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|exportAssets}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef ExportAssetsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls ExportAssets.
+ * @function exportAssets
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IExportAssetsRequest} request ExportAssetsRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.ExportAssetsCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.exportAssets = function exportAssets(request, callback) {
+ return this.rpcCall(exportAssets, $root.google.cloud.asset.v1.ExportAssetsRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "ExportAssets" });
+
+ /**
+ * Calls ExportAssets.
+ * @function exportAssets
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IExportAssetsRequest} request ExportAssetsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|listAssets}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef ListAssetsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.ListAssetsResponse} [response] ListAssetsResponse
+ */
+
+ /**
+ * Calls ListAssets.
+ * @function listAssets
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IListAssetsRequest} request ListAssetsRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.ListAssetsCallback} callback Node-style callback called with the error, if any, and ListAssetsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.listAssets = function listAssets(request, callback) {
+ return this.rpcCall(listAssets, $root.google.cloud.asset.v1.ListAssetsRequest, $root.google.cloud.asset.v1.ListAssetsResponse, request, callback);
+ }, "name", { value: "ListAssets" });
+
+ /**
+ * Calls ListAssets.
+ * @function listAssets
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IListAssetsRequest} request ListAssetsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|batchGetAssetsHistory}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef BatchGetAssetsHistoryCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.BatchGetAssetsHistoryResponse} [response] BatchGetAssetsHistoryResponse
+ */
+
+ /**
+ * Calls BatchGetAssetsHistory.
+ * @function batchGetAssetsHistory
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryRequest} request BatchGetAssetsHistoryRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.BatchGetAssetsHistoryCallback} callback Node-style callback called with the error, if any, and BatchGetAssetsHistoryResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.batchGetAssetsHistory = function batchGetAssetsHistory(request, callback) {
+ return this.rpcCall(batchGetAssetsHistory, $root.google.cloud.asset.v1.BatchGetAssetsHistoryRequest, $root.google.cloud.asset.v1.BatchGetAssetsHistoryResponse, request, callback);
+ }, "name", { value: "BatchGetAssetsHistory" });
+
+ /**
+ * Calls BatchGetAssetsHistory.
+ * @function batchGetAssetsHistory
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryRequest} request BatchGetAssetsHistoryRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|createFeed}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef CreateFeedCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.Feed} [response] Feed
+ */
+
+ /**
+ * Calls CreateFeed.
+ * @function createFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ICreateFeedRequest} request CreateFeedRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.CreateFeedCallback} callback Node-style callback called with the error, if any, and Feed
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.createFeed = function createFeed(request, callback) {
+ return this.rpcCall(createFeed, $root.google.cloud.asset.v1.CreateFeedRequest, $root.google.cloud.asset.v1.Feed, request, callback);
+ }, "name", { value: "CreateFeed" });
+
+ /**
+ * Calls CreateFeed.
+ * @function createFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ICreateFeedRequest} request CreateFeedRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|getFeed}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef GetFeedCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.Feed} [response] Feed
+ */
+
+ /**
+ * Calls GetFeed.
+ * @function getFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IGetFeedRequest} request GetFeedRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.GetFeedCallback} callback Node-style callback called with the error, if any, and Feed
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.getFeed = function getFeed(request, callback) {
+ return this.rpcCall(getFeed, $root.google.cloud.asset.v1.GetFeedRequest, $root.google.cloud.asset.v1.Feed, request, callback);
+ }, "name", { value: "GetFeed" });
+
+ /**
+ * Calls GetFeed.
+ * @function getFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IGetFeedRequest} request GetFeedRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|listFeeds}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef ListFeedsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.ListFeedsResponse} [response] ListFeedsResponse
+ */
+
+ /**
+ * Calls ListFeeds.
+ * @function listFeeds
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IListFeedsRequest} request ListFeedsRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.ListFeedsCallback} callback Node-style callback called with the error, if any, and ListFeedsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.listFeeds = function listFeeds(request, callback) {
+ return this.rpcCall(listFeeds, $root.google.cloud.asset.v1.ListFeedsRequest, $root.google.cloud.asset.v1.ListFeedsResponse, request, callback);
+ }, "name", { value: "ListFeeds" });
+
+ /**
+ * Calls ListFeeds.
+ * @function listFeeds
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IListFeedsRequest} request ListFeedsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|updateFeed}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef UpdateFeedCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.Feed} [response] Feed
+ */
+
+ /**
+ * Calls UpdateFeed.
+ * @function updateFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IUpdateFeedRequest} request UpdateFeedRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.UpdateFeedCallback} callback Node-style callback called with the error, if any, and Feed
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.updateFeed = function updateFeed(request, callback) {
+ return this.rpcCall(updateFeed, $root.google.cloud.asset.v1.UpdateFeedRequest, $root.google.cloud.asset.v1.Feed, request, callback);
+ }, "name", { value: "UpdateFeed" });
+
+ /**
+ * Calls UpdateFeed.
+ * @function updateFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IUpdateFeedRequest} request UpdateFeedRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|deleteFeed}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef DeleteFeedCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteFeed.
+ * @function deleteFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IDeleteFeedRequest} request DeleteFeedRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.DeleteFeedCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.deleteFeed = function deleteFeed(request, callback) {
+ return this.rpcCall(deleteFeed, $root.google.cloud.asset.v1.DeleteFeedRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteFeed" });
+
+ /**
+ * Calls DeleteFeed.
+ * @function deleteFeed
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IDeleteFeedRequest} request DeleteFeedRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|searchAllResources}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef SearchAllResourcesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.SearchAllResourcesResponse} [response] SearchAllResourcesResponse
+ */
+
+ /**
+ * Calls SearchAllResources.
+ * @function searchAllResources
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ISearchAllResourcesRequest} request SearchAllResourcesRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.SearchAllResourcesCallback} callback Node-style callback called with the error, if any, and SearchAllResourcesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.searchAllResources = function searchAllResources(request, callback) {
+ return this.rpcCall(searchAllResources, $root.google.cloud.asset.v1.SearchAllResourcesRequest, $root.google.cloud.asset.v1.SearchAllResourcesResponse, request, callback);
+ }, "name", { value: "SearchAllResources" });
+
+ /**
+ * Calls SearchAllResources.
+ * @function searchAllResources
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ISearchAllResourcesRequest} request SearchAllResourcesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|searchAllIamPolicies}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef SearchAllIamPoliciesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.SearchAllIamPoliciesResponse} [response] SearchAllIamPoliciesResponse
+ */
+
+ /**
+ * Calls SearchAllIamPolicies.
+ * @function searchAllIamPolicies
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesRequest} request SearchAllIamPoliciesRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.SearchAllIamPoliciesCallback} callback Node-style callback called with the error, if any, and SearchAllIamPoliciesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.searchAllIamPolicies = function searchAllIamPolicies(request, callback) {
+ return this.rpcCall(searchAllIamPolicies, $root.google.cloud.asset.v1.SearchAllIamPoliciesRequest, $root.google.cloud.asset.v1.SearchAllIamPoliciesResponse, request, callback);
+ }, "name", { value: "SearchAllIamPolicies" });
+
+ /**
+ * Calls SearchAllIamPolicies.
+ * @function searchAllIamPolicies
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesRequest} request SearchAllIamPoliciesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|analyzeIamPolicy}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef AnalyzeIamPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.AnalyzeIamPolicyResponse} [response] AnalyzeIamPolicyResponse
+ */
+
+ /**
+ * Calls AnalyzeIamPolicy.
+ * @function analyzeIamPolicy
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyRequest} request AnalyzeIamPolicyRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.AnalyzeIamPolicyCallback} callback Node-style callback called with the error, if any, and AnalyzeIamPolicyResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.analyzeIamPolicy = function analyzeIamPolicy(request, callback) {
+ return this.rpcCall(analyzeIamPolicy, $root.google.cloud.asset.v1.AnalyzeIamPolicyRequest, $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse, request, callback);
+ }, "name", { value: "AnalyzeIamPolicy" });
+
+ /**
+ * Calls AnalyzeIamPolicy.
+ * @function analyzeIamPolicy
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyRequest} request AnalyzeIamPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|analyzeIamPolicyLongrunning}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef AnalyzeIamPolicyLongrunningCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls AnalyzeIamPolicyLongrunning.
+ * @function analyzeIamPolicyLongrunning
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest} request AnalyzeIamPolicyLongrunningRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunningCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.analyzeIamPolicyLongrunning = function analyzeIamPolicyLongrunning(request, callback) {
+ return this.rpcCall(analyzeIamPolicyLongrunning, $root.google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "AnalyzeIamPolicyLongrunning" });
+
+ /**
+ * Calls AnalyzeIamPolicyLongrunning.
+ * @function analyzeIamPolicyLongrunning
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningRequest} request AnalyzeIamPolicyLongrunningRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|analyzeMove}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef AnalyzeMoveCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.AnalyzeMoveResponse} [response] AnalyzeMoveResponse
+ */
+
+ /**
+ * Calls AnalyzeMove.
+ * @function analyzeMove
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IAnalyzeMoveRequest} request AnalyzeMoveRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.AnalyzeMoveCallback} callback Node-style callback called with the error, if any, and AnalyzeMoveResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.analyzeMove = function analyzeMove(request, callback) {
+ return this.rpcCall(analyzeMove, $root.google.cloud.asset.v1.AnalyzeMoveRequest, $root.google.cloud.asset.v1.AnalyzeMoveResponse, request, callback);
+ }, "name", { value: "AnalyzeMove" });
+
+ /**
+ * Calls AnalyzeMove.
+ * @function analyzeMove
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IAnalyzeMoveRequest} request AnalyzeMoveRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|queryAssets}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef QueryAssetsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.QueryAssetsResponse} [response] QueryAssetsResponse
+ */
+
+ /**
+ * Calls QueryAssets.
+ * @function queryAssets
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IQueryAssetsRequest} request QueryAssetsRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.QueryAssetsCallback} callback Node-style callback called with the error, if any, and QueryAssetsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.queryAssets = function queryAssets(request, callback) {
+ return this.rpcCall(queryAssets, $root.google.cloud.asset.v1.QueryAssetsRequest, $root.google.cloud.asset.v1.QueryAssetsResponse, request, callback);
+ }, "name", { value: "QueryAssets" });
+
+ /**
+ * Calls QueryAssets.
+ * @function queryAssets
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IQueryAssetsRequest} request QueryAssetsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|createSavedQuery}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef CreateSavedQueryCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.SavedQuery} [response] SavedQuery
+ */
+
+ /**
+ * Calls CreateSavedQuery.
+ * @function createSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ICreateSavedQueryRequest} request CreateSavedQueryRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.CreateSavedQueryCallback} callback Node-style callback called with the error, if any, and SavedQuery
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.createSavedQuery = function createSavedQuery(request, callback) {
+ return this.rpcCall(createSavedQuery, $root.google.cloud.asset.v1.CreateSavedQueryRequest, $root.google.cloud.asset.v1.SavedQuery, request, callback);
+ }, "name", { value: "CreateSavedQuery" });
+
+ /**
+ * Calls CreateSavedQuery.
+ * @function createSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.ICreateSavedQueryRequest} request CreateSavedQueryRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|getSavedQuery}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef GetSavedQueryCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.SavedQuery} [response] SavedQuery
+ */
+
+ /**
+ * Calls GetSavedQuery.
+ * @function getSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IGetSavedQueryRequest} request GetSavedQueryRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.GetSavedQueryCallback} callback Node-style callback called with the error, if any, and SavedQuery
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.getSavedQuery = function getSavedQuery(request, callback) {
+ return this.rpcCall(getSavedQuery, $root.google.cloud.asset.v1.GetSavedQueryRequest, $root.google.cloud.asset.v1.SavedQuery, request, callback);
+ }, "name", { value: "GetSavedQuery" });
+
+ /**
+ * Calls GetSavedQuery.
+ * @function getSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IGetSavedQueryRequest} request GetSavedQueryRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|listSavedQueries}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef ListSavedQueriesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.ListSavedQueriesResponse} [response] ListSavedQueriesResponse
+ */
+
+ /**
+ * Calls ListSavedQueries.
+ * @function listSavedQueries
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IListSavedQueriesRequest} request ListSavedQueriesRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.ListSavedQueriesCallback} callback Node-style callback called with the error, if any, and ListSavedQueriesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.listSavedQueries = function listSavedQueries(request, callback) {
+ return this.rpcCall(listSavedQueries, $root.google.cloud.asset.v1.ListSavedQueriesRequest, $root.google.cloud.asset.v1.ListSavedQueriesResponse, request, callback);
+ }, "name", { value: "ListSavedQueries" });
+
+ /**
+ * Calls ListSavedQueries.
+ * @function listSavedQueries
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IListSavedQueriesRequest} request ListSavedQueriesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|updateSavedQuery}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef UpdateSavedQueryCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.SavedQuery} [response] SavedQuery
+ */
+
+ /**
+ * Calls UpdateSavedQuery.
+ * @function updateSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IUpdateSavedQueryRequest} request UpdateSavedQueryRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.UpdateSavedQueryCallback} callback Node-style callback called with the error, if any, and SavedQuery
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.updateSavedQuery = function updateSavedQuery(request, callback) {
+ return this.rpcCall(updateSavedQuery, $root.google.cloud.asset.v1.UpdateSavedQueryRequest, $root.google.cloud.asset.v1.SavedQuery, request, callback);
+ }, "name", { value: "UpdateSavedQuery" });
+
+ /**
+ * Calls UpdateSavedQuery.
+ * @function updateSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IUpdateSavedQueryRequest} request UpdateSavedQueryRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|deleteSavedQuery}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef DeleteSavedQueryCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteSavedQuery.
+ * @function deleteSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IDeleteSavedQueryRequest} request DeleteSavedQueryRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.DeleteSavedQueryCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.deleteSavedQuery = function deleteSavedQuery(request, callback) {
+ return this.rpcCall(deleteSavedQuery, $root.google.cloud.asset.v1.DeleteSavedQueryRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteSavedQuery" });
+
+ /**
+ * Calls DeleteSavedQuery.
+ * @function deleteSavedQuery
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IDeleteSavedQueryRequest} request DeleteSavedQueryRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.asset.v1.AssetService|batchGetEffectiveIamPolicies}.
+ * @memberof google.cloud.asset.v1.AssetService
+ * @typedef BatchGetEffectiveIamPoliciesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse} [response] BatchGetEffectiveIamPoliciesResponse
+ */
+
+ /**
+ * Calls BatchGetEffectiveIamPolicies.
+ * @function batchGetEffectiveIamPolicies
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest} request BatchGetEffectiveIamPoliciesRequest message or plain object
+ * @param {google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPoliciesCallback} callback Node-style callback called with the error, if any, and BatchGetEffectiveIamPoliciesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(AssetService.prototype.batchGetEffectiveIamPolicies = function batchGetEffectiveIamPolicies(request, callback) {
+ return this.rpcCall(batchGetEffectiveIamPolicies, $root.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest, $root.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse, request, callback);
+ }, "name", { value: "BatchGetEffectiveIamPolicies" });
+
+ /**
+ * Calls BatchGetEffectiveIamPolicies.
+ * @function batchGetEffectiveIamPolicies
+ * @memberof google.cloud.asset.v1.AssetService
+ * @instance
+ * @param {google.cloud.asset.v1.IBatchGetEffectiveIamPoliciesRequest} request BatchGetEffectiveIamPoliciesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return AssetService;
+ })();
+
+ v1.AnalyzeIamPolicyLongrunningMetadata = (function() {
+
+ /**
+ * Properties of an AnalyzeIamPolicyLongrunningMetadata.
+ * @memberof google.cloud.asset.v1
+ * @interface IAnalyzeIamPolicyLongrunningMetadata
+ * @property {google.protobuf.ITimestamp|null} [createTime] AnalyzeIamPolicyLongrunningMetadata createTime
+ */
+
+ /**
+ * Constructs a new AnalyzeIamPolicyLongrunningMetadata.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an AnalyzeIamPolicyLongrunningMetadata.
+ * @implements IAnalyzeIamPolicyLongrunningMetadata
+ * @constructor
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata=} [properties] Properties to set
+ */
+ function AnalyzeIamPolicyLongrunningMetadata(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]];
+ }
+
+ /**
+ * AnalyzeIamPolicyLongrunningMetadata createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @instance
+ */
+ AnalyzeIamPolicyLongrunningMetadata.prototype.createTime = null;
+
+ /**
+ * Creates a new AnalyzeIamPolicyLongrunningMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata} AnalyzeIamPolicyLongrunningMetadata instance
+ */
+ AnalyzeIamPolicyLongrunningMetadata.create = function create(properties) {
+ return new AnalyzeIamPolicyLongrunningMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningMetadata message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata} message AnalyzeIamPolicyLongrunningMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnalyzeIamPolicyLongrunningMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyLongrunningMetadata message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyLongrunningMetadata} message AnalyzeIamPolicyLongrunningMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnalyzeIamPolicyLongrunningMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata} AnalyzeIamPolicyLongrunningMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnalyzeIamPolicyLongrunningMetadata.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AnalyzeIamPolicyLongrunningMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata} AnalyzeIamPolicyLongrunningMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnalyzeIamPolicyLongrunningMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AnalyzeIamPolicyLongrunningMetadata message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AnalyzeIamPolicyLongrunningMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AnalyzeIamPolicyLongrunningMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata} AnalyzeIamPolicyLongrunningMetadata
+ */
+ AnalyzeIamPolicyLongrunningMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata)
+ return object;
+ var message = new $root.google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata();
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyLongrunningMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata} message AnalyzeIamPolicyLongrunningMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AnalyzeIamPolicyLongrunningMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.createTime = null;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this AnalyzeIamPolicyLongrunningMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AnalyzeIamPolicyLongrunningMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyLongrunningMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AnalyzeIamPolicyLongrunningMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.AnalyzeIamPolicyLongrunningMetadata";
+ };
+
+ return AnalyzeIamPolicyLongrunningMetadata;
+ })();
+
+ v1.ExportAssetsRequest = (function() {
+
+ /**
+ * Properties of an ExportAssetsRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IExportAssetsRequest
+ * @property {string|null} [parent] ExportAssetsRequest parent
+ * @property {google.protobuf.ITimestamp|null} [readTime] ExportAssetsRequest readTime
+ * @property {Array.|null} [assetTypes] ExportAssetsRequest assetTypes
+ * @property {google.cloud.asset.v1.ContentType|null} [contentType] ExportAssetsRequest contentType
+ * @property {google.cloud.asset.v1.IOutputConfig|null} [outputConfig] ExportAssetsRequest outputConfig
+ * @property {Array.|null} [relationshipTypes] ExportAssetsRequest relationshipTypes
+ */
+
+ /**
+ * Constructs a new ExportAssetsRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an ExportAssetsRequest.
+ * @implements IExportAssetsRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IExportAssetsRequest=} [properties] Properties to set
+ */
+ function ExportAssetsRequest(properties) {
+ this.assetTypes = [];
+ this.relationshipTypes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ExportAssetsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @instance
+ */
+ ExportAssetsRequest.prototype.parent = "";
+
+ /**
+ * ExportAssetsRequest readTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} readTime
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @instance
+ */
+ ExportAssetsRequest.prototype.readTime = null;
+
+ /**
+ * ExportAssetsRequest assetTypes.
+ * @member {Array.} assetTypes
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @instance
+ */
+ ExportAssetsRequest.prototype.assetTypes = $util.emptyArray;
+
+ /**
+ * ExportAssetsRequest contentType.
+ * @member {google.cloud.asset.v1.ContentType} contentType
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @instance
+ */
+ ExportAssetsRequest.prototype.contentType = 0;
+
+ /**
+ * ExportAssetsRequest outputConfig.
+ * @member {google.cloud.asset.v1.IOutputConfig|null|undefined} outputConfig
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @instance
+ */
+ ExportAssetsRequest.prototype.outputConfig = null;
+
+ /**
+ * ExportAssetsRequest relationshipTypes.
+ * @member {Array.} relationshipTypes
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @instance
+ */
+ ExportAssetsRequest.prototype.relationshipTypes = $util.emptyArray;
+
+ /**
+ * Creates a new ExportAssetsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IExportAssetsRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.ExportAssetsRequest} ExportAssetsRequest instance
+ */
+ ExportAssetsRequest.create = function create(properties) {
+ return new ExportAssetsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ExportAssetsRequest message. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IExportAssetsRequest} message ExportAssetsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportAssetsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.readTime != null && Object.hasOwnProperty.call(message, "readTime"))
+ $root.google.protobuf.Timestamp.encode(message.readTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.assetTypes != null && message.assetTypes.length)
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.assetTypes[i]);
+ if (message.contentType != null && Object.hasOwnProperty.call(message, "contentType"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.contentType);
+ if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig"))
+ $root.google.cloud.asset.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.relationshipTypes != null && message.relationshipTypes.length)
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.relationshipTypes[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExportAssetsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IExportAssetsRequest} message ExportAssetsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportAssetsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExportAssetsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.ExportAssetsRequest} ExportAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportAssetsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.ExportAssetsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.assetTypes && message.assetTypes.length))
+ message.assetTypes = [];
+ message.assetTypes.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.contentType = reader.int32();
+ break;
+ }
+ case 5: {
+ message.outputConfig = $root.google.cloud.asset.v1.OutputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ if (!(message.relationshipTypes && message.relationshipTypes.length))
+ message.relationshipTypes = [];
+ message.relationshipTypes.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExportAssetsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.ExportAssetsRequest} ExportAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportAssetsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExportAssetsRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExportAssetsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.readTime != null && message.hasOwnProperty("readTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+ if (error)
+ return "readTime." + error;
+ }
+ if (message.assetTypes != null && message.hasOwnProperty("assetTypes")) {
+ if (!Array.isArray(message.assetTypes))
+ return "assetTypes: array expected";
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ if (!$util.isString(message.assetTypes[i]))
+ return "assetTypes: string[] expected";
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ switch (message.contentType) {
+ default:
+ return "contentType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) {
+ var error = $root.google.cloud.asset.v1.OutputConfig.verify(message.outputConfig);
+ if (error)
+ return "outputConfig." + error;
+ }
+ if (message.relationshipTypes != null && message.hasOwnProperty("relationshipTypes")) {
+ if (!Array.isArray(message.relationshipTypes))
+ return "relationshipTypes: array expected";
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ if (!$util.isString(message.relationshipTypes[i]))
+ return "relationshipTypes: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExportAssetsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.ExportAssetsRequest} ExportAssetsRequest
+ */
+ ExportAssetsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.ExportAssetsRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.ExportAssetsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.readTime != null) {
+ if (typeof object.readTime !== "object")
+ throw TypeError(".google.cloud.asset.v1.ExportAssetsRequest.readTime: object expected");
+ message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+ }
+ if (object.assetTypes) {
+ if (!Array.isArray(object.assetTypes))
+ throw TypeError(".google.cloud.asset.v1.ExportAssetsRequest.assetTypes: array expected");
+ message.assetTypes = [];
+ for (var i = 0; i < object.assetTypes.length; ++i)
+ message.assetTypes[i] = String(object.assetTypes[i]);
+ }
+ switch (object.contentType) {
+ default:
+ if (typeof object.contentType === "number") {
+ message.contentType = object.contentType;
+ break;
+ }
+ break;
+ case "CONTENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.contentType = 0;
+ break;
+ case "RESOURCE":
+ case 1:
+ message.contentType = 1;
+ break;
+ case "IAM_POLICY":
+ case 2:
+ message.contentType = 2;
+ break;
+ case "ORG_POLICY":
+ case 4:
+ message.contentType = 4;
+ break;
+ case "ACCESS_POLICY":
+ case 5:
+ message.contentType = 5;
+ break;
+ case "OS_INVENTORY":
+ case 6:
+ message.contentType = 6;
+ break;
+ case "RELATIONSHIP":
+ case 7:
+ message.contentType = 7;
+ break;
+ }
+ if (object.outputConfig != null) {
+ if (typeof object.outputConfig !== "object")
+ throw TypeError(".google.cloud.asset.v1.ExportAssetsRequest.outputConfig: object expected");
+ message.outputConfig = $root.google.cloud.asset.v1.OutputConfig.fromObject(object.outputConfig);
+ }
+ if (object.relationshipTypes) {
+ if (!Array.isArray(object.relationshipTypes))
+ throw TypeError(".google.cloud.asset.v1.ExportAssetsRequest.relationshipTypes: array expected");
+ message.relationshipTypes = [];
+ for (var i = 0; i < object.relationshipTypes.length; ++i)
+ message.relationshipTypes[i] = String(object.relationshipTypes[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExportAssetsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.ExportAssetsRequest} message ExportAssetsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExportAssetsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.assetTypes = [];
+ object.relationshipTypes = [];
+ }
+ if (options.defaults) {
+ object.parent = "";
+ object.readTime = null;
+ object.contentType = options.enums === String ? "CONTENT_TYPE_UNSPECIFIED" : 0;
+ object.outputConfig = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.readTime != null && message.hasOwnProperty("readTime"))
+ object.readTime = $root.google.protobuf.Timestamp.toObject(message.readTime, options);
+ if (message.assetTypes && message.assetTypes.length) {
+ object.assetTypes = [];
+ for (var j = 0; j < message.assetTypes.length; ++j)
+ object.assetTypes[j] = message.assetTypes[j];
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ object.contentType = options.enums === String ? $root.google.cloud.asset.v1.ContentType[message.contentType] === undefined ? message.contentType : $root.google.cloud.asset.v1.ContentType[message.contentType] : message.contentType;
+ if (message.outputConfig != null && message.hasOwnProperty("outputConfig"))
+ object.outputConfig = $root.google.cloud.asset.v1.OutputConfig.toObject(message.outputConfig, options);
+ if (message.relationshipTypes && message.relationshipTypes.length) {
+ object.relationshipTypes = [];
+ for (var j = 0; j < message.relationshipTypes.length; ++j)
+ object.relationshipTypes[j] = message.relationshipTypes[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ExportAssetsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExportAssetsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExportAssetsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.ExportAssetsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExportAssetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.ExportAssetsRequest";
+ };
+
+ return ExportAssetsRequest;
+ })();
+
+ v1.ExportAssetsResponse = (function() {
+
+ /**
+ * Properties of an ExportAssetsResponse.
+ * @memberof google.cloud.asset.v1
+ * @interface IExportAssetsResponse
+ * @property {google.protobuf.ITimestamp|null} [readTime] ExportAssetsResponse readTime
+ * @property {google.cloud.asset.v1.IOutputConfig|null} [outputConfig] ExportAssetsResponse outputConfig
+ * @property {google.cloud.asset.v1.IOutputResult|null} [outputResult] ExportAssetsResponse outputResult
+ */
+
+ /**
+ * Constructs a new ExportAssetsResponse.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an ExportAssetsResponse.
+ * @implements IExportAssetsResponse
+ * @constructor
+ * @param {google.cloud.asset.v1.IExportAssetsResponse=} [properties] Properties to set
+ */
+ function ExportAssetsResponse(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]];
+ }
+
+ /**
+ * ExportAssetsResponse readTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} readTime
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @instance
+ */
+ ExportAssetsResponse.prototype.readTime = null;
+
+ /**
+ * ExportAssetsResponse outputConfig.
+ * @member {google.cloud.asset.v1.IOutputConfig|null|undefined} outputConfig
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @instance
+ */
+ ExportAssetsResponse.prototype.outputConfig = null;
+
+ /**
+ * ExportAssetsResponse outputResult.
+ * @member {google.cloud.asset.v1.IOutputResult|null|undefined} outputResult
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @instance
+ */
+ ExportAssetsResponse.prototype.outputResult = null;
+
+ /**
+ * Creates a new ExportAssetsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IExportAssetsResponse=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.ExportAssetsResponse} ExportAssetsResponse instance
+ */
+ ExportAssetsResponse.create = function create(properties) {
+ return new ExportAssetsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ExportAssetsResponse message. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IExportAssetsResponse} message ExportAssetsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportAssetsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.readTime != null && Object.hasOwnProperty.call(message, "readTime"))
+ $root.google.protobuf.Timestamp.encode(message.readTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.outputConfig != null && Object.hasOwnProperty.call(message, "outputConfig"))
+ $root.google.cloud.asset.v1.OutputConfig.encode(message.outputConfig, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.outputResult != null && Object.hasOwnProperty.call(message, "outputResult"))
+ $root.google.cloud.asset.v1.OutputResult.encode(message.outputResult, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExportAssetsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ExportAssetsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IExportAssetsResponse} message ExportAssetsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExportAssetsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExportAssetsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.ExportAssetsResponse} ExportAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportAssetsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.ExportAssetsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.outputConfig = $root.google.cloud.asset.v1.OutputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.outputResult = $root.google.cloud.asset.v1.OutputResult.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExportAssetsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.ExportAssetsResponse} ExportAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExportAssetsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExportAssetsResponse message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExportAssetsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.readTime != null && message.hasOwnProperty("readTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+ if (error)
+ return "readTime." + error;
+ }
+ if (message.outputConfig != null && message.hasOwnProperty("outputConfig")) {
+ var error = $root.google.cloud.asset.v1.OutputConfig.verify(message.outputConfig);
+ if (error)
+ return "outputConfig." + error;
+ }
+ if (message.outputResult != null && message.hasOwnProperty("outputResult")) {
+ var error = $root.google.cloud.asset.v1.OutputResult.verify(message.outputResult);
+ if (error)
+ return "outputResult." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExportAssetsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.ExportAssetsResponse} ExportAssetsResponse
+ */
+ ExportAssetsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.ExportAssetsResponse)
+ return object;
+ var message = new $root.google.cloud.asset.v1.ExportAssetsResponse();
+ if (object.readTime != null) {
+ if (typeof object.readTime !== "object")
+ throw TypeError(".google.cloud.asset.v1.ExportAssetsResponse.readTime: object expected");
+ message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+ }
+ if (object.outputConfig != null) {
+ if (typeof object.outputConfig !== "object")
+ throw TypeError(".google.cloud.asset.v1.ExportAssetsResponse.outputConfig: object expected");
+ message.outputConfig = $root.google.cloud.asset.v1.OutputConfig.fromObject(object.outputConfig);
+ }
+ if (object.outputResult != null) {
+ if (typeof object.outputResult !== "object")
+ throw TypeError(".google.cloud.asset.v1.ExportAssetsResponse.outputResult: object expected");
+ message.outputResult = $root.google.cloud.asset.v1.OutputResult.fromObject(object.outputResult);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExportAssetsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.ExportAssetsResponse} message ExportAssetsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExportAssetsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.readTime = null;
+ object.outputConfig = null;
+ object.outputResult = null;
+ }
+ if (message.readTime != null && message.hasOwnProperty("readTime"))
+ object.readTime = $root.google.protobuf.Timestamp.toObject(message.readTime, options);
+ if (message.outputConfig != null && message.hasOwnProperty("outputConfig"))
+ object.outputConfig = $root.google.cloud.asset.v1.OutputConfig.toObject(message.outputConfig, options);
+ if (message.outputResult != null && message.hasOwnProperty("outputResult"))
+ object.outputResult = $root.google.cloud.asset.v1.OutputResult.toObject(message.outputResult, options);
+ return object;
+ };
+
+ /**
+ * Converts this ExportAssetsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExportAssetsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExportAssetsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.ExportAssetsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExportAssetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.ExportAssetsResponse";
+ };
+
+ return ExportAssetsResponse;
+ })();
+
+ v1.ListAssetsRequest = (function() {
+
+ /**
+ * Properties of a ListAssetsRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IListAssetsRequest
+ * @property {string|null} [parent] ListAssetsRequest parent
+ * @property {google.protobuf.ITimestamp|null} [readTime] ListAssetsRequest readTime
+ * @property {Array.|null} [assetTypes] ListAssetsRequest assetTypes
+ * @property {google.cloud.asset.v1.ContentType|null} [contentType] ListAssetsRequest contentType
+ * @property {number|null} [pageSize] ListAssetsRequest pageSize
+ * @property {string|null} [pageToken] ListAssetsRequest pageToken
+ * @property {Array.|null} [relationshipTypes] ListAssetsRequest relationshipTypes
+ */
+
+ /**
+ * Constructs a new ListAssetsRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a ListAssetsRequest.
+ * @implements IListAssetsRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IListAssetsRequest=} [properties] Properties to set
+ */
+ function ListAssetsRequest(properties) {
+ this.assetTypes = [];
+ this.relationshipTypes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListAssetsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ */
+ ListAssetsRequest.prototype.parent = "";
+
+ /**
+ * ListAssetsRequest readTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} readTime
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ */
+ ListAssetsRequest.prototype.readTime = null;
+
+ /**
+ * ListAssetsRequest assetTypes.
+ * @member {Array.} assetTypes
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ */
+ ListAssetsRequest.prototype.assetTypes = $util.emptyArray;
+
+ /**
+ * ListAssetsRequest contentType.
+ * @member {google.cloud.asset.v1.ContentType} contentType
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ */
+ ListAssetsRequest.prototype.contentType = 0;
+
+ /**
+ * ListAssetsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ */
+ ListAssetsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListAssetsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ */
+ ListAssetsRequest.prototype.pageToken = "";
+
+ /**
+ * ListAssetsRequest relationshipTypes.
+ * @member {Array.} relationshipTypes
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ */
+ ListAssetsRequest.prototype.relationshipTypes = $util.emptyArray;
+
+ /**
+ * Creates a new ListAssetsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IListAssetsRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.ListAssetsRequest} ListAssetsRequest instance
+ */
+ ListAssetsRequest.create = function create(properties) {
+ return new ListAssetsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListAssetsRequest message. Does not implicitly {@link google.cloud.asset.v1.ListAssetsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IListAssetsRequest} message ListAssetsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAssetsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.readTime != null && Object.hasOwnProperty.call(message, "readTime"))
+ $root.google.protobuf.Timestamp.encode(message.readTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.assetTypes != null && message.assetTypes.length)
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.assetTypes[i]);
+ if (message.contentType != null && Object.hasOwnProperty.call(message, "contentType"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.contentType);
+ 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.relationshipTypes != null && message.relationshipTypes.length)
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.relationshipTypes[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListAssetsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListAssetsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IListAssetsRequest} message ListAssetsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAssetsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAssetsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.ListAssetsRequest} ListAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAssetsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.ListAssetsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.assetTypes && message.assetTypes.length))
+ message.assetTypes = [];
+ message.assetTypes.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.contentType = reader.int32();
+ break;
+ }
+ case 5: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 6: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 7: {
+ if (!(message.relationshipTypes && message.relationshipTypes.length))
+ message.relationshipTypes = [];
+ message.relationshipTypes.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAssetsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.ListAssetsRequest} ListAssetsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAssetsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAssetsRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAssetsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.readTime != null && message.hasOwnProperty("readTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+ if (error)
+ return "readTime." + error;
+ }
+ if (message.assetTypes != null && message.hasOwnProperty("assetTypes")) {
+ if (!Array.isArray(message.assetTypes))
+ return "assetTypes: array expected";
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ if (!$util.isString(message.assetTypes[i]))
+ return "assetTypes: string[] expected";
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ switch (message.contentType) {
+ default:
+ return "contentType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ 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.relationshipTypes != null && message.hasOwnProperty("relationshipTypes")) {
+ if (!Array.isArray(message.relationshipTypes))
+ return "relationshipTypes: array expected";
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ if (!$util.isString(message.relationshipTypes[i]))
+ return "relationshipTypes: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListAssetsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.ListAssetsRequest} ListAssetsRequest
+ */
+ ListAssetsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.ListAssetsRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.ListAssetsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.readTime != null) {
+ if (typeof object.readTime !== "object")
+ throw TypeError(".google.cloud.asset.v1.ListAssetsRequest.readTime: object expected");
+ message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+ }
+ if (object.assetTypes) {
+ if (!Array.isArray(object.assetTypes))
+ throw TypeError(".google.cloud.asset.v1.ListAssetsRequest.assetTypes: array expected");
+ message.assetTypes = [];
+ for (var i = 0; i < object.assetTypes.length; ++i)
+ message.assetTypes[i] = String(object.assetTypes[i]);
+ }
+ switch (object.contentType) {
+ default:
+ if (typeof object.contentType === "number") {
+ message.contentType = object.contentType;
+ break;
+ }
+ break;
+ case "CONTENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.contentType = 0;
+ break;
+ case "RESOURCE":
+ case 1:
+ message.contentType = 1;
+ break;
+ case "IAM_POLICY":
+ case 2:
+ message.contentType = 2;
+ break;
+ case "ORG_POLICY":
+ case 4:
+ message.contentType = 4;
+ break;
+ case "ACCESS_POLICY":
+ case 5:
+ message.contentType = 5;
+ break;
+ case "OS_INVENTORY":
+ case 6:
+ message.contentType = 6;
+ break;
+ case "RELATIONSHIP":
+ case 7:
+ message.contentType = 7;
+ break;
+ }
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.relationshipTypes) {
+ if (!Array.isArray(object.relationshipTypes))
+ throw TypeError(".google.cloud.asset.v1.ListAssetsRequest.relationshipTypes: array expected");
+ message.relationshipTypes = [];
+ for (var i = 0; i < object.relationshipTypes.length; ++i)
+ message.relationshipTypes[i] = String(object.relationshipTypes[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListAssetsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {google.cloud.asset.v1.ListAssetsRequest} message ListAssetsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAssetsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.assetTypes = [];
+ object.relationshipTypes = [];
+ }
+ if (options.defaults) {
+ object.parent = "";
+ object.readTime = null;
+ object.contentType = options.enums === String ? "CONTENT_TYPE_UNSPECIFIED" : 0;
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.readTime != null && message.hasOwnProperty("readTime"))
+ object.readTime = $root.google.protobuf.Timestamp.toObject(message.readTime, options);
+ if (message.assetTypes && message.assetTypes.length) {
+ object.assetTypes = [];
+ for (var j = 0; j < message.assetTypes.length; ++j)
+ object.assetTypes[j] = message.assetTypes[j];
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ object.contentType = options.enums === String ? $root.google.cloud.asset.v1.ContentType[message.contentType] === undefined ? message.contentType : $root.google.cloud.asset.v1.ContentType[message.contentType] : message.contentType;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.relationshipTypes && message.relationshipTypes.length) {
+ object.relationshipTypes = [];
+ for (var j = 0; j < message.relationshipTypes.length; ++j)
+ object.relationshipTypes[j] = message.relationshipTypes[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListAssetsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAssetsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAssetsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.ListAssetsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAssetsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.ListAssetsRequest";
+ };
+
+ return ListAssetsRequest;
+ })();
+
+ v1.ListAssetsResponse = (function() {
+
+ /**
+ * Properties of a ListAssetsResponse.
+ * @memberof google.cloud.asset.v1
+ * @interface IListAssetsResponse
+ * @property {google.protobuf.ITimestamp|null} [readTime] ListAssetsResponse readTime
+ * @property {Array.|null} [assets] ListAssetsResponse assets
+ * @property {string|null} [nextPageToken] ListAssetsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListAssetsResponse.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a ListAssetsResponse.
+ * @implements IListAssetsResponse
+ * @constructor
+ * @param {google.cloud.asset.v1.IListAssetsResponse=} [properties] Properties to set
+ */
+ function ListAssetsResponse(properties) {
+ this.assets = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListAssetsResponse readTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} readTime
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @instance
+ */
+ ListAssetsResponse.prototype.readTime = null;
+
+ /**
+ * ListAssetsResponse assets.
+ * @member {Array.} assets
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @instance
+ */
+ ListAssetsResponse.prototype.assets = $util.emptyArray;
+
+ /**
+ * ListAssetsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @instance
+ */
+ ListAssetsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListAssetsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IListAssetsResponse=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.ListAssetsResponse} ListAssetsResponse instance
+ */
+ ListAssetsResponse.create = function create(properties) {
+ return new ListAssetsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListAssetsResponse message. Does not implicitly {@link google.cloud.asset.v1.ListAssetsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IListAssetsResponse} message ListAssetsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAssetsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.readTime != null && Object.hasOwnProperty.call(message, "readTime"))
+ $root.google.protobuf.Timestamp.encode(message.readTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.assets != null && message.assets.length)
+ for (var i = 0; i < message.assets.length; ++i)
+ $root.google.cloud.asset.v1.Asset.encode(message.assets[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListAssetsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListAssetsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IListAssetsResponse} message ListAssetsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAssetsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAssetsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.ListAssetsResponse} ListAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAssetsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.ListAssetsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.assets && message.assets.length))
+ message.assets = [];
+ message.assets.push($root.google.cloud.asset.v1.Asset.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAssetsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.ListAssetsResponse} ListAssetsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAssetsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAssetsResponse message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAssetsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.readTime != null && message.hasOwnProperty("readTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+ if (error)
+ return "readTime." + error;
+ }
+ if (message.assets != null && message.hasOwnProperty("assets")) {
+ if (!Array.isArray(message.assets))
+ return "assets: array expected";
+ for (var i = 0; i < message.assets.length; ++i) {
+ var error = $root.google.cloud.asset.v1.Asset.verify(message.assets[i]);
+ if (error)
+ return "assets." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListAssetsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.ListAssetsResponse} ListAssetsResponse
+ */
+ ListAssetsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.ListAssetsResponse)
+ return object;
+ var message = new $root.google.cloud.asset.v1.ListAssetsResponse();
+ if (object.readTime != null) {
+ if (typeof object.readTime !== "object")
+ throw TypeError(".google.cloud.asset.v1.ListAssetsResponse.readTime: object expected");
+ message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+ }
+ if (object.assets) {
+ if (!Array.isArray(object.assets))
+ throw TypeError(".google.cloud.asset.v1.ListAssetsResponse.assets: array expected");
+ message.assets = [];
+ for (var i = 0; i < object.assets.length; ++i) {
+ if (typeof object.assets[i] !== "object")
+ throw TypeError(".google.cloud.asset.v1.ListAssetsResponse.assets: object expected");
+ message.assets[i] = $root.google.cloud.asset.v1.Asset.fromObject(object.assets[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListAssetsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {google.cloud.asset.v1.ListAssetsResponse} message ListAssetsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAssetsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.assets = [];
+ if (options.defaults) {
+ object.readTime = null;
+ object.nextPageToken = "";
+ }
+ if (message.readTime != null && message.hasOwnProperty("readTime"))
+ object.readTime = $root.google.protobuf.Timestamp.toObject(message.readTime, options);
+ if (message.assets && message.assets.length) {
+ object.assets = [];
+ for (var j = 0; j < message.assets.length; ++j)
+ object.assets[j] = $root.google.cloud.asset.v1.Asset.toObject(message.assets[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListAssetsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAssetsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAssetsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.ListAssetsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAssetsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.ListAssetsResponse";
+ };
+
+ return ListAssetsResponse;
+ })();
+
+ v1.BatchGetAssetsHistoryRequest = (function() {
+
+ /**
+ * Properties of a BatchGetAssetsHistoryRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IBatchGetAssetsHistoryRequest
+ * @property {string|null} [parent] BatchGetAssetsHistoryRequest parent
+ * @property {Array.|null} [assetNames] BatchGetAssetsHistoryRequest assetNames
+ * @property {google.cloud.asset.v1.ContentType|null} [contentType] BatchGetAssetsHistoryRequest contentType
+ * @property {google.cloud.asset.v1.ITimeWindow|null} [readTimeWindow] BatchGetAssetsHistoryRequest readTimeWindow
+ * @property {Array.|null} [relationshipTypes] BatchGetAssetsHistoryRequest relationshipTypes
+ */
+
+ /**
+ * Constructs a new BatchGetAssetsHistoryRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a BatchGetAssetsHistoryRequest.
+ * @implements IBatchGetAssetsHistoryRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryRequest=} [properties] Properties to set
+ */
+ function BatchGetAssetsHistoryRequest(properties) {
+ this.assetNames = [];
+ this.relationshipTypes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * BatchGetAssetsHistoryRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @instance
+ */
+ BatchGetAssetsHistoryRequest.prototype.parent = "";
+
+ /**
+ * BatchGetAssetsHistoryRequest assetNames.
+ * @member {Array.} assetNames
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @instance
+ */
+ BatchGetAssetsHistoryRequest.prototype.assetNames = $util.emptyArray;
+
+ /**
+ * BatchGetAssetsHistoryRequest contentType.
+ * @member {google.cloud.asset.v1.ContentType} contentType
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @instance
+ */
+ BatchGetAssetsHistoryRequest.prototype.contentType = 0;
+
+ /**
+ * BatchGetAssetsHistoryRequest readTimeWindow.
+ * @member {google.cloud.asset.v1.ITimeWindow|null|undefined} readTimeWindow
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @instance
+ */
+ BatchGetAssetsHistoryRequest.prototype.readTimeWindow = null;
+
+ /**
+ * BatchGetAssetsHistoryRequest relationshipTypes.
+ * @member {Array.} relationshipTypes
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @instance
+ */
+ BatchGetAssetsHistoryRequest.prototype.relationshipTypes = $util.emptyArray;
+
+ /**
+ * Creates a new BatchGetAssetsHistoryRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryRequest} BatchGetAssetsHistoryRequest instance
+ */
+ BatchGetAssetsHistoryRequest.create = function create(properties) {
+ return new BatchGetAssetsHistoryRequest(properties);
+ };
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryRequest message. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryRequest} message BatchGetAssetsHistoryRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BatchGetAssetsHistoryRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.assetNames != null && message.assetNames.length)
+ for (var i = 0; i < message.assetNames.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.assetNames[i]);
+ if (message.contentType != null && Object.hasOwnProperty.call(message, "contentType"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.contentType);
+ if (message.readTimeWindow != null && Object.hasOwnProperty.call(message, "readTimeWindow"))
+ $root.google.cloud.asset.v1.TimeWindow.encode(message.readTimeWindow, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.relationshipTypes != null && message.relationshipTypes.length)
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.relationshipTypes[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryRequest} message BatchGetAssetsHistoryRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BatchGetAssetsHistoryRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a BatchGetAssetsHistoryRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryRequest} BatchGetAssetsHistoryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BatchGetAssetsHistoryRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.BatchGetAssetsHistoryRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.assetNames && message.assetNames.length))
+ message.assetNames = [];
+ message.assetNames.push(reader.string());
+ break;
+ }
+ case 3: {
+ message.contentType = reader.int32();
+ break;
+ }
+ case 4: {
+ message.readTimeWindow = $root.google.cloud.asset.v1.TimeWindow.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ if (!(message.relationshipTypes && message.relationshipTypes.length))
+ message.relationshipTypes = [];
+ message.relationshipTypes.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a BatchGetAssetsHistoryRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryRequest} BatchGetAssetsHistoryRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BatchGetAssetsHistoryRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a BatchGetAssetsHistoryRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ BatchGetAssetsHistoryRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.assetNames != null && message.hasOwnProperty("assetNames")) {
+ if (!Array.isArray(message.assetNames))
+ return "assetNames: array expected";
+ for (var i = 0; i < message.assetNames.length; ++i)
+ if (!$util.isString(message.assetNames[i]))
+ return "assetNames: string[] expected";
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ switch (message.contentType) {
+ default:
+ return "contentType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.readTimeWindow != null && message.hasOwnProperty("readTimeWindow")) {
+ var error = $root.google.cloud.asset.v1.TimeWindow.verify(message.readTimeWindow);
+ if (error)
+ return "readTimeWindow." + error;
+ }
+ if (message.relationshipTypes != null && message.hasOwnProperty("relationshipTypes")) {
+ if (!Array.isArray(message.relationshipTypes))
+ return "relationshipTypes: array expected";
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ if (!$util.isString(message.relationshipTypes[i]))
+ return "relationshipTypes: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a BatchGetAssetsHistoryRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryRequest} BatchGetAssetsHistoryRequest
+ */
+ BatchGetAssetsHistoryRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.BatchGetAssetsHistoryRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.BatchGetAssetsHistoryRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.assetNames) {
+ if (!Array.isArray(object.assetNames))
+ throw TypeError(".google.cloud.asset.v1.BatchGetAssetsHistoryRequest.assetNames: array expected");
+ message.assetNames = [];
+ for (var i = 0; i < object.assetNames.length; ++i)
+ message.assetNames[i] = String(object.assetNames[i]);
+ }
+ switch (object.contentType) {
+ default:
+ if (typeof object.contentType === "number") {
+ message.contentType = object.contentType;
+ break;
+ }
+ break;
+ case "CONTENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.contentType = 0;
+ break;
+ case "RESOURCE":
+ case 1:
+ message.contentType = 1;
+ break;
+ case "IAM_POLICY":
+ case 2:
+ message.contentType = 2;
+ break;
+ case "ORG_POLICY":
+ case 4:
+ message.contentType = 4;
+ break;
+ case "ACCESS_POLICY":
+ case 5:
+ message.contentType = 5;
+ break;
+ case "OS_INVENTORY":
+ case 6:
+ message.contentType = 6;
+ break;
+ case "RELATIONSHIP":
+ case 7:
+ message.contentType = 7;
+ break;
+ }
+ if (object.readTimeWindow != null) {
+ if (typeof object.readTimeWindow !== "object")
+ throw TypeError(".google.cloud.asset.v1.BatchGetAssetsHistoryRequest.readTimeWindow: object expected");
+ message.readTimeWindow = $root.google.cloud.asset.v1.TimeWindow.fromObject(object.readTimeWindow);
+ }
+ if (object.relationshipTypes) {
+ if (!Array.isArray(object.relationshipTypes))
+ throw TypeError(".google.cloud.asset.v1.BatchGetAssetsHistoryRequest.relationshipTypes: array expected");
+ message.relationshipTypes = [];
+ for (var i = 0; i < object.relationshipTypes.length; ++i)
+ message.relationshipTypes[i] = String(object.relationshipTypes[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a BatchGetAssetsHistoryRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {google.cloud.asset.v1.BatchGetAssetsHistoryRequest} message BatchGetAssetsHistoryRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ BatchGetAssetsHistoryRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.assetNames = [];
+ object.relationshipTypes = [];
+ }
+ if (options.defaults) {
+ object.parent = "";
+ object.contentType = options.enums === String ? "CONTENT_TYPE_UNSPECIFIED" : 0;
+ object.readTimeWindow = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.assetNames && message.assetNames.length) {
+ object.assetNames = [];
+ for (var j = 0; j < message.assetNames.length; ++j)
+ object.assetNames[j] = message.assetNames[j];
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ object.contentType = options.enums === String ? $root.google.cloud.asset.v1.ContentType[message.contentType] === undefined ? message.contentType : $root.google.cloud.asset.v1.ContentType[message.contentType] : message.contentType;
+ if (message.readTimeWindow != null && message.hasOwnProperty("readTimeWindow"))
+ object.readTimeWindow = $root.google.cloud.asset.v1.TimeWindow.toObject(message.readTimeWindow, options);
+ if (message.relationshipTypes && message.relationshipTypes.length) {
+ object.relationshipTypes = [];
+ for (var j = 0; j < message.relationshipTypes.length; ++j)
+ object.relationshipTypes[j] = message.relationshipTypes[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this BatchGetAssetsHistoryRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ BatchGetAssetsHistoryRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for BatchGetAssetsHistoryRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ BatchGetAssetsHistoryRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.BatchGetAssetsHistoryRequest";
+ };
+
+ return BatchGetAssetsHistoryRequest;
+ })();
+
+ v1.BatchGetAssetsHistoryResponse = (function() {
+
+ /**
+ * Properties of a BatchGetAssetsHistoryResponse.
+ * @memberof google.cloud.asset.v1
+ * @interface IBatchGetAssetsHistoryResponse
+ * @property {Array.|null} [assets] BatchGetAssetsHistoryResponse assets
+ */
+
+ /**
+ * Constructs a new BatchGetAssetsHistoryResponse.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a BatchGetAssetsHistoryResponse.
+ * @implements IBatchGetAssetsHistoryResponse
+ * @constructor
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryResponse=} [properties] Properties to set
+ */
+ function BatchGetAssetsHistoryResponse(properties) {
+ this.assets = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * BatchGetAssetsHistoryResponse assets.
+ * @member {Array.} assets
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @instance
+ */
+ BatchGetAssetsHistoryResponse.prototype.assets = $util.emptyArray;
+
+ /**
+ * Creates a new BatchGetAssetsHistoryResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryResponse=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryResponse} BatchGetAssetsHistoryResponse instance
+ */
+ BatchGetAssetsHistoryResponse.create = function create(properties) {
+ return new BatchGetAssetsHistoryResponse(properties);
+ };
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryResponse message. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryResponse} message BatchGetAssetsHistoryResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BatchGetAssetsHistoryResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.assets != null && message.assets.length)
+ for (var i = 0; i < message.assets.length; ++i)
+ $root.google.cloud.asset.v1.TemporalAsset.encode(message.assets[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified BatchGetAssetsHistoryResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BatchGetAssetsHistoryResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {google.cloud.asset.v1.IBatchGetAssetsHistoryResponse} message BatchGetAssetsHistoryResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BatchGetAssetsHistoryResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a BatchGetAssetsHistoryResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryResponse} BatchGetAssetsHistoryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BatchGetAssetsHistoryResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.BatchGetAssetsHistoryResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.assets && message.assets.length))
+ message.assets = [];
+ message.assets.push($root.google.cloud.asset.v1.TemporalAsset.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a BatchGetAssetsHistoryResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryResponse} BatchGetAssetsHistoryResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BatchGetAssetsHistoryResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a BatchGetAssetsHistoryResponse message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ BatchGetAssetsHistoryResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.assets != null && message.hasOwnProperty("assets")) {
+ if (!Array.isArray(message.assets))
+ return "assets: array expected";
+ for (var i = 0; i < message.assets.length; ++i) {
+ var error = $root.google.cloud.asset.v1.TemporalAsset.verify(message.assets[i]);
+ if (error)
+ return "assets." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a BatchGetAssetsHistoryResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.BatchGetAssetsHistoryResponse} BatchGetAssetsHistoryResponse
+ */
+ BatchGetAssetsHistoryResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.BatchGetAssetsHistoryResponse)
+ return object;
+ var message = new $root.google.cloud.asset.v1.BatchGetAssetsHistoryResponse();
+ if (object.assets) {
+ if (!Array.isArray(object.assets))
+ throw TypeError(".google.cloud.asset.v1.BatchGetAssetsHistoryResponse.assets: array expected");
+ message.assets = [];
+ for (var i = 0; i < object.assets.length; ++i) {
+ if (typeof object.assets[i] !== "object")
+ throw TypeError(".google.cloud.asset.v1.BatchGetAssetsHistoryResponse.assets: object expected");
+ message.assets[i] = $root.google.cloud.asset.v1.TemporalAsset.fromObject(object.assets[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a BatchGetAssetsHistoryResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {google.cloud.asset.v1.BatchGetAssetsHistoryResponse} message BatchGetAssetsHistoryResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ BatchGetAssetsHistoryResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.assets = [];
+ if (message.assets && message.assets.length) {
+ object.assets = [];
+ for (var j = 0; j < message.assets.length; ++j)
+ object.assets[j] = $root.google.cloud.asset.v1.TemporalAsset.toObject(message.assets[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this BatchGetAssetsHistoryResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ BatchGetAssetsHistoryResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for BatchGetAssetsHistoryResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.BatchGetAssetsHistoryResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ BatchGetAssetsHistoryResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.BatchGetAssetsHistoryResponse";
+ };
+
+ return BatchGetAssetsHistoryResponse;
+ })();
+
+ v1.CreateFeedRequest = (function() {
+
+ /**
+ * Properties of a CreateFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface ICreateFeedRequest
+ * @property {string|null} [parent] CreateFeedRequest parent
+ * @property {string|null} [feedId] CreateFeedRequest feedId
+ * @property {google.cloud.asset.v1.IFeed|null} [feed] CreateFeedRequest feed
+ */
+
+ /**
+ * Constructs a new CreateFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a CreateFeedRequest.
+ * @implements ICreateFeedRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.ICreateFeedRequest=} [properties] Properties to set
+ */
+ function CreateFeedRequest(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]];
+ }
+
+ /**
+ * CreateFeedRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @instance
+ */
+ CreateFeedRequest.prototype.parent = "";
+
+ /**
+ * CreateFeedRequest feedId.
+ * @member {string} feedId
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @instance
+ */
+ CreateFeedRequest.prototype.feedId = "";
+
+ /**
+ * CreateFeedRequest feed.
+ * @member {google.cloud.asset.v1.IFeed|null|undefined} feed
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @instance
+ */
+ CreateFeedRequest.prototype.feed = null;
+
+ /**
+ * Creates a new CreateFeedRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.ICreateFeedRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.CreateFeedRequest} CreateFeedRequest instance
+ */
+ CreateFeedRequest.create = function create(properties) {
+ return new CreateFeedRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.CreateFeedRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.ICreateFeedRequest} message CreateFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateFeedRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.feedId != null && Object.hasOwnProperty.call(message, "feedId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.feedId);
+ if (message.feed != null && Object.hasOwnProperty.call(message, "feed"))
+ $root.google.cloud.asset.v1.Feed.encode(message.feed, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.CreateFeedRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.ICreateFeedRequest} message CreateFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateFeedRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateFeedRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.CreateFeedRequest} CreateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateFeedRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.CreateFeedRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.feedId = reader.string();
+ break;
+ }
+ case 3: {
+ message.feed = $root.google.cloud.asset.v1.Feed.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateFeedRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.CreateFeedRequest} CreateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateFeedRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateFeedRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateFeedRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.feedId != null && message.hasOwnProperty("feedId"))
+ if (!$util.isString(message.feedId))
+ return "feedId: string expected";
+ if (message.feed != null && message.hasOwnProperty("feed")) {
+ var error = $root.google.cloud.asset.v1.Feed.verify(message.feed);
+ if (error)
+ return "feed." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.CreateFeedRequest} CreateFeedRequest
+ */
+ CreateFeedRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.CreateFeedRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.CreateFeedRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.feedId != null)
+ message.feedId = String(object.feedId);
+ if (object.feed != null) {
+ if (typeof object.feed !== "object")
+ throw TypeError(".google.cloud.asset.v1.CreateFeedRequest.feed: object expected");
+ message.feed = $root.google.cloud.asset.v1.Feed.fromObject(object.feed);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateFeedRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.CreateFeedRequest} message CreateFeedRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateFeedRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.feedId = "";
+ object.feed = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.feedId != null && message.hasOwnProperty("feedId"))
+ object.feedId = message.feedId;
+ if (message.feed != null && message.hasOwnProperty("feed"))
+ object.feed = $root.google.cloud.asset.v1.Feed.toObject(message.feed, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateFeedRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateFeedRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateFeedRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.CreateFeedRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateFeedRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.CreateFeedRequest";
+ };
+
+ return CreateFeedRequest;
+ })();
+
+ v1.GetFeedRequest = (function() {
+
+ /**
+ * Properties of a GetFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IGetFeedRequest
+ * @property {string|null} [name] GetFeedRequest name
+ */
+
+ /**
+ * Constructs a new GetFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a GetFeedRequest.
+ * @implements IGetFeedRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IGetFeedRequest=} [properties] Properties to set
+ */
+ function GetFeedRequest(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]];
+ }
+
+ /**
+ * GetFeedRequest name.
+ * @member {string} name
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @instance
+ */
+ GetFeedRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetFeedRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IGetFeedRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.GetFeedRequest} GetFeedRequest instance
+ */
+ GetFeedRequest.create = function create(properties) {
+ return new GetFeedRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.GetFeedRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IGetFeedRequest} message GetFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetFeedRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.GetFeedRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IGetFeedRequest} message GetFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetFeedRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetFeedRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.GetFeedRequest} GetFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetFeedRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.GetFeedRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetFeedRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.GetFeedRequest} GetFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetFeedRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetFeedRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetFeedRequest.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 GetFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.GetFeedRequest} GetFeedRequest
+ */
+ GetFeedRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.GetFeedRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.GetFeedRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetFeedRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.GetFeedRequest} message GetFeedRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetFeedRequest.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 GetFeedRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetFeedRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetFeedRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.GetFeedRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetFeedRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.GetFeedRequest";
+ };
+
+ return GetFeedRequest;
+ })();
+
+ v1.ListFeedsRequest = (function() {
+
+ /**
+ * Properties of a ListFeedsRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IListFeedsRequest
+ * @property {string|null} [parent] ListFeedsRequest parent
+ */
+
+ /**
+ * Constructs a new ListFeedsRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a ListFeedsRequest.
+ * @implements IListFeedsRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IListFeedsRequest=} [properties] Properties to set
+ */
+ function ListFeedsRequest(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]];
+ }
+
+ /**
+ * ListFeedsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @instance
+ */
+ ListFeedsRequest.prototype.parent = "";
+
+ /**
+ * Creates a new ListFeedsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IListFeedsRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.ListFeedsRequest} ListFeedsRequest instance
+ */
+ ListFeedsRequest.create = function create(properties) {
+ return new ListFeedsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListFeedsRequest message. Does not implicitly {@link google.cloud.asset.v1.ListFeedsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IListFeedsRequest} message ListFeedsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListFeedsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListFeedsRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListFeedsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {google.cloud.asset.v1.IListFeedsRequest} message ListFeedsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListFeedsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListFeedsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.ListFeedsRequest} ListFeedsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListFeedsRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.ListFeedsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListFeedsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.ListFeedsRequest} ListFeedsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListFeedsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListFeedsRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListFeedsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListFeedsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.ListFeedsRequest} ListFeedsRequest
+ */
+ ListFeedsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.ListFeedsRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.ListFeedsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListFeedsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {google.cloud.asset.v1.ListFeedsRequest} message ListFeedsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListFeedsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.parent = "";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ return object;
+ };
+
+ /**
+ * Converts this ListFeedsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListFeedsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListFeedsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.ListFeedsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListFeedsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.ListFeedsRequest";
+ };
+
+ return ListFeedsRequest;
+ })();
+
+ v1.ListFeedsResponse = (function() {
+
+ /**
+ * Properties of a ListFeedsResponse.
+ * @memberof google.cloud.asset.v1
+ * @interface IListFeedsResponse
+ * @property {Array.|null} [feeds] ListFeedsResponse feeds
+ */
+
+ /**
+ * Constructs a new ListFeedsResponse.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a ListFeedsResponse.
+ * @implements IListFeedsResponse
+ * @constructor
+ * @param {google.cloud.asset.v1.IListFeedsResponse=} [properties] Properties to set
+ */
+ function ListFeedsResponse(properties) {
+ this.feeds = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListFeedsResponse feeds.
+ * @member {Array.} feeds
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @instance
+ */
+ ListFeedsResponse.prototype.feeds = $util.emptyArray;
+
+ /**
+ * Creates a new ListFeedsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IListFeedsResponse=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.ListFeedsResponse} ListFeedsResponse instance
+ */
+ ListFeedsResponse.create = function create(properties) {
+ return new ListFeedsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListFeedsResponse message. Does not implicitly {@link google.cloud.asset.v1.ListFeedsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IListFeedsResponse} message ListFeedsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListFeedsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.feeds != null && message.feeds.length)
+ for (var i = 0; i < message.feeds.length; ++i)
+ $root.google.cloud.asset.v1.Feed.encode(message.feeds[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListFeedsResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.ListFeedsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {google.cloud.asset.v1.IListFeedsResponse} message ListFeedsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListFeedsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListFeedsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.ListFeedsResponse} ListFeedsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListFeedsResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.ListFeedsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.feeds && message.feeds.length))
+ message.feeds = [];
+ message.feeds.push($root.google.cloud.asset.v1.Feed.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListFeedsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.ListFeedsResponse} ListFeedsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListFeedsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListFeedsResponse message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListFeedsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.feeds != null && message.hasOwnProperty("feeds")) {
+ if (!Array.isArray(message.feeds))
+ return "feeds: array expected";
+ for (var i = 0; i < message.feeds.length; ++i) {
+ var error = $root.google.cloud.asset.v1.Feed.verify(message.feeds[i]);
+ if (error)
+ return "feeds." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ListFeedsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.ListFeedsResponse} ListFeedsResponse
+ */
+ ListFeedsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.ListFeedsResponse)
+ return object;
+ var message = new $root.google.cloud.asset.v1.ListFeedsResponse();
+ if (object.feeds) {
+ if (!Array.isArray(object.feeds))
+ throw TypeError(".google.cloud.asset.v1.ListFeedsResponse.feeds: array expected");
+ message.feeds = [];
+ for (var i = 0; i < object.feeds.length; ++i) {
+ if (typeof object.feeds[i] !== "object")
+ throw TypeError(".google.cloud.asset.v1.ListFeedsResponse.feeds: object expected");
+ message.feeds[i] = $root.google.cloud.asset.v1.Feed.fromObject(object.feeds[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListFeedsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {google.cloud.asset.v1.ListFeedsResponse} message ListFeedsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListFeedsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.feeds = [];
+ if (message.feeds && message.feeds.length) {
+ object.feeds = [];
+ for (var j = 0; j < message.feeds.length; ++j)
+ object.feeds[j] = $root.google.cloud.asset.v1.Feed.toObject(message.feeds[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ListFeedsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListFeedsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListFeedsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.ListFeedsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListFeedsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.ListFeedsResponse";
+ };
+
+ return ListFeedsResponse;
+ })();
+
+ v1.UpdateFeedRequest = (function() {
+
+ /**
+ * Properties of an UpdateFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IUpdateFeedRequest
+ * @property {google.cloud.asset.v1.IFeed|null} [feed] UpdateFeedRequest feed
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateFeedRequest updateMask
+ */
+
+ /**
+ * Constructs a new UpdateFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an UpdateFeedRequest.
+ * @implements IUpdateFeedRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IUpdateFeedRequest=} [properties] Properties to set
+ */
+ function UpdateFeedRequest(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]];
+ }
+
+ /**
+ * UpdateFeedRequest feed.
+ * @member {google.cloud.asset.v1.IFeed|null|undefined} feed
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @instance
+ */
+ UpdateFeedRequest.prototype.feed = null;
+
+ /**
+ * UpdateFeedRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @instance
+ */
+ UpdateFeedRequest.prototype.updateMask = null;
+
+ /**
+ * Creates a new UpdateFeedRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IUpdateFeedRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.UpdateFeedRequest} UpdateFeedRequest instance
+ */
+ UpdateFeedRequest.create = function create(properties) {
+ return new UpdateFeedRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.UpdateFeedRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IUpdateFeedRequest} message UpdateFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateFeedRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.feed != null && Object.hasOwnProperty.call(message, "feed"))
+ $root.google.cloud.asset.v1.Feed.encode(message.feed, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.UpdateFeedRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IUpdateFeedRequest} message UpdateFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateFeedRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateFeedRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.UpdateFeedRequest} UpdateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateFeedRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.UpdateFeedRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.feed = $root.google.cloud.asset.v1.Feed.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateFeedRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.UpdateFeedRequest} UpdateFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateFeedRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateFeedRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateFeedRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.feed != null && message.hasOwnProperty("feed")) {
+ var error = $root.google.cloud.asset.v1.Feed.verify(message.feed);
+ if (error)
+ return "feed." + error;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.UpdateFeedRequest} UpdateFeedRequest
+ */
+ UpdateFeedRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.UpdateFeedRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.UpdateFeedRequest();
+ if (object.feed != null) {
+ if (typeof object.feed !== "object")
+ throw TypeError(".google.cloud.asset.v1.UpdateFeedRequest.feed: object expected");
+ message.feed = $root.google.cloud.asset.v1.Feed.fromObject(object.feed);
+ }
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.asset.v1.UpdateFeedRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateFeedRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.UpdateFeedRequest} message UpdateFeedRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateFeedRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.feed = null;
+ object.updateMask = null;
+ }
+ if (message.feed != null && message.hasOwnProperty("feed"))
+ object.feed = $root.google.cloud.asset.v1.Feed.toObject(message.feed, options);
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateFeedRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateFeedRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateFeedRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.UpdateFeedRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateFeedRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.UpdateFeedRequest";
+ };
+
+ return UpdateFeedRequest;
+ })();
+
+ v1.DeleteFeedRequest = (function() {
+
+ /**
+ * Properties of a DeleteFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IDeleteFeedRequest
+ * @property {string|null} [name] DeleteFeedRequest name
+ */
+
+ /**
+ * Constructs a new DeleteFeedRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a DeleteFeedRequest.
+ * @implements IDeleteFeedRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IDeleteFeedRequest=} [properties] Properties to set
+ */
+ function DeleteFeedRequest(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]];
+ }
+
+ /**
+ * DeleteFeedRequest name.
+ * @member {string} name
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @instance
+ */
+ DeleteFeedRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteFeedRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IDeleteFeedRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.DeleteFeedRequest} DeleteFeedRequest instance
+ */
+ DeleteFeedRequest.create = function create(properties) {
+ return new DeleteFeedRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteFeedRequest message. Does not implicitly {@link google.cloud.asset.v1.DeleteFeedRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IDeleteFeedRequest} message DeleteFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteFeedRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteFeedRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.DeleteFeedRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.IDeleteFeedRequest} message DeleteFeedRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteFeedRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteFeedRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.DeleteFeedRequest} DeleteFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteFeedRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.DeleteFeedRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteFeedRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.DeleteFeedRequest} DeleteFeedRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteFeedRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteFeedRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteFeedRequest.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 DeleteFeedRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.DeleteFeedRequest} DeleteFeedRequest
+ */
+ DeleteFeedRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.DeleteFeedRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.DeleteFeedRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteFeedRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {google.cloud.asset.v1.DeleteFeedRequest} message DeleteFeedRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteFeedRequest.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 DeleteFeedRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteFeedRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteFeedRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.DeleteFeedRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteFeedRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.DeleteFeedRequest";
+ };
+
+ return DeleteFeedRequest;
+ })();
+
+ v1.OutputConfig = (function() {
+
+ /**
+ * Properties of an OutputConfig.
+ * @memberof google.cloud.asset.v1
+ * @interface IOutputConfig
+ * @property {google.cloud.asset.v1.IGcsDestination|null} [gcsDestination] OutputConfig gcsDestination
+ * @property {google.cloud.asset.v1.IBigQueryDestination|null} [bigqueryDestination] OutputConfig bigqueryDestination
+ */
+
+ /**
+ * Constructs a new OutputConfig.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an OutputConfig.
+ * @implements IOutputConfig
+ * @constructor
+ * @param {google.cloud.asset.v1.IOutputConfig=} [properties] Properties to set
+ */
+ function OutputConfig(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * OutputConfig gcsDestination.
+ * @member {google.cloud.asset.v1.IGcsDestination|null|undefined} gcsDestination
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @instance
+ */
+ OutputConfig.prototype.gcsDestination = null;
+
+ /**
+ * OutputConfig bigqueryDestination.
+ * @member {google.cloud.asset.v1.IBigQueryDestination|null|undefined} bigqueryDestination
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @instance
+ */
+ OutputConfig.prototype.bigqueryDestination = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * OutputConfig destination.
+ * @member {"gcsDestination"|"bigqueryDestination"|undefined} destination
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @instance
+ */
+ Object.defineProperty(OutputConfig.prototype, "destination", {
+ get: $util.oneOfGetter($oneOfFields = ["gcsDestination", "bigqueryDestination"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new OutputConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.IOutputConfig=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.OutputConfig} OutputConfig instance
+ */
+ OutputConfig.create = function create(properties) {
+ return new OutputConfig(properties);
+ };
+
+ /**
+ * Encodes the specified OutputConfig message. Does not implicitly {@link google.cloud.asset.v1.OutputConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.IOutputConfig} message OutputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OutputConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.gcsDestination != null && Object.hasOwnProperty.call(message, "gcsDestination"))
+ $root.google.cloud.asset.v1.GcsDestination.encode(message.gcsDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.bigqueryDestination != null && Object.hasOwnProperty.call(message, "bigqueryDestination"))
+ $root.google.cloud.asset.v1.BigQueryDestination.encode(message.bigqueryDestination, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1.OutputConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.IOutputConfig} message OutputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OutputConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.OutputConfig} OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OutputConfig.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.OutputConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.gcsDestination = $root.google.cloud.asset.v1.GcsDestination.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.bigqueryDestination = $root.google.cloud.asset.v1.BigQueryDestination.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OutputConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.OutputConfig} OutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OutputConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OutputConfig message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OutputConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) {
+ properties.destination = 1;
+ {
+ var error = $root.google.cloud.asset.v1.GcsDestination.verify(message.gcsDestination);
+ if (error)
+ return "gcsDestination." + error;
+ }
+ }
+ if (message.bigqueryDestination != null && message.hasOwnProperty("bigqueryDestination")) {
+ if (properties.destination === 1)
+ return "destination: multiple values";
+ properties.destination = 1;
+ {
+ var error = $root.google.cloud.asset.v1.BigQueryDestination.verify(message.bigqueryDestination);
+ if (error)
+ return "bigqueryDestination." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.OutputConfig} OutputConfig
+ */
+ OutputConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.OutputConfig)
+ return object;
+ var message = new $root.google.cloud.asset.v1.OutputConfig();
+ if (object.gcsDestination != null) {
+ if (typeof object.gcsDestination !== "object")
+ throw TypeError(".google.cloud.asset.v1.OutputConfig.gcsDestination: object expected");
+ message.gcsDestination = $root.google.cloud.asset.v1.GcsDestination.fromObject(object.gcsDestination);
+ }
+ if (object.bigqueryDestination != null) {
+ if (typeof object.bigqueryDestination !== "object")
+ throw TypeError(".google.cloud.asset.v1.OutputConfig.bigqueryDestination: object expected");
+ message.bigqueryDestination = $root.google.cloud.asset.v1.BigQueryDestination.fromObject(object.bigqueryDestination);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OutputConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.OutputConfig} message OutputConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OutputConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.gcsDestination != null && message.hasOwnProperty("gcsDestination")) {
+ object.gcsDestination = $root.google.cloud.asset.v1.GcsDestination.toObject(message.gcsDestination, options);
+ if (options.oneofs)
+ object.destination = "gcsDestination";
+ }
+ if (message.bigqueryDestination != null && message.hasOwnProperty("bigqueryDestination")) {
+ object.bigqueryDestination = $root.google.cloud.asset.v1.BigQueryDestination.toObject(message.bigqueryDestination, options);
+ if (options.oneofs)
+ object.destination = "bigqueryDestination";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this OutputConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OutputConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OutputConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.OutputConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OutputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.OutputConfig";
+ };
+
+ return OutputConfig;
+ })();
+
+ v1.OutputResult = (function() {
+
+ /**
+ * Properties of an OutputResult.
+ * @memberof google.cloud.asset.v1
+ * @interface IOutputResult
+ * @property {google.cloud.asset.v1.IGcsOutputResult|null} [gcsResult] OutputResult gcsResult
+ */
+
+ /**
+ * Constructs a new OutputResult.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an OutputResult.
+ * @implements IOutputResult
+ * @constructor
+ * @param {google.cloud.asset.v1.IOutputResult=} [properties] Properties to set
+ */
+ function OutputResult(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]];
+ }
+
+ /**
+ * OutputResult gcsResult.
+ * @member {google.cloud.asset.v1.IGcsOutputResult|null|undefined} gcsResult
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @instance
+ */
+ OutputResult.prototype.gcsResult = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * OutputResult result.
+ * @member {"gcsResult"|undefined} result
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @instance
+ */
+ Object.defineProperty(OutputResult.prototype, "result", {
+ get: $util.oneOfGetter($oneOfFields = ["gcsResult"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new OutputResult instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {google.cloud.asset.v1.IOutputResult=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.OutputResult} OutputResult instance
+ */
+ OutputResult.create = function create(properties) {
+ return new OutputResult(properties);
+ };
+
+ /**
+ * Encodes the specified OutputResult message. Does not implicitly {@link google.cloud.asset.v1.OutputResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {google.cloud.asset.v1.IOutputResult} message OutputResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OutputResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.gcsResult != null && Object.hasOwnProperty.call(message, "gcsResult"))
+ $root.google.cloud.asset.v1.GcsOutputResult.encode(message.gcsResult, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OutputResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.OutputResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {google.cloud.asset.v1.IOutputResult} message OutputResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ OutputResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.OutputResult} OutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OutputResult.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.OutputResult();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.gcsResult = $root.google.cloud.asset.v1.GcsOutputResult.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an OutputResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.OutputResult} OutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ OutputResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an OutputResult message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ OutputResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.gcsResult != null && message.hasOwnProperty("gcsResult")) {
+ properties.result = 1;
+ {
+ var error = $root.google.cloud.asset.v1.GcsOutputResult.verify(message.gcsResult);
+ if (error)
+ return "gcsResult." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OutputResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.OutputResult} OutputResult
+ */
+ OutputResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.OutputResult)
+ return object;
+ var message = new $root.google.cloud.asset.v1.OutputResult();
+ if (object.gcsResult != null) {
+ if (typeof object.gcsResult !== "object")
+ throw TypeError(".google.cloud.asset.v1.OutputResult.gcsResult: object expected");
+ message.gcsResult = $root.google.cloud.asset.v1.GcsOutputResult.fromObject(object.gcsResult);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OutputResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {google.cloud.asset.v1.OutputResult} message OutputResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ OutputResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.gcsResult != null && message.hasOwnProperty("gcsResult")) {
+ object.gcsResult = $root.google.cloud.asset.v1.GcsOutputResult.toObject(message.gcsResult, options);
+ if (options.oneofs)
+ object.result = "gcsResult";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this OutputResult to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ OutputResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for OutputResult
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.OutputResult
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ OutputResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.OutputResult";
+ };
+
+ return OutputResult;
+ })();
+
+ v1.GcsOutputResult = (function() {
+
+ /**
+ * Properties of a GcsOutputResult.
+ * @memberof google.cloud.asset.v1
+ * @interface IGcsOutputResult
+ * @property {Array.|null} [uris] GcsOutputResult uris
+ */
+
+ /**
+ * Constructs a new GcsOutputResult.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a GcsOutputResult.
+ * @implements IGcsOutputResult
+ * @constructor
+ * @param {google.cloud.asset.v1.IGcsOutputResult=} [properties] Properties to set
+ */
+ function GcsOutputResult(properties) {
+ this.uris = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GcsOutputResult uris.
+ * @member {Array.} uris
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @instance
+ */
+ GcsOutputResult.prototype.uris = $util.emptyArray;
+
+ /**
+ * Creates a new GcsOutputResult instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {google.cloud.asset.v1.IGcsOutputResult=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.GcsOutputResult} GcsOutputResult instance
+ */
+ GcsOutputResult.create = function create(properties) {
+ return new GcsOutputResult(properties);
+ };
+
+ /**
+ * Encodes the specified GcsOutputResult message. Does not implicitly {@link google.cloud.asset.v1.GcsOutputResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {google.cloud.asset.v1.IGcsOutputResult} message GcsOutputResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsOutputResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uris != null && message.uris.length)
+ for (var i = 0; i < message.uris.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uris[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GcsOutputResult message, length delimited. Does not implicitly {@link google.cloud.asset.v1.GcsOutputResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {google.cloud.asset.v1.IGcsOutputResult} message GcsOutputResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsOutputResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GcsOutputResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.GcsOutputResult} GcsOutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsOutputResult.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.GcsOutputResult();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.uris && message.uris.length))
+ message.uris = [];
+ message.uris.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GcsOutputResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.GcsOutputResult} GcsOutputResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsOutputResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GcsOutputResult message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GcsOutputResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.uris != null && message.hasOwnProperty("uris")) {
+ if (!Array.isArray(message.uris))
+ return "uris: array expected";
+ for (var i = 0; i < message.uris.length; ++i)
+ if (!$util.isString(message.uris[i]))
+ return "uris: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GcsOutputResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.GcsOutputResult} GcsOutputResult
+ */
+ GcsOutputResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.GcsOutputResult)
+ return object;
+ var message = new $root.google.cloud.asset.v1.GcsOutputResult();
+ if (object.uris) {
+ if (!Array.isArray(object.uris))
+ throw TypeError(".google.cloud.asset.v1.GcsOutputResult.uris: array expected");
+ message.uris = [];
+ for (var i = 0; i < object.uris.length; ++i)
+ message.uris[i] = String(object.uris[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GcsOutputResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {google.cloud.asset.v1.GcsOutputResult} message GcsOutputResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GcsOutputResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.uris = [];
+ if (message.uris && message.uris.length) {
+ object.uris = [];
+ for (var j = 0; j < message.uris.length; ++j)
+ object.uris[j] = message.uris[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GcsOutputResult to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GcsOutputResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GcsOutputResult
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.GcsOutputResult
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GcsOutputResult.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.GcsOutputResult";
+ };
+
+ return GcsOutputResult;
+ })();
+
+ v1.GcsDestination = (function() {
+
+ /**
+ * Properties of a GcsDestination.
+ * @memberof google.cloud.asset.v1
+ * @interface IGcsDestination
+ * @property {string|null} [uri] GcsDestination uri
+ * @property {string|null} [uriPrefix] GcsDestination uriPrefix
+ */
+
+ /**
+ * Constructs a new GcsDestination.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a GcsDestination.
+ * @implements IGcsDestination
+ * @constructor
+ * @param {google.cloud.asset.v1.IGcsDestination=} [properties] Properties to set
+ */
+ function GcsDestination(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * GcsDestination uri.
+ * @member {string|null|undefined} uri
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @instance
+ */
+ GcsDestination.prototype.uri = null;
+
+ /**
+ * GcsDestination uriPrefix.
+ * @member {string|null|undefined} uriPrefix
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @instance
+ */
+ GcsDestination.prototype.uriPrefix = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * GcsDestination objectUri.
+ * @member {"uri"|"uriPrefix"|undefined} objectUri
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @instance
+ */
+ Object.defineProperty(GcsDestination.prototype, "objectUri", {
+ get: $util.oneOfGetter($oneOfFields = ["uri", "uriPrefix"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new GcsDestination instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {google.cloud.asset.v1.IGcsDestination=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.GcsDestination} GcsDestination instance
+ */
+ GcsDestination.create = function create(properties) {
+ return new GcsDestination(properties);
+ };
+
+ /**
+ * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.asset.v1.GcsDestination.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {google.cloud.asset.v1.IGcsDestination} message GcsDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsDestination.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.uri != null && Object.hasOwnProperty.call(message, "uri"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.uri);
+ if (message.uriPrefix != null && Object.hasOwnProperty.call(message, "uriPrefix"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.uriPrefix);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.GcsDestination.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {google.cloud.asset.v1.IGcsDestination} message GcsDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GcsDestination.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.GcsDestination} GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsDestination.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.GcsDestination();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.uri = reader.string();
+ break;
+ }
+ case 2: {
+ message.uriPrefix = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.GcsDestination} GcsDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GcsDestination.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GcsDestination message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GcsDestination.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.uri != null && message.hasOwnProperty("uri")) {
+ properties.objectUri = 1;
+ if (!$util.isString(message.uri))
+ return "uri: string expected";
+ }
+ if (message.uriPrefix != null && message.hasOwnProperty("uriPrefix")) {
+ if (properties.objectUri === 1)
+ return "objectUri: multiple values";
+ properties.objectUri = 1;
+ if (!$util.isString(message.uriPrefix))
+ return "uriPrefix: string expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.GcsDestination} GcsDestination
+ */
+ GcsDestination.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.GcsDestination)
+ return object;
+ var message = new $root.google.cloud.asset.v1.GcsDestination();
+ if (object.uri != null)
+ message.uri = String(object.uri);
+ if (object.uriPrefix != null)
+ message.uriPrefix = String(object.uriPrefix);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {google.cloud.asset.v1.GcsDestination} message GcsDestination
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GcsDestination.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.uri != null && message.hasOwnProperty("uri")) {
+ object.uri = message.uri;
+ if (options.oneofs)
+ object.objectUri = "uri";
+ }
+ if (message.uriPrefix != null && message.hasOwnProperty("uriPrefix")) {
+ object.uriPrefix = message.uriPrefix;
+ if (options.oneofs)
+ object.objectUri = "uriPrefix";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this GcsDestination to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GcsDestination.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GcsDestination
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.GcsDestination
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GcsDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.GcsDestination";
+ };
+
+ return GcsDestination;
+ })();
+
+ v1.BigQueryDestination = (function() {
+
+ /**
+ * Properties of a BigQueryDestination.
+ * @memberof google.cloud.asset.v1
+ * @interface IBigQueryDestination
+ * @property {string|null} [dataset] BigQueryDestination dataset
+ * @property {string|null} [table] BigQueryDestination table
+ * @property {boolean|null} [force] BigQueryDestination force
+ * @property {google.cloud.asset.v1.IPartitionSpec|null} [partitionSpec] BigQueryDestination partitionSpec
+ * @property {boolean|null} [separateTablesPerAssetType] BigQueryDestination separateTablesPerAssetType
+ */
+
+ /**
+ * Constructs a new BigQueryDestination.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a BigQueryDestination.
+ * @implements IBigQueryDestination
+ * @constructor
+ * @param {google.cloud.asset.v1.IBigQueryDestination=} [properties] Properties to set
+ */
+ function BigQueryDestination(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]];
+ }
+
+ /**
+ * BigQueryDestination dataset.
+ * @member {string} dataset
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @instance
+ */
+ BigQueryDestination.prototype.dataset = "";
+
+ /**
+ * BigQueryDestination table.
+ * @member {string} table
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @instance
+ */
+ BigQueryDestination.prototype.table = "";
+
+ /**
+ * BigQueryDestination force.
+ * @member {boolean} force
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @instance
+ */
+ BigQueryDestination.prototype.force = false;
+
+ /**
+ * BigQueryDestination partitionSpec.
+ * @member {google.cloud.asset.v1.IPartitionSpec|null|undefined} partitionSpec
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @instance
+ */
+ BigQueryDestination.prototype.partitionSpec = null;
+
+ /**
+ * BigQueryDestination separateTablesPerAssetType.
+ * @member {boolean} separateTablesPerAssetType
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @instance
+ */
+ BigQueryDestination.prototype.separateTablesPerAssetType = false;
+
+ /**
+ * Creates a new BigQueryDestination instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {google.cloud.asset.v1.IBigQueryDestination=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.BigQueryDestination} BigQueryDestination instance
+ */
+ BigQueryDestination.create = function create(properties) {
+ return new BigQueryDestination(properties);
+ };
+
+ /**
+ * Encodes the specified BigQueryDestination message. Does not implicitly {@link google.cloud.asset.v1.BigQueryDestination.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {google.cloud.asset.v1.IBigQueryDestination} message BigQueryDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BigQueryDestination.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.dataset != null && Object.hasOwnProperty.call(message, "dataset"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.dataset);
+ if (message.table != null && Object.hasOwnProperty.call(message, "table"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.table);
+ if (message.force != null && Object.hasOwnProperty.call(message, "force"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force);
+ if (message.partitionSpec != null && Object.hasOwnProperty.call(message, "partitionSpec"))
+ $root.google.cloud.asset.v1.PartitionSpec.encode(message.partitionSpec, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.separateTablesPerAssetType != null && Object.hasOwnProperty.call(message, "separateTablesPerAssetType"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.separateTablesPerAssetType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified BigQueryDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.BigQueryDestination.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {google.cloud.asset.v1.IBigQueryDestination} message BigQueryDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ BigQueryDestination.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.BigQueryDestination} BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BigQueryDestination.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.BigQueryDestination();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.dataset = reader.string();
+ break;
+ }
+ case 2: {
+ message.table = reader.string();
+ break;
+ }
+ case 3: {
+ message.force = reader.bool();
+ break;
+ }
+ case 4: {
+ message.partitionSpec = $root.google.cloud.asset.v1.PartitionSpec.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.separateTablesPerAssetType = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a BigQueryDestination message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.BigQueryDestination} BigQueryDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ BigQueryDestination.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a BigQueryDestination message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ BigQueryDestination.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.dataset != null && message.hasOwnProperty("dataset"))
+ if (!$util.isString(message.dataset))
+ return "dataset: string expected";
+ if (message.table != null && message.hasOwnProperty("table"))
+ if (!$util.isString(message.table))
+ return "table: string expected";
+ if (message.force != null && message.hasOwnProperty("force"))
+ if (typeof message.force !== "boolean")
+ return "force: boolean expected";
+ if (message.partitionSpec != null && message.hasOwnProperty("partitionSpec")) {
+ var error = $root.google.cloud.asset.v1.PartitionSpec.verify(message.partitionSpec);
+ if (error)
+ return "partitionSpec." + error;
+ }
+ if (message.separateTablesPerAssetType != null && message.hasOwnProperty("separateTablesPerAssetType"))
+ if (typeof message.separateTablesPerAssetType !== "boolean")
+ return "separateTablesPerAssetType: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a BigQueryDestination message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.BigQueryDestination} BigQueryDestination
+ */
+ BigQueryDestination.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.BigQueryDestination)
+ return object;
+ var message = new $root.google.cloud.asset.v1.BigQueryDestination();
+ if (object.dataset != null)
+ message.dataset = String(object.dataset);
+ if (object.table != null)
+ message.table = String(object.table);
+ if (object.force != null)
+ message.force = Boolean(object.force);
+ if (object.partitionSpec != null) {
+ if (typeof object.partitionSpec !== "object")
+ throw TypeError(".google.cloud.asset.v1.BigQueryDestination.partitionSpec: object expected");
+ message.partitionSpec = $root.google.cloud.asset.v1.PartitionSpec.fromObject(object.partitionSpec);
+ }
+ if (object.separateTablesPerAssetType != null)
+ message.separateTablesPerAssetType = Boolean(object.separateTablesPerAssetType);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a BigQueryDestination message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {google.cloud.asset.v1.BigQueryDestination} message BigQueryDestination
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ BigQueryDestination.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.dataset = "";
+ object.table = "";
+ object.force = false;
+ object.partitionSpec = null;
+ object.separateTablesPerAssetType = false;
+ }
+ if (message.dataset != null && message.hasOwnProperty("dataset"))
+ object.dataset = message.dataset;
+ if (message.table != null && message.hasOwnProperty("table"))
+ object.table = message.table;
+ if (message.force != null && message.hasOwnProperty("force"))
+ object.force = message.force;
+ if (message.partitionSpec != null && message.hasOwnProperty("partitionSpec"))
+ object.partitionSpec = $root.google.cloud.asset.v1.PartitionSpec.toObject(message.partitionSpec, options);
+ if (message.separateTablesPerAssetType != null && message.hasOwnProperty("separateTablesPerAssetType"))
+ object.separateTablesPerAssetType = message.separateTablesPerAssetType;
+ return object;
+ };
+
+ /**
+ * Converts this BigQueryDestination to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ BigQueryDestination.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for BigQueryDestination
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.BigQueryDestination
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ BigQueryDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.BigQueryDestination";
+ };
+
+ return BigQueryDestination;
+ })();
+
+ v1.PartitionSpec = (function() {
+
+ /**
+ * Properties of a PartitionSpec.
+ * @memberof google.cloud.asset.v1
+ * @interface IPartitionSpec
+ * @property {google.cloud.asset.v1.PartitionSpec.PartitionKey|null} [partitionKey] PartitionSpec partitionKey
+ */
+
+ /**
+ * Constructs a new PartitionSpec.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a PartitionSpec.
+ * @implements IPartitionSpec
+ * @constructor
+ * @param {google.cloud.asset.v1.IPartitionSpec=} [properties] Properties to set
+ */
+ function PartitionSpec(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]];
+ }
+
+ /**
+ * PartitionSpec partitionKey.
+ * @member {google.cloud.asset.v1.PartitionSpec.PartitionKey} partitionKey
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @instance
+ */
+ PartitionSpec.prototype.partitionKey = 0;
+
+ /**
+ * Creates a new PartitionSpec instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {google.cloud.asset.v1.IPartitionSpec=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.PartitionSpec} PartitionSpec instance
+ */
+ PartitionSpec.create = function create(properties) {
+ return new PartitionSpec(properties);
+ };
+
+ /**
+ * Encodes the specified PartitionSpec message. Does not implicitly {@link google.cloud.asset.v1.PartitionSpec.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {google.cloud.asset.v1.IPartitionSpec} message PartitionSpec message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PartitionSpec.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.partitionKey != null && Object.hasOwnProperty.call(message, "partitionKey"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.partitionKey);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PartitionSpec message, length delimited. Does not implicitly {@link google.cloud.asset.v1.PartitionSpec.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {google.cloud.asset.v1.IPartitionSpec} message PartitionSpec message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PartitionSpec.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PartitionSpec message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.PartitionSpec} PartitionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PartitionSpec.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.PartitionSpec();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.partitionKey = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PartitionSpec message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.PartitionSpec} PartitionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PartitionSpec.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PartitionSpec message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PartitionSpec.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.partitionKey != null && message.hasOwnProperty("partitionKey"))
+ switch (message.partitionKey) {
+ default:
+ return "partitionKey: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PartitionSpec message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.PartitionSpec} PartitionSpec
+ */
+ PartitionSpec.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.PartitionSpec)
+ return object;
+ var message = new $root.google.cloud.asset.v1.PartitionSpec();
+ switch (object.partitionKey) {
+ default:
+ if (typeof object.partitionKey === "number") {
+ message.partitionKey = object.partitionKey;
+ break;
+ }
+ break;
+ case "PARTITION_KEY_UNSPECIFIED":
+ case 0:
+ message.partitionKey = 0;
+ break;
+ case "READ_TIME":
+ case 1:
+ message.partitionKey = 1;
+ break;
+ case "REQUEST_TIME":
+ case 2:
+ message.partitionKey = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PartitionSpec message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {google.cloud.asset.v1.PartitionSpec} message PartitionSpec
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PartitionSpec.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.partitionKey = options.enums === String ? "PARTITION_KEY_UNSPECIFIED" : 0;
+ if (message.partitionKey != null && message.hasOwnProperty("partitionKey"))
+ object.partitionKey = options.enums === String ? $root.google.cloud.asset.v1.PartitionSpec.PartitionKey[message.partitionKey] === undefined ? message.partitionKey : $root.google.cloud.asset.v1.PartitionSpec.PartitionKey[message.partitionKey] : message.partitionKey;
+ return object;
+ };
+
+ /**
+ * Converts this PartitionSpec to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PartitionSpec.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PartitionSpec
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.PartitionSpec
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PartitionSpec.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.PartitionSpec";
+ };
+
+ /**
+ * PartitionKey enum.
+ * @name google.cloud.asset.v1.PartitionSpec.PartitionKey
+ * @enum {number}
+ * @property {number} PARTITION_KEY_UNSPECIFIED=0 PARTITION_KEY_UNSPECIFIED value
+ * @property {number} READ_TIME=1 READ_TIME value
+ * @property {number} REQUEST_TIME=2 REQUEST_TIME value
+ */
+ PartitionSpec.PartitionKey = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PARTITION_KEY_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "READ_TIME"] = 1;
+ values[valuesById[2] = "REQUEST_TIME"] = 2;
+ return values;
+ })();
+
+ return PartitionSpec;
+ })();
+
+ v1.PubsubDestination = (function() {
+
+ /**
+ * Properties of a PubsubDestination.
+ * @memberof google.cloud.asset.v1
+ * @interface IPubsubDestination
+ * @property {string|null} [topic] PubsubDestination topic
+ */
+
+ /**
+ * Constructs a new PubsubDestination.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a PubsubDestination.
+ * @implements IPubsubDestination
+ * @constructor
+ * @param {google.cloud.asset.v1.IPubsubDestination=} [properties] Properties to set
+ */
+ function PubsubDestination(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]];
+ }
+
+ /**
+ * PubsubDestination topic.
+ * @member {string} topic
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @instance
+ */
+ PubsubDestination.prototype.topic = "";
+
+ /**
+ * Creates a new PubsubDestination instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {google.cloud.asset.v1.IPubsubDestination=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.PubsubDestination} PubsubDestination instance
+ */
+ PubsubDestination.create = function create(properties) {
+ return new PubsubDestination(properties);
+ };
+
+ /**
+ * Encodes the specified PubsubDestination message. Does not implicitly {@link google.cloud.asset.v1.PubsubDestination.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {google.cloud.asset.v1.IPubsubDestination} message PubsubDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PubsubDestination.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.topic != null && Object.hasOwnProperty.call(message, "topic"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.topic);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PubsubDestination message, length delimited. Does not implicitly {@link google.cloud.asset.v1.PubsubDestination.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {google.cloud.asset.v1.IPubsubDestination} message PubsubDestination message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PubsubDestination.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PubsubDestination message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.PubsubDestination} PubsubDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PubsubDestination.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.PubsubDestination();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.topic = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PubsubDestination message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.PubsubDestination} PubsubDestination
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PubsubDestination.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PubsubDestination message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PubsubDestination.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ if (!$util.isString(message.topic))
+ return "topic: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a PubsubDestination message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.PubsubDestination} PubsubDestination
+ */
+ PubsubDestination.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.PubsubDestination)
+ return object;
+ var message = new $root.google.cloud.asset.v1.PubsubDestination();
+ if (object.topic != null)
+ message.topic = String(object.topic);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PubsubDestination message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {google.cloud.asset.v1.PubsubDestination} message PubsubDestination
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PubsubDestination.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.topic = "";
+ if (message.topic != null && message.hasOwnProperty("topic"))
+ object.topic = message.topic;
+ return object;
+ };
+
+ /**
+ * Converts this PubsubDestination to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PubsubDestination.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PubsubDestination
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.PubsubDestination
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PubsubDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.PubsubDestination";
+ };
+
+ return PubsubDestination;
+ })();
+
+ v1.FeedOutputConfig = (function() {
+
+ /**
+ * Properties of a FeedOutputConfig.
+ * @memberof google.cloud.asset.v1
+ * @interface IFeedOutputConfig
+ * @property {google.cloud.asset.v1.IPubsubDestination|null} [pubsubDestination] FeedOutputConfig pubsubDestination
+ */
+
+ /**
+ * Constructs a new FeedOutputConfig.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a FeedOutputConfig.
+ * @implements IFeedOutputConfig
+ * @constructor
+ * @param {google.cloud.asset.v1.IFeedOutputConfig=} [properties] Properties to set
+ */
+ function FeedOutputConfig(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]];
+ }
+
+ /**
+ * FeedOutputConfig pubsubDestination.
+ * @member {google.cloud.asset.v1.IPubsubDestination|null|undefined} pubsubDestination
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @instance
+ */
+ FeedOutputConfig.prototype.pubsubDestination = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * FeedOutputConfig destination.
+ * @member {"pubsubDestination"|undefined} destination
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @instance
+ */
+ Object.defineProperty(FeedOutputConfig.prototype, "destination", {
+ get: $util.oneOfGetter($oneOfFields = ["pubsubDestination"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new FeedOutputConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.IFeedOutputConfig=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.FeedOutputConfig} FeedOutputConfig instance
+ */
+ FeedOutputConfig.create = function create(properties) {
+ return new FeedOutputConfig(properties);
+ };
+
+ /**
+ * Encodes the specified FeedOutputConfig message. Does not implicitly {@link google.cloud.asset.v1.FeedOutputConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.IFeedOutputConfig} message FeedOutputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeedOutputConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pubsubDestination != null && Object.hasOwnProperty.call(message, "pubsubDestination"))
+ $root.google.cloud.asset.v1.PubsubDestination.encode(message.pubsubDestination, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FeedOutputConfig message, length delimited. Does not implicitly {@link google.cloud.asset.v1.FeedOutputConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.IFeedOutputConfig} message FeedOutputConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FeedOutputConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FeedOutputConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.FeedOutputConfig} FeedOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeedOutputConfig.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.FeedOutputConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.pubsubDestination = $root.google.cloud.asset.v1.PubsubDestination.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FeedOutputConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.FeedOutputConfig} FeedOutputConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FeedOutputConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FeedOutputConfig message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FeedOutputConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.pubsubDestination != null && message.hasOwnProperty("pubsubDestination")) {
+ properties.destination = 1;
+ {
+ var error = $root.google.cloud.asset.v1.PubsubDestination.verify(message.pubsubDestination);
+ if (error)
+ return "pubsubDestination." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FeedOutputConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.FeedOutputConfig} FeedOutputConfig
+ */
+ FeedOutputConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.FeedOutputConfig)
+ return object;
+ var message = new $root.google.cloud.asset.v1.FeedOutputConfig();
+ if (object.pubsubDestination != null) {
+ if (typeof object.pubsubDestination !== "object")
+ throw TypeError(".google.cloud.asset.v1.FeedOutputConfig.pubsubDestination: object expected");
+ message.pubsubDestination = $root.google.cloud.asset.v1.PubsubDestination.fromObject(object.pubsubDestination);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FeedOutputConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {google.cloud.asset.v1.FeedOutputConfig} message FeedOutputConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FeedOutputConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.pubsubDestination != null && message.hasOwnProperty("pubsubDestination")) {
+ object.pubsubDestination = $root.google.cloud.asset.v1.PubsubDestination.toObject(message.pubsubDestination, options);
+ if (options.oneofs)
+ object.destination = "pubsubDestination";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FeedOutputConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FeedOutputConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FeedOutputConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.FeedOutputConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FeedOutputConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.FeedOutputConfig";
+ };
+
+ return FeedOutputConfig;
+ })();
+
+ v1.Feed = (function() {
+
+ /**
+ * Properties of a Feed.
+ * @memberof google.cloud.asset.v1
+ * @interface IFeed
+ * @property {string|null} [name] Feed name
+ * @property {Array.|null} [assetNames] Feed assetNames
+ * @property {Array.|null} [assetTypes] Feed assetTypes
+ * @property {google.cloud.asset.v1.ContentType|null} [contentType] Feed contentType
+ * @property {google.cloud.asset.v1.IFeedOutputConfig|null} [feedOutputConfig] Feed feedOutputConfig
+ * @property {google.type.IExpr|null} [condition] Feed condition
+ * @property {Array.|null} [relationshipTypes] Feed relationshipTypes
+ */
+
+ /**
+ * Constructs a new Feed.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a Feed.
+ * @implements IFeed
+ * @constructor
+ * @param {google.cloud.asset.v1.IFeed=} [properties] Properties to set
+ */
+ function Feed(properties) {
+ this.assetNames = [];
+ this.assetTypes = [];
+ this.relationshipTypes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Feed name.
+ * @member {string} name
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ */
+ Feed.prototype.name = "";
+
+ /**
+ * Feed assetNames.
+ * @member {Array.} assetNames
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ */
+ Feed.prototype.assetNames = $util.emptyArray;
+
+ /**
+ * Feed assetTypes.
+ * @member {Array.} assetTypes
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ */
+ Feed.prototype.assetTypes = $util.emptyArray;
+
+ /**
+ * Feed contentType.
+ * @member {google.cloud.asset.v1.ContentType} contentType
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ */
+ Feed.prototype.contentType = 0;
+
+ /**
+ * Feed feedOutputConfig.
+ * @member {google.cloud.asset.v1.IFeedOutputConfig|null|undefined} feedOutputConfig
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ */
+ Feed.prototype.feedOutputConfig = null;
+
+ /**
+ * Feed condition.
+ * @member {google.type.IExpr|null|undefined} condition
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ */
+ Feed.prototype.condition = null;
+
+ /**
+ * Feed relationshipTypes.
+ * @member {Array.} relationshipTypes
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ */
+ Feed.prototype.relationshipTypes = $util.emptyArray;
+
+ /**
+ * Creates a new Feed instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {google.cloud.asset.v1.IFeed=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.Feed} Feed instance
+ */
+ Feed.create = function create(properties) {
+ return new Feed(properties);
+ };
+
+ /**
+ * Encodes the specified Feed message. Does not implicitly {@link google.cloud.asset.v1.Feed.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {google.cloud.asset.v1.IFeed} message Feed message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Feed.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.assetNames != null && message.assetNames.length)
+ for (var i = 0; i < message.assetNames.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.assetNames[i]);
+ if (message.assetTypes != null && message.assetTypes.length)
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.assetTypes[i]);
+ if (message.contentType != null && Object.hasOwnProperty.call(message, "contentType"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.contentType);
+ if (message.feedOutputConfig != null && Object.hasOwnProperty.call(message, "feedOutputConfig"))
+ $root.google.cloud.asset.v1.FeedOutputConfig.encode(message.feedOutputConfig, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.condition != null && Object.hasOwnProperty.call(message, "condition"))
+ $root.google.type.Expr.encode(message.condition, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.relationshipTypes != null && message.relationshipTypes.length)
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.relationshipTypes[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Feed message, length delimited. Does not implicitly {@link google.cloud.asset.v1.Feed.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {google.cloud.asset.v1.IFeed} message Feed message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Feed.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Feed message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.Feed} Feed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Feed.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.Feed();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.assetNames && message.assetNames.length))
+ message.assetNames = [];
+ message.assetNames.push(reader.string());
+ break;
+ }
+ case 3: {
+ if (!(message.assetTypes && message.assetTypes.length))
+ message.assetTypes = [];
+ message.assetTypes.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.contentType = reader.int32();
+ break;
+ }
+ case 5: {
+ message.feedOutputConfig = $root.google.cloud.asset.v1.FeedOutputConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.condition = $root.google.type.Expr.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ if (!(message.relationshipTypes && message.relationshipTypes.length))
+ message.relationshipTypes = [];
+ message.relationshipTypes.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Feed message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.Feed} Feed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Feed.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Feed message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Feed.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.assetNames != null && message.hasOwnProperty("assetNames")) {
+ if (!Array.isArray(message.assetNames))
+ return "assetNames: array expected";
+ for (var i = 0; i < message.assetNames.length; ++i)
+ if (!$util.isString(message.assetNames[i]))
+ return "assetNames: string[] expected";
+ }
+ if (message.assetTypes != null && message.hasOwnProperty("assetTypes")) {
+ if (!Array.isArray(message.assetTypes))
+ return "assetTypes: array expected";
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ if (!$util.isString(message.assetTypes[i]))
+ return "assetTypes: string[] expected";
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ switch (message.contentType) {
+ default:
+ return "contentType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.feedOutputConfig != null && message.hasOwnProperty("feedOutputConfig")) {
+ var error = $root.google.cloud.asset.v1.FeedOutputConfig.verify(message.feedOutputConfig);
+ if (error)
+ return "feedOutputConfig." + error;
+ }
+ if (message.condition != null && message.hasOwnProperty("condition")) {
+ var error = $root.google.type.Expr.verify(message.condition);
+ if (error)
+ return "condition." + error;
+ }
+ if (message.relationshipTypes != null && message.hasOwnProperty("relationshipTypes")) {
+ if (!Array.isArray(message.relationshipTypes))
+ return "relationshipTypes: array expected";
+ for (var i = 0; i < message.relationshipTypes.length; ++i)
+ if (!$util.isString(message.relationshipTypes[i]))
+ return "relationshipTypes: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Feed message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.Feed} Feed
+ */
+ Feed.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.Feed)
+ return object;
+ var message = new $root.google.cloud.asset.v1.Feed();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.assetNames) {
+ if (!Array.isArray(object.assetNames))
+ throw TypeError(".google.cloud.asset.v1.Feed.assetNames: array expected");
+ message.assetNames = [];
+ for (var i = 0; i < object.assetNames.length; ++i)
+ message.assetNames[i] = String(object.assetNames[i]);
+ }
+ if (object.assetTypes) {
+ if (!Array.isArray(object.assetTypes))
+ throw TypeError(".google.cloud.asset.v1.Feed.assetTypes: array expected");
+ message.assetTypes = [];
+ for (var i = 0; i < object.assetTypes.length; ++i)
+ message.assetTypes[i] = String(object.assetTypes[i]);
+ }
+ switch (object.contentType) {
+ default:
+ if (typeof object.contentType === "number") {
+ message.contentType = object.contentType;
+ break;
+ }
+ break;
+ case "CONTENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.contentType = 0;
+ break;
+ case "RESOURCE":
+ case 1:
+ message.contentType = 1;
+ break;
+ case "IAM_POLICY":
+ case 2:
+ message.contentType = 2;
+ break;
+ case "ORG_POLICY":
+ case 4:
+ message.contentType = 4;
+ break;
+ case "ACCESS_POLICY":
+ case 5:
+ message.contentType = 5;
+ break;
+ case "OS_INVENTORY":
+ case 6:
+ message.contentType = 6;
+ break;
+ case "RELATIONSHIP":
+ case 7:
+ message.contentType = 7;
+ break;
+ }
+ if (object.feedOutputConfig != null) {
+ if (typeof object.feedOutputConfig !== "object")
+ throw TypeError(".google.cloud.asset.v1.Feed.feedOutputConfig: object expected");
+ message.feedOutputConfig = $root.google.cloud.asset.v1.FeedOutputConfig.fromObject(object.feedOutputConfig);
+ }
+ if (object.condition != null) {
+ if (typeof object.condition !== "object")
+ throw TypeError(".google.cloud.asset.v1.Feed.condition: object expected");
+ message.condition = $root.google.type.Expr.fromObject(object.condition);
+ }
+ if (object.relationshipTypes) {
+ if (!Array.isArray(object.relationshipTypes))
+ throw TypeError(".google.cloud.asset.v1.Feed.relationshipTypes: array expected");
+ message.relationshipTypes = [];
+ for (var i = 0; i < object.relationshipTypes.length; ++i)
+ message.relationshipTypes[i] = String(object.relationshipTypes[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Feed message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {google.cloud.asset.v1.Feed} message Feed
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Feed.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.assetNames = [];
+ object.assetTypes = [];
+ object.relationshipTypes = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.contentType = options.enums === String ? "CONTENT_TYPE_UNSPECIFIED" : 0;
+ object.feedOutputConfig = null;
+ object.condition = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.assetNames && message.assetNames.length) {
+ object.assetNames = [];
+ for (var j = 0; j < message.assetNames.length; ++j)
+ object.assetNames[j] = message.assetNames[j];
+ }
+ if (message.assetTypes && message.assetTypes.length) {
+ object.assetTypes = [];
+ for (var j = 0; j < message.assetTypes.length; ++j)
+ object.assetTypes[j] = message.assetTypes[j];
+ }
+ if (message.contentType != null && message.hasOwnProperty("contentType"))
+ object.contentType = options.enums === String ? $root.google.cloud.asset.v1.ContentType[message.contentType] === undefined ? message.contentType : $root.google.cloud.asset.v1.ContentType[message.contentType] : message.contentType;
+ if (message.feedOutputConfig != null && message.hasOwnProperty("feedOutputConfig"))
+ object.feedOutputConfig = $root.google.cloud.asset.v1.FeedOutputConfig.toObject(message.feedOutputConfig, options);
+ if (message.condition != null && message.hasOwnProperty("condition"))
+ object.condition = $root.google.type.Expr.toObject(message.condition, options);
+ if (message.relationshipTypes && message.relationshipTypes.length) {
+ object.relationshipTypes = [];
+ for (var j = 0; j < message.relationshipTypes.length; ++j)
+ object.relationshipTypes[j] = message.relationshipTypes[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Feed to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.Feed
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Feed.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Feed
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.Feed
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Feed.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.Feed";
+ };
+
+ return Feed;
+ })();
+
+ v1.SearchAllResourcesRequest = (function() {
+
+ /**
+ * Properties of a SearchAllResourcesRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface ISearchAllResourcesRequest
+ * @property {string|null} [scope] SearchAllResourcesRequest scope
+ * @property {string|null} [query] SearchAllResourcesRequest query
+ * @property {Array.|null} [assetTypes] SearchAllResourcesRequest assetTypes
+ * @property {number|null} [pageSize] SearchAllResourcesRequest pageSize
+ * @property {string|null} [pageToken] SearchAllResourcesRequest pageToken
+ * @property {string|null} [orderBy] SearchAllResourcesRequest orderBy
+ * @property {google.protobuf.IFieldMask|null} [readMask] SearchAllResourcesRequest readMask
+ */
+
+ /**
+ * Constructs a new SearchAllResourcesRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a SearchAllResourcesRequest.
+ * @implements ISearchAllResourcesRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.ISearchAllResourcesRequest=} [properties] Properties to set
+ */
+ function SearchAllResourcesRequest(properties) {
+ this.assetTypes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SearchAllResourcesRequest scope.
+ * @member {string} scope
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ */
+ SearchAllResourcesRequest.prototype.scope = "";
+
+ /**
+ * SearchAllResourcesRequest query.
+ * @member {string} query
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ */
+ SearchAllResourcesRequest.prototype.query = "";
+
+ /**
+ * SearchAllResourcesRequest assetTypes.
+ * @member {Array.} assetTypes
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ */
+ SearchAllResourcesRequest.prototype.assetTypes = $util.emptyArray;
+
+ /**
+ * SearchAllResourcesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ */
+ SearchAllResourcesRequest.prototype.pageSize = 0;
+
+ /**
+ * SearchAllResourcesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ */
+ SearchAllResourcesRequest.prototype.pageToken = "";
+
+ /**
+ * SearchAllResourcesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ */
+ SearchAllResourcesRequest.prototype.orderBy = "";
+
+ /**
+ * SearchAllResourcesRequest readMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} readMask
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ */
+ SearchAllResourcesRequest.prototype.readMask = null;
+
+ /**
+ * Creates a new SearchAllResourcesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllResourcesRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.SearchAllResourcesRequest} SearchAllResourcesRequest instance
+ */
+ SearchAllResourcesRequest.create = function create(properties) {
+ return new SearchAllResourcesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified SearchAllResourcesRequest message. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllResourcesRequest} message SearchAllResourcesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllResourcesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.scope);
+ if (message.query != null && Object.hasOwnProperty.call(message, "query"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.query);
+ if (message.assetTypes != null && message.assetTypes.length)
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.assetTypes[i]);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.pageToken);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.orderBy);
+ if (message.readMask != null && Object.hasOwnProperty.call(message, "readMask"))
+ $root.google.protobuf.FieldMask.encode(message.readMask, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SearchAllResourcesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllResourcesRequest} message SearchAllResourcesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllResourcesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SearchAllResourcesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.SearchAllResourcesRequest} SearchAllResourcesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllResourcesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.SearchAllResourcesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.scope = reader.string();
+ break;
+ }
+ case 2: {
+ message.query = reader.string();
+ break;
+ }
+ case 3: {
+ if (!(message.assetTypes && message.assetTypes.length))
+ message.assetTypes = [];
+ message.assetTypes.push(reader.string());
+ break;
+ }
+ case 4: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 5: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 6: {
+ message.orderBy = reader.string();
+ break;
+ }
+ case 8: {
+ message.readMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SearchAllResourcesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.SearchAllResourcesRequest} SearchAllResourcesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllResourcesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SearchAllResourcesRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SearchAllResourcesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ if (!$util.isString(message.scope))
+ return "scope: string expected";
+ if (message.query != null && message.hasOwnProperty("query"))
+ if (!$util.isString(message.query))
+ return "query: string expected";
+ if (message.assetTypes != null && message.hasOwnProperty("assetTypes")) {
+ if (!Array.isArray(message.assetTypes))
+ return "assetTypes: array expected";
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ if (!$util.isString(message.assetTypes[i]))
+ return "assetTypes: 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.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ if (message.readMask != null && message.hasOwnProperty("readMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.readMask);
+ if (error)
+ return "readMask." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SearchAllResourcesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.SearchAllResourcesRequest} SearchAllResourcesRequest
+ */
+ SearchAllResourcesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.SearchAllResourcesRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.SearchAllResourcesRequest();
+ if (object.scope != null)
+ message.scope = String(object.scope);
+ if (object.query != null)
+ message.query = String(object.query);
+ if (object.assetTypes) {
+ if (!Array.isArray(object.assetTypes))
+ throw TypeError(".google.cloud.asset.v1.SearchAllResourcesRequest.assetTypes: array expected");
+ message.assetTypes = [];
+ for (var i = 0; i < object.assetTypes.length; ++i)
+ message.assetTypes[i] = String(object.assetTypes[i]);
+ }
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ if (object.readMask != null) {
+ if (typeof object.readMask !== "object")
+ throw TypeError(".google.cloud.asset.v1.SearchAllResourcesRequest.readMask: object expected");
+ message.readMask = $root.google.protobuf.FieldMask.fromObject(object.readMask);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SearchAllResourcesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {google.cloud.asset.v1.SearchAllResourcesRequest} message SearchAllResourcesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SearchAllResourcesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.assetTypes = [];
+ if (options.defaults) {
+ object.scope = "";
+ object.query = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.orderBy = "";
+ object.readMask = null;
+ }
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ object.scope = message.scope;
+ if (message.query != null && message.hasOwnProperty("query"))
+ object.query = message.query;
+ if (message.assetTypes && message.assetTypes.length) {
+ object.assetTypes = [];
+ for (var j = 0; j < message.assetTypes.length; ++j)
+ object.assetTypes[j] = message.assetTypes[j];
+ }
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ if (message.readMask != null && message.hasOwnProperty("readMask"))
+ object.readMask = $root.google.protobuf.FieldMask.toObject(message.readMask, options);
+ return object;
+ };
+
+ /**
+ * Converts this SearchAllResourcesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SearchAllResourcesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SearchAllResourcesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.SearchAllResourcesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SearchAllResourcesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.SearchAllResourcesRequest";
+ };
+
+ return SearchAllResourcesRequest;
+ })();
+
+ v1.SearchAllResourcesResponse = (function() {
+
+ /**
+ * Properties of a SearchAllResourcesResponse.
+ * @memberof google.cloud.asset.v1
+ * @interface ISearchAllResourcesResponse
+ * @property {Array.|null} [results] SearchAllResourcesResponse results
+ * @property {string|null} [nextPageToken] SearchAllResourcesResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new SearchAllResourcesResponse.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a SearchAllResourcesResponse.
+ * @implements ISearchAllResourcesResponse
+ * @constructor
+ * @param {google.cloud.asset.v1.ISearchAllResourcesResponse=} [properties] Properties to set
+ */
+ function SearchAllResourcesResponse(properties) {
+ this.results = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SearchAllResourcesResponse results.
+ * @member {Array.} results
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @instance
+ */
+ SearchAllResourcesResponse.prototype.results = $util.emptyArray;
+
+ /**
+ * SearchAllResourcesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @instance
+ */
+ SearchAllResourcesResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new SearchAllResourcesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllResourcesResponse=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.SearchAllResourcesResponse} SearchAllResourcesResponse instance
+ */
+ SearchAllResourcesResponse.create = function create(properties) {
+ return new SearchAllResourcesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified SearchAllResourcesResponse message. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllResourcesResponse} message SearchAllResourcesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllResourcesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.results != null && message.results.length)
+ for (var i = 0; i < message.results.length; ++i)
+ $root.google.cloud.asset.v1.ResourceSearchResult.encode(message.results[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 SearchAllResourcesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllResourcesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllResourcesResponse} message SearchAllResourcesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllResourcesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SearchAllResourcesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.SearchAllResourcesResponse} SearchAllResourcesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllResourcesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.SearchAllResourcesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.results && message.results.length))
+ message.results = [];
+ message.results.push($root.google.cloud.asset.v1.ResourceSearchResult.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SearchAllResourcesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.SearchAllResourcesResponse} SearchAllResourcesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllResourcesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SearchAllResourcesResponse message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SearchAllResourcesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.results != null && message.hasOwnProperty("results")) {
+ if (!Array.isArray(message.results))
+ return "results: array expected";
+ for (var i = 0; i < message.results.length; ++i) {
+ var error = $root.google.cloud.asset.v1.ResourceSearchResult.verify(message.results[i]);
+ if (error)
+ return "results." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a SearchAllResourcesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.SearchAllResourcesResponse} SearchAllResourcesResponse
+ */
+ SearchAllResourcesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.SearchAllResourcesResponse)
+ return object;
+ var message = new $root.google.cloud.asset.v1.SearchAllResourcesResponse();
+ if (object.results) {
+ if (!Array.isArray(object.results))
+ throw TypeError(".google.cloud.asset.v1.SearchAllResourcesResponse.results: array expected");
+ message.results = [];
+ for (var i = 0; i < object.results.length; ++i) {
+ if (typeof object.results[i] !== "object")
+ throw TypeError(".google.cloud.asset.v1.SearchAllResourcesResponse.results: object expected");
+ message.results[i] = $root.google.cloud.asset.v1.ResourceSearchResult.fromObject(object.results[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SearchAllResourcesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {google.cloud.asset.v1.SearchAllResourcesResponse} message SearchAllResourcesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SearchAllResourcesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.results = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.results && message.results.length) {
+ object.results = [];
+ for (var j = 0; j < message.results.length; ++j)
+ object.results[j] = $root.google.cloud.asset.v1.ResourceSearchResult.toObject(message.results[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this SearchAllResourcesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SearchAllResourcesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SearchAllResourcesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.SearchAllResourcesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SearchAllResourcesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.SearchAllResourcesResponse";
+ };
+
+ return SearchAllResourcesResponse;
+ })();
+
+ v1.SearchAllIamPoliciesRequest = (function() {
+
+ /**
+ * Properties of a SearchAllIamPoliciesRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface ISearchAllIamPoliciesRequest
+ * @property {string|null} [scope] SearchAllIamPoliciesRequest scope
+ * @property {string|null} [query] SearchAllIamPoliciesRequest query
+ * @property {number|null} [pageSize] SearchAllIamPoliciesRequest pageSize
+ * @property {string|null} [pageToken] SearchAllIamPoliciesRequest pageToken
+ * @property {Array.|null} [assetTypes] SearchAllIamPoliciesRequest assetTypes
+ * @property {string|null} [orderBy] SearchAllIamPoliciesRequest orderBy
+ */
+
+ /**
+ * Constructs a new SearchAllIamPoliciesRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a SearchAllIamPoliciesRequest.
+ * @implements ISearchAllIamPoliciesRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesRequest=} [properties] Properties to set
+ */
+ function SearchAllIamPoliciesRequest(properties) {
+ this.assetTypes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SearchAllIamPoliciesRequest scope.
+ * @member {string} scope
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @instance
+ */
+ SearchAllIamPoliciesRequest.prototype.scope = "";
+
+ /**
+ * SearchAllIamPoliciesRequest query.
+ * @member {string} query
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @instance
+ */
+ SearchAllIamPoliciesRequest.prototype.query = "";
+
+ /**
+ * SearchAllIamPoliciesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @instance
+ */
+ SearchAllIamPoliciesRequest.prototype.pageSize = 0;
+
+ /**
+ * SearchAllIamPoliciesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @instance
+ */
+ SearchAllIamPoliciesRequest.prototype.pageToken = "";
+
+ /**
+ * SearchAllIamPoliciesRequest assetTypes.
+ * @member {Array.} assetTypes
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @instance
+ */
+ SearchAllIamPoliciesRequest.prototype.assetTypes = $util.emptyArray;
+
+ /**
+ * SearchAllIamPoliciesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @instance
+ */
+ SearchAllIamPoliciesRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new SearchAllIamPoliciesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesRequest} SearchAllIamPoliciesRequest instance
+ */
+ SearchAllIamPoliciesRequest.create = function create(properties) {
+ return new SearchAllIamPoliciesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesRequest message. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesRequest} message SearchAllIamPoliciesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllIamPoliciesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.scope);
+ if (message.query != null && Object.hasOwnProperty.call(message, "query"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.query);
+ 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.assetTypes != null && message.assetTypes.length)
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.assetTypes[i]);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesRequest} message SearchAllIamPoliciesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllIamPoliciesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SearchAllIamPoliciesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesRequest} SearchAllIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllIamPoliciesRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.SearchAllIamPoliciesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.scope = reader.string();
+ break;
+ }
+ case 2: {
+ message.query = reader.string();
+ break;
+ }
+ case 3: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 4: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 5: {
+ if (!(message.assetTypes && message.assetTypes.length))
+ message.assetTypes = [];
+ message.assetTypes.push(reader.string());
+ break;
+ }
+ case 7: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SearchAllIamPoliciesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesRequest} SearchAllIamPoliciesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllIamPoliciesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SearchAllIamPoliciesRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SearchAllIamPoliciesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ if (!$util.isString(message.scope))
+ return "scope: string expected";
+ if (message.query != null && message.hasOwnProperty("query"))
+ if (!$util.isString(message.query))
+ return "query: 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.assetTypes != null && message.hasOwnProperty("assetTypes")) {
+ if (!Array.isArray(message.assetTypes))
+ return "assetTypes: array expected";
+ for (var i = 0; i < message.assetTypes.length; ++i)
+ if (!$util.isString(message.assetTypes[i]))
+ return "assetTypes: string[] expected";
+ }
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a SearchAllIamPoliciesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesRequest} SearchAllIamPoliciesRequest
+ */
+ SearchAllIamPoliciesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.SearchAllIamPoliciesRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.SearchAllIamPoliciesRequest();
+ if (object.scope != null)
+ message.scope = String(object.scope);
+ if (object.query != null)
+ message.query = String(object.query);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.assetTypes) {
+ if (!Array.isArray(object.assetTypes))
+ throw TypeError(".google.cloud.asset.v1.SearchAllIamPoliciesRequest.assetTypes: array expected");
+ message.assetTypes = [];
+ for (var i = 0; i < object.assetTypes.length; ++i)
+ message.assetTypes[i] = String(object.assetTypes[i]);
+ }
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SearchAllIamPoliciesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {google.cloud.asset.v1.SearchAllIamPoliciesRequest} message SearchAllIamPoliciesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SearchAllIamPoliciesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.assetTypes = [];
+ if (options.defaults) {
+ object.scope = "";
+ object.query = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.orderBy = "";
+ }
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ object.scope = message.scope;
+ if (message.query != null && message.hasOwnProperty("query"))
+ object.query = message.query;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.assetTypes && message.assetTypes.length) {
+ object.assetTypes = [];
+ for (var j = 0; j < message.assetTypes.length; ++j)
+ object.assetTypes[j] = message.assetTypes[j];
+ }
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this SearchAllIamPoliciesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SearchAllIamPoliciesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SearchAllIamPoliciesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SearchAllIamPoliciesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.SearchAllIamPoliciesRequest";
+ };
+
+ return SearchAllIamPoliciesRequest;
+ })();
+
+ v1.SearchAllIamPoliciesResponse = (function() {
+
+ /**
+ * Properties of a SearchAllIamPoliciesResponse.
+ * @memberof google.cloud.asset.v1
+ * @interface ISearchAllIamPoliciesResponse
+ * @property {Array.|null} [results] SearchAllIamPoliciesResponse results
+ * @property {string|null} [nextPageToken] SearchAllIamPoliciesResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new SearchAllIamPoliciesResponse.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents a SearchAllIamPoliciesResponse.
+ * @implements ISearchAllIamPoliciesResponse
+ * @constructor
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesResponse=} [properties] Properties to set
+ */
+ function SearchAllIamPoliciesResponse(properties) {
+ this.results = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * SearchAllIamPoliciesResponse results.
+ * @member {Array.} results
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @instance
+ */
+ SearchAllIamPoliciesResponse.prototype.results = $util.emptyArray;
+
+ /**
+ * SearchAllIamPoliciesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @instance
+ */
+ SearchAllIamPoliciesResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new SearchAllIamPoliciesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesResponse=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesResponse} SearchAllIamPoliciesResponse instance
+ */
+ SearchAllIamPoliciesResponse.create = function create(properties) {
+ return new SearchAllIamPoliciesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified SearchAllIamPoliciesResponse message. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesResponse} message SearchAllIamPoliciesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllIamPoliciesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.results != null && message.results.length)
+ for (var i = 0; i < message.results.length; ++i)
+ $root.google.cloud.asset.v1.IamPolicySearchResult.encode(message.results[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 SearchAllIamPoliciesResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.SearchAllIamPoliciesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {google.cloud.asset.v1.ISearchAllIamPoliciesResponse} message SearchAllIamPoliciesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SearchAllIamPoliciesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SearchAllIamPoliciesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesResponse} SearchAllIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllIamPoliciesResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.SearchAllIamPoliciesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.results && message.results.length))
+ message.results = [];
+ message.results.push($root.google.cloud.asset.v1.IamPolicySearchResult.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SearchAllIamPoliciesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesResponse} SearchAllIamPoliciesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SearchAllIamPoliciesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SearchAllIamPoliciesResponse message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SearchAllIamPoliciesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.results != null && message.hasOwnProperty("results")) {
+ if (!Array.isArray(message.results))
+ return "results: array expected";
+ for (var i = 0; i < message.results.length; ++i) {
+ var error = $root.google.cloud.asset.v1.IamPolicySearchResult.verify(message.results[i]);
+ if (error)
+ return "results." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a SearchAllIamPoliciesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.SearchAllIamPoliciesResponse} SearchAllIamPoliciesResponse
+ */
+ SearchAllIamPoliciesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.SearchAllIamPoliciesResponse)
+ return object;
+ var message = new $root.google.cloud.asset.v1.SearchAllIamPoliciesResponse();
+ if (object.results) {
+ if (!Array.isArray(object.results))
+ throw TypeError(".google.cloud.asset.v1.SearchAllIamPoliciesResponse.results: array expected");
+ message.results = [];
+ for (var i = 0; i < object.results.length; ++i) {
+ if (typeof object.results[i] !== "object")
+ throw TypeError(".google.cloud.asset.v1.SearchAllIamPoliciesResponse.results: object expected");
+ message.results[i] = $root.google.cloud.asset.v1.IamPolicySearchResult.fromObject(object.results[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SearchAllIamPoliciesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {google.cloud.asset.v1.SearchAllIamPoliciesResponse} message SearchAllIamPoliciesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SearchAllIamPoliciesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.results = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.results && message.results.length) {
+ object.results = [];
+ for (var j = 0; j < message.results.length; ++j)
+ object.results[j] = $root.google.cloud.asset.v1.IamPolicySearchResult.toObject(message.results[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this SearchAllIamPoliciesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SearchAllIamPoliciesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SearchAllIamPoliciesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.SearchAllIamPoliciesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SearchAllIamPoliciesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.SearchAllIamPoliciesResponse";
+ };
+
+ return SearchAllIamPoliciesResponse;
+ })();
+
+ v1.IamPolicyAnalysisQuery = (function() {
+
+ /**
+ * Properties of an IamPolicyAnalysisQuery.
+ * @memberof google.cloud.asset.v1
+ * @interface IIamPolicyAnalysisQuery
+ * @property {string|null} [scope] IamPolicyAnalysisQuery scope
+ * @property {google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector|null} [resourceSelector] IamPolicyAnalysisQuery resourceSelector
+ * @property {google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector|null} [identitySelector] IamPolicyAnalysisQuery identitySelector
+ * @property {google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector|null} [accessSelector] IamPolicyAnalysisQuery accessSelector
+ * @property {google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions|null} [options] IamPolicyAnalysisQuery options
+ * @property {google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext|null} [conditionContext] IamPolicyAnalysisQuery conditionContext
+ */
+
+ /**
+ * Constructs a new IamPolicyAnalysisQuery.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an IamPolicyAnalysisQuery.
+ * @implements IIamPolicyAnalysisQuery
+ * @constructor
+ * @param {google.cloud.asset.v1.IIamPolicyAnalysisQuery=} [properties] Properties to set
+ */
+ function IamPolicyAnalysisQuery(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]];
+ }
+
+ /**
+ * IamPolicyAnalysisQuery scope.
+ * @member {string} scope
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @instance
+ */
+ IamPolicyAnalysisQuery.prototype.scope = "";
+
+ /**
+ * IamPolicyAnalysisQuery resourceSelector.
+ * @member {google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector|null|undefined} resourceSelector
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @instance
+ */
+ IamPolicyAnalysisQuery.prototype.resourceSelector = null;
+
+ /**
+ * IamPolicyAnalysisQuery identitySelector.
+ * @member {google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector|null|undefined} identitySelector
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @instance
+ */
+ IamPolicyAnalysisQuery.prototype.identitySelector = null;
+
+ /**
+ * IamPolicyAnalysisQuery accessSelector.
+ * @member {google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector|null|undefined} accessSelector
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @instance
+ */
+ IamPolicyAnalysisQuery.prototype.accessSelector = null;
+
+ /**
+ * IamPolicyAnalysisQuery options.
+ * @member {google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions|null|undefined} options
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @instance
+ */
+ IamPolicyAnalysisQuery.prototype.options = null;
+
+ /**
+ * IamPolicyAnalysisQuery conditionContext.
+ * @member {google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext|null|undefined} conditionContext
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @instance
+ */
+ IamPolicyAnalysisQuery.prototype.conditionContext = null;
+
+ /**
+ * Creates a new IamPolicyAnalysisQuery instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {google.cloud.asset.v1.IIamPolicyAnalysisQuery=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery} IamPolicyAnalysisQuery instance
+ */
+ IamPolicyAnalysisQuery.create = function create(properties) {
+ return new IamPolicyAnalysisQuery(properties);
+ };
+
+ /**
+ * Encodes the specified IamPolicyAnalysisQuery message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {google.cloud.asset.v1.IIamPolicyAnalysisQuery} message IamPolicyAnalysisQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IamPolicyAnalysisQuery.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.scope != null && Object.hasOwnProperty.call(message, "scope"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.scope);
+ if (message.resourceSelector != null && Object.hasOwnProperty.call(message, "resourceSelector"))
+ $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.encode(message.resourceSelector, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.identitySelector != null && Object.hasOwnProperty.call(message, "identitySelector"))
+ $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.encode(message.identitySelector, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.accessSelector != null && Object.hasOwnProperty.call(message, "accessSelector"))
+ $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.encode(message.accessSelector, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.options != null && Object.hasOwnProperty.call(message, "options"))
+ $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.encode(message.options, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.conditionContext != null && Object.hasOwnProperty.call(message, "conditionContext"))
+ $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.encode(message.conditionContext, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IamPolicyAnalysisQuery message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {google.cloud.asset.v1.IIamPolicyAnalysisQuery} message IamPolicyAnalysisQuery message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IamPolicyAnalysisQuery.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IamPolicyAnalysisQuery message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery} IamPolicyAnalysisQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IamPolicyAnalysisQuery.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.scope = reader.string();
+ break;
+ }
+ case 2: {
+ message.resourceSelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.identitySelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.accessSelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.options = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.conditionContext = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IamPolicyAnalysisQuery message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery} IamPolicyAnalysisQuery
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IamPolicyAnalysisQuery.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IamPolicyAnalysisQuery message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IamPolicyAnalysisQuery.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ if (!$util.isString(message.scope))
+ return "scope: string expected";
+ if (message.resourceSelector != null && message.hasOwnProperty("resourceSelector")) {
+ var error = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.verify(message.resourceSelector);
+ if (error)
+ return "resourceSelector." + error;
+ }
+ if (message.identitySelector != null && message.hasOwnProperty("identitySelector")) {
+ var error = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.verify(message.identitySelector);
+ if (error)
+ return "identitySelector." + error;
+ }
+ if (message.accessSelector != null && message.hasOwnProperty("accessSelector")) {
+ var error = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.verify(message.accessSelector);
+ if (error)
+ return "accessSelector." + error;
+ }
+ if (message.options != null && message.hasOwnProperty("options")) {
+ var error = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.verify(message.options);
+ if (error)
+ return "options." + error;
+ }
+ if (message.conditionContext != null && message.hasOwnProperty("conditionContext")) {
+ var error = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.verify(message.conditionContext);
+ if (error)
+ return "conditionContext." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an IamPolicyAnalysisQuery message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery} IamPolicyAnalysisQuery
+ */
+ IamPolicyAnalysisQuery.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.IamPolicyAnalysisQuery)
+ return object;
+ var message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery();
+ if (object.scope != null)
+ message.scope = String(object.scope);
+ if (object.resourceSelector != null) {
+ if (typeof object.resourceSelector !== "object")
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.resourceSelector: object expected");
+ message.resourceSelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.fromObject(object.resourceSelector);
+ }
+ if (object.identitySelector != null) {
+ if (typeof object.identitySelector !== "object")
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.identitySelector: object expected");
+ message.identitySelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.fromObject(object.identitySelector);
+ }
+ if (object.accessSelector != null) {
+ if (typeof object.accessSelector !== "object")
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.accessSelector: object expected");
+ message.accessSelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.fromObject(object.accessSelector);
+ }
+ if (object.options != null) {
+ if (typeof object.options !== "object")
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.options: object expected");
+ message.options = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.fromObject(object.options);
+ }
+ if (object.conditionContext != null) {
+ if (typeof object.conditionContext !== "object")
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.conditionContext: object expected");
+ message.conditionContext = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.fromObject(object.conditionContext);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IamPolicyAnalysisQuery message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery} message IamPolicyAnalysisQuery
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IamPolicyAnalysisQuery.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.scope = "";
+ object.resourceSelector = null;
+ object.identitySelector = null;
+ object.accessSelector = null;
+ object.options = null;
+ object.conditionContext = null;
+ }
+ if (message.scope != null && message.hasOwnProperty("scope"))
+ object.scope = message.scope;
+ if (message.resourceSelector != null && message.hasOwnProperty("resourceSelector"))
+ object.resourceSelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.toObject(message.resourceSelector, options);
+ if (message.identitySelector != null && message.hasOwnProperty("identitySelector"))
+ object.identitySelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.toObject(message.identitySelector, options);
+ if (message.accessSelector != null && message.hasOwnProperty("accessSelector"))
+ object.accessSelector = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.toObject(message.accessSelector, options);
+ if (message.options != null && message.hasOwnProperty("options"))
+ object.options = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.toObject(message.options, options);
+ if (message.conditionContext != null && message.hasOwnProperty("conditionContext"))
+ object.conditionContext = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.toObject(message.conditionContext, options);
+ return object;
+ };
+
+ /**
+ * Converts this IamPolicyAnalysisQuery to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IamPolicyAnalysisQuery.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IamPolicyAnalysisQuery
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IamPolicyAnalysisQuery.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.IamPolicyAnalysisQuery";
+ };
+
+ IamPolicyAnalysisQuery.ResourceSelector = (function() {
+
+ /**
+ * Properties of a ResourceSelector.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @interface IResourceSelector
+ * @property {string|null} [fullResourceName] ResourceSelector fullResourceName
+ */
+
+ /**
+ * Constructs a new ResourceSelector.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @classdesc Represents a ResourceSelector.
+ * @implements IResourceSelector
+ * @constructor
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector=} [properties] Properties to set
+ */
+ function ResourceSelector(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]];
+ }
+
+ /**
+ * ResourceSelector fullResourceName.
+ * @member {string} fullResourceName
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @instance
+ */
+ ResourceSelector.prototype.fullResourceName = "";
+
+ /**
+ * Creates a new ResourceSelector instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector} ResourceSelector instance
+ */
+ ResourceSelector.create = function create(properties) {
+ return new ResourceSelector(properties);
+ };
+
+ /**
+ * Encodes the specified ResourceSelector message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector} message ResourceSelector message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResourceSelector.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.fullResourceName != null && Object.hasOwnProperty.call(message, "fullResourceName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.fullResourceName);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ResourceSelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IResourceSelector} message ResourceSelector message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResourceSelector.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ResourceSelector message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector} ResourceSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResourceSelector.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.fullResourceName = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ResourceSelector message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector} ResourceSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResourceSelector.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ResourceSelector message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ResourceSelector.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.fullResourceName != null && message.hasOwnProperty("fullResourceName"))
+ if (!$util.isString(message.fullResourceName))
+ return "fullResourceName: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ResourceSelector message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector} ResourceSelector
+ */
+ ResourceSelector.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector)
+ return object;
+ var message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector();
+ if (object.fullResourceName != null)
+ message.fullResourceName = String(object.fullResourceName);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ResourceSelector message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector} message ResourceSelector
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ResourceSelector.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.fullResourceName = "";
+ if (message.fullResourceName != null && message.hasOwnProperty("fullResourceName"))
+ object.fullResourceName = message.fullResourceName;
+ return object;
+ };
+
+ /**
+ * Converts this ResourceSelector to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ResourceSelector.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ResourceSelector
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ResourceSelector.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.IamPolicyAnalysisQuery.ResourceSelector";
+ };
+
+ return ResourceSelector;
+ })();
+
+ IamPolicyAnalysisQuery.IdentitySelector = (function() {
+
+ /**
+ * Properties of an IdentitySelector.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @interface IIdentitySelector
+ * @property {string|null} [identity] IdentitySelector identity
+ */
+
+ /**
+ * Constructs a new IdentitySelector.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @classdesc Represents an IdentitySelector.
+ * @implements IIdentitySelector
+ * @constructor
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector=} [properties] Properties to set
+ */
+ function IdentitySelector(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]];
+ }
+
+ /**
+ * IdentitySelector identity.
+ * @member {string} identity
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @instance
+ */
+ IdentitySelector.prototype.identity = "";
+
+ /**
+ * Creates a new IdentitySelector instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector} IdentitySelector instance
+ */
+ IdentitySelector.create = function create(properties) {
+ return new IdentitySelector(properties);
+ };
+
+ /**
+ * Encodes the specified IdentitySelector message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector} message IdentitySelector message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IdentitySelector.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.identity != null && Object.hasOwnProperty.call(message, "identity"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.identity);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IdentitySelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IIdentitySelector} message IdentitySelector message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IdentitySelector.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IdentitySelector message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector} IdentitySelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IdentitySelector.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.identity = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IdentitySelector message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector} IdentitySelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IdentitySelector.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IdentitySelector message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IdentitySelector.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.identity != null && message.hasOwnProperty("identity"))
+ if (!$util.isString(message.identity))
+ return "identity: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an IdentitySelector message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector} IdentitySelector
+ */
+ IdentitySelector.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector)
+ return object;
+ var message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector();
+ if (object.identity != null)
+ message.identity = String(object.identity);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IdentitySelector message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector} message IdentitySelector
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IdentitySelector.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.identity = "";
+ if (message.identity != null && message.hasOwnProperty("identity"))
+ object.identity = message.identity;
+ return object;
+ };
+
+ /**
+ * Converts this IdentitySelector to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IdentitySelector.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IdentitySelector
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IdentitySelector.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.IamPolicyAnalysisQuery.IdentitySelector";
+ };
+
+ return IdentitySelector;
+ })();
+
+ IamPolicyAnalysisQuery.AccessSelector = (function() {
+
+ /**
+ * Properties of an AccessSelector.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @interface IAccessSelector
+ * @property {Array.|null} [roles] AccessSelector roles
+ * @property {Array.|null} [permissions] AccessSelector permissions
+ */
+
+ /**
+ * Constructs a new AccessSelector.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @classdesc Represents an AccessSelector.
+ * @implements IAccessSelector
+ * @constructor
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector=} [properties] Properties to set
+ */
+ function AccessSelector(properties) {
+ this.roles = [];
+ this.permissions = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AccessSelector roles.
+ * @member {Array.} roles
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @instance
+ */
+ AccessSelector.prototype.roles = $util.emptyArray;
+
+ /**
+ * AccessSelector permissions.
+ * @member {Array.} permissions
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @instance
+ */
+ AccessSelector.prototype.permissions = $util.emptyArray;
+
+ /**
+ * Creates a new AccessSelector instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector} AccessSelector instance
+ */
+ AccessSelector.create = function create(properties) {
+ return new AccessSelector(properties);
+ };
+
+ /**
+ * Encodes the specified AccessSelector message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector} message AccessSelector message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AccessSelector.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.roles != null && message.roles.length)
+ for (var i = 0; i < message.roles.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.roles[i]);
+ if (message.permissions != null && message.permissions.length)
+ for (var i = 0; i < message.permissions.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.permissions[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AccessSelector message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IAccessSelector} message AccessSelector message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AccessSelector.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AccessSelector message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector} AccessSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AccessSelector.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.roles && message.roles.length))
+ message.roles = [];
+ message.roles.push(reader.string());
+ break;
+ }
+ case 2: {
+ if (!(message.permissions && message.permissions.length))
+ message.permissions = [];
+ message.permissions.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AccessSelector message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector} AccessSelector
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AccessSelector.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AccessSelector message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AccessSelector.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.roles != null && message.hasOwnProperty("roles")) {
+ if (!Array.isArray(message.roles))
+ return "roles: array expected";
+ for (var i = 0; i < message.roles.length; ++i)
+ if (!$util.isString(message.roles[i]))
+ return "roles: string[] expected";
+ }
+ if (message.permissions != null && message.hasOwnProperty("permissions")) {
+ if (!Array.isArray(message.permissions))
+ return "permissions: array expected";
+ for (var i = 0; i < message.permissions.length; ++i)
+ if (!$util.isString(message.permissions[i]))
+ return "permissions: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AccessSelector message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector} AccessSelector
+ */
+ AccessSelector.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector)
+ return object;
+ var message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector();
+ if (object.roles) {
+ if (!Array.isArray(object.roles))
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.roles: array expected");
+ message.roles = [];
+ for (var i = 0; i < object.roles.length; ++i)
+ message.roles[i] = String(object.roles[i]);
+ }
+ if (object.permissions) {
+ if (!Array.isArray(object.permissions))
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector.permissions: array expected");
+ message.permissions = [];
+ for (var i = 0; i < object.permissions.length; ++i)
+ message.permissions[i] = String(object.permissions[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AccessSelector message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector} message AccessSelector
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AccessSelector.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.roles = [];
+ object.permissions = [];
+ }
+ if (message.roles && message.roles.length) {
+ object.roles = [];
+ for (var j = 0; j < message.roles.length; ++j)
+ object.roles[j] = message.roles[j];
+ }
+ if (message.permissions && message.permissions.length) {
+ object.permissions = [];
+ for (var j = 0; j < message.permissions.length; ++j)
+ object.permissions[j] = message.permissions[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AccessSelector to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AccessSelector.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AccessSelector
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AccessSelector.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.IamPolicyAnalysisQuery.AccessSelector";
+ };
+
+ return AccessSelector;
+ })();
+
+ IamPolicyAnalysisQuery.Options = (function() {
+
+ /**
+ * Properties of an Options.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @interface IOptions
+ * @property {boolean|null} [expandGroups] Options expandGroups
+ * @property {boolean|null} [expandRoles] Options expandRoles
+ * @property {boolean|null} [expandResources] Options expandResources
+ * @property {boolean|null} [outputResourceEdges] Options outputResourceEdges
+ * @property {boolean|null} [outputGroupEdges] Options outputGroupEdges
+ * @property {boolean|null} [analyzeServiceAccountImpersonation] Options analyzeServiceAccountImpersonation
+ */
+
+ /**
+ * Constructs a new Options.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @classdesc Represents an Options.
+ * @implements IOptions
+ * @constructor
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions=} [properties] Properties to set
+ */
+ function Options(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]];
+ }
+
+ /**
+ * Options expandGroups.
+ * @member {boolean} expandGroups
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @instance
+ */
+ Options.prototype.expandGroups = false;
+
+ /**
+ * Options expandRoles.
+ * @member {boolean} expandRoles
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @instance
+ */
+ Options.prototype.expandRoles = false;
+
+ /**
+ * Options expandResources.
+ * @member {boolean} expandResources
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @instance
+ */
+ Options.prototype.expandResources = false;
+
+ /**
+ * Options outputResourceEdges.
+ * @member {boolean} outputResourceEdges
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @instance
+ */
+ Options.prototype.outputResourceEdges = false;
+
+ /**
+ * Options outputGroupEdges.
+ * @member {boolean} outputGroupEdges
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @instance
+ */
+ Options.prototype.outputGroupEdges = false;
+
+ /**
+ * Options analyzeServiceAccountImpersonation.
+ * @member {boolean} analyzeServiceAccountImpersonation
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @instance
+ */
+ Options.prototype.analyzeServiceAccountImpersonation = false;
+
+ /**
+ * Creates a new Options instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.Options} Options instance
+ */
+ Options.create = function create(properties) {
+ return new Options(properties);
+ };
+
+ /**
+ * Encodes the specified Options message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions} message Options message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Options.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.expandGroups != null && Object.hasOwnProperty.call(message, "expandGroups"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.expandGroups);
+ if (message.expandRoles != null && Object.hasOwnProperty.call(message, "expandRoles"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.expandRoles);
+ if (message.expandResources != null && Object.hasOwnProperty.call(message, "expandResources"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.expandResources);
+ if (message.outputResourceEdges != null && Object.hasOwnProperty.call(message, "outputResourceEdges"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.outputResourceEdges);
+ if (message.outputGroupEdges != null && Object.hasOwnProperty.call(message, "outputGroupEdges"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.outputGroupEdges);
+ if (message.analyzeServiceAccountImpersonation != null && Object.hasOwnProperty.call(message, "analyzeServiceAccountImpersonation"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.analyzeServiceAccountImpersonation);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Options message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.Options.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IOptions} message Options message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Options.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Options message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.Options} Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Options.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.expandGroups = reader.bool();
+ break;
+ }
+ case 2: {
+ message.expandRoles = reader.bool();
+ break;
+ }
+ case 3: {
+ message.expandResources = reader.bool();
+ break;
+ }
+ case 4: {
+ message.outputResourceEdges = reader.bool();
+ break;
+ }
+ case 5: {
+ message.outputGroupEdges = reader.bool();
+ break;
+ }
+ case 6: {
+ message.analyzeServiceAccountImpersonation = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Options message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.Options} Options
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Options.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Options message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Options.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.expandGroups != null && message.hasOwnProperty("expandGroups"))
+ if (typeof message.expandGroups !== "boolean")
+ return "expandGroups: boolean expected";
+ if (message.expandRoles != null && message.hasOwnProperty("expandRoles"))
+ if (typeof message.expandRoles !== "boolean")
+ return "expandRoles: boolean expected";
+ if (message.expandResources != null && message.hasOwnProperty("expandResources"))
+ if (typeof message.expandResources !== "boolean")
+ return "expandResources: boolean expected";
+ if (message.outputResourceEdges != null && message.hasOwnProperty("outputResourceEdges"))
+ if (typeof message.outputResourceEdges !== "boolean")
+ return "outputResourceEdges: boolean expected";
+ if (message.outputGroupEdges != null && message.hasOwnProperty("outputGroupEdges"))
+ if (typeof message.outputGroupEdges !== "boolean")
+ return "outputGroupEdges: boolean expected";
+ if (message.analyzeServiceAccountImpersonation != null && message.hasOwnProperty("analyzeServiceAccountImpersonation"))
+ if (typeof message.analyzeServiceAccountImpersonation !== "boolean")
+ return "analyzeServiceAccountImpersonation: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates an Options message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.Options} Options
+ */
+ Options.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options)
+ return object;
+ var message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.Options();
+ if (object.expandGroups != null)
+ message.expandGroups = Boolean(object.expandGroups);
+ if (object.expandRoles != null)
+ message.expandRoles = Boolean(object.expandRoles);
+ if (object.expandResources != null)
+ message.expandResources = Boolean(object.expandResources);
+ if (object.outputResourceEdges != null)
+ message.outputResourceEdges = Boolean(object.outputResourceEdges);
+ if (object.outputGroupEdges != null)
+ message.outputGroupEdges = Boolean(object.outputGroupEdges);
+ if (object.analyzeServiceAccountImpersonation != null)
+ message.analyzeServiceAccountImpersonation = Boolean(object.analyzeServiceAccountImpersonation);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Options message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.Options} message Options
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Options.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.expandGroups = false;
+ object.expandRoles = false;
+ object.expandResources = false;
+ object.outputResourceEdges = false;
+ object.outputGroupEdges = false;
+ object.analyzeServiceAccountImpersonation = false;
+ }
+ if (message.expandGroups != null && message.hasOwnProperty("expandGroups"))
+ object.expandGroups = message.expandGroups;
+ if (message.expandRoles != null && message.hasOwnProperty("expandRoles"))
+ object.expandRoles = message.expandRoles;
+ if (message.expandResources != null && message.hasOwnProperty("expandResources"))
+ object.expandResources = message.expandResources;
+ if (message.outputResourceEdges != null && message.hasOwnProperty("outputResourceEdges"))
+ object.outputResourceEdges = message.outputResourceEdges;
+ if (message.outputGroupEdges != null && message.hasOwnProperty("outputGroupEdges"))
+ object.outputGroupEdges = message.outputGroupEdges;
+ if (message.analyzeServiceAccountImpersonation != null && message.hasOwnProperty("analyzeServiceAccountImpersonation"))
+ object.analyzeServiceAccountImpersonation = message.analyzeServiceAccountImpersonation;
+ return object;
+ };
+
+ /**
+ * Converts this Options to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Options.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Options
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.Options
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Options.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.IamPolicyAnalysisQuery.Options";
+ };
+
+ return Options;
+ })();
+
+ IamPolicyAnalysisQuery.ConditionContext = (function() {
+
+ /**
+ * Properties of a ConditionContext.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @interface IConditionContext
+ * @property {google.protobuf.ITimestamp|null} [accessTime] ConditionContext accessTime
+ */
+
+ /**
+ * Constructs a new ConditionContext.
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery
+ * @classdesc Represents a ConditionContext.
+ * @implements IConditionContext
+ * @constructor
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext=} [properties] Properties to set
+ */
+ function ConditionContext(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]];
+ }
+
+ /**
+ * ConditionContext accessTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} accessTime
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @instance
+ */
+ ConditionContext.prototype.accessTime = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ConditionContext TimeContext.
+ * @member {"accessTime"|undefined} TimeContext
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @instance
+ */
+ Object.defineProperty(ConditionContext.prototype, "TimeContext", {
+ get: $util.oneOfGetter($oneOfFields = ["accessTime"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ConditionContext instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext} ConditionContext instance
+ */
+ ConditionContext.create = function create(properties) {
+ return new ConditionContext(properties);
+ };
+
+ /**
+ * Encodes the specified ConditionContext message. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext} message ConditionContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ConditionContext.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.accessTime != null && Object.hasOwnProperty.call(message, "accessTime"))
+ $root.google.protobuf.Timestamp.encode(message.accessTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ConditionContext message, length delimited. Does not implicitly {@link google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.IConditionContext} message ConditionContext message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ConditionContext.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ConditionContext message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext} ConditionContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ConditionContext.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.accessTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ConditionContext message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext} ConditionContext
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ConditionContext.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ConditionContext message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ConditionContext.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.accessTime != null && message.hasOwnProperty("accessTime")) {
+ properties.TimeContext = 1;
+ {
+ var error = $root.google.protobuf.Timestamp.verify(message.accessTime);
+ if (error)
+ return "accessTime." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ConditionContext message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext} ConditionContext
+ */
+ ConditionContext.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext)
+ return object;
+ var message = new $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext();
+ if (object.accessTime != null) {
+ if (typeof object.accessTime !== "object")
+ throw TypeError(".google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext.accessTime: object expected");
+ message.accessTime = $root.google.protobuf.Timestamp.fromObject(object.accessTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ConditionContext message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext} message ConditionContext
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ConditionContext.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.accessTime != null && message.hasOwnProperty("accessTime")) {
+ object.accessTime = $root.google.protobuf.Timestamp.toObject(message.accessTime, options);
+ if (options.oneofs)
+ object.TimeContext = "accessTime";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ConditionContext to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ConditionContext.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ConditionContext
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ConditionContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.IamPolicyAnalysisQuery.ConditionContext";
+ };
+
+ return ConditionContext;
+ })();
+
+ return IamPolicyAnalysisQuery;
+ })();
+
+ v1.AnalyzeIamPolicyRequest = (function() {
+
+ /**
+ * Properties of an AnalyzeIamPolicyRequest.
+ * @memberof google.cloud.asset.v1
+ * @interface IAnalyzeIamPolicyRequest
+ * @property {google.cloud.asset.v1.IIamPolicyAnalysisQuery|null} [analysisQuery] AnalyzeIamPolicyRequest analysisQuery
+ * @property {string|null} [savedAnalysisQuery] AnalyzeIamPolicyRequest savedAnalysisQuery
+ * @property {google.protobuf.IDuration|null} [executionTimeout] AnalyzeIamPolicyRequest executionTimeout
+ */
+
+ /**
+ * Constructs a new AnalyzeIamPolicyRequest.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an AnalyzeIamPolicyRequest.
+ * @implements IAnalyzeIamPolicyRequest
+ * @constructor
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyRequest=} [properties] Properties to set
+ */
+ function AnalyzeIamPolicyRequest(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]];
+ }
+
+ /**
+ * AnalyzeIamPolicyRequest analysisQuery.
+ * @member {google.cloud.asset.v1.IIamPolicyAnalysisQuery|null|undefined} analysisQuery
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @instance
+ */
+ AnalyzeIamPolicyRequest.prototype.analysisQuery = null;
+
+ /**
+ * AnalyzeIamPolicyRequest savedAnalysisQuery.
+ * @member {string} savedAnalysisQuery
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @instance
+ */
+ AnalyzeIamPolicyRequest.prototype.savedAnalysisQuery = "";
+
+ /**
+ * AnalyzeIamPolicyRequest executionTimeout.
+ * @member {google.protobuf.IDuration|null|undefined} executionTimeout
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @instance
+ */
+ AnalyzeIamPolicyRequest.prototype.executionTimeout = null;
+
+ /**
+ * Creates a new AnalyzeIamPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyRequest=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyRequest} AnalyzeIamPolicyRequest instance
+ */
+ AnalyzeIamPolicyRequest.create = function create(properties) {
+ return new AnalyzeIamPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyRequest message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyRequest} message AnalyzeIamPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnalyzeIamPolicyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.analysisQuery != null && Object.hasOwnProperty.call(message, "analysisQuery"))
+ $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.encode(message.analysisQuery, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.executionTimeout != null && Object.hasOwnProperty.call(message, "executionTimeout"))
+ $root.google.protobuf.Duration.encode(message.executionTimeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.savedAnalysisQuery != null && Object.hasOwnProperty.call(message, "savedAnalysisQuery"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.savedAnalysisQuery);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyRequest} message AnalyzeIamPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnalyzeIamPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AnalyzeIamPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyRequest} AnalyzeIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnalyzeIamPolicyRequest.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.AnalyzeIamPolicyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.analysisQuery = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.savedAnalysisQuery = reader.string();
+ break;
+ }
+ case 2: {
+ message.executionTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AnalyzeIamPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyRequest} AnalyzeIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnalyzeIamPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AnalyzeIamPolicyRequest message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AnalyzeIamPolicyRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.analysisQuery != null && message.hasOwnProperty("analysisQuery")) {
+ var error = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.verify(message.analysisQuery);
+ if (error)
+ return "analysisQuery." + error;
+ }
+ if (message.savedAnalysisQuery != null && message.hasOwnProperty("savedAnalysisQuery"))
+ if (!$util.isString(message.savedAnalysisQuery))
+ return "savedAnalysisQuery: string expected";
+ if (message.executionTimeout != null && message.hasOwnProperty("executionTimeout")) {
+ var error = $root.google.protobuf.Duration.verify(message.executionTimeout);
+ if (error)
+ return "executionTimeout." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AnalyzeIamPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyRequest} AnalyzeIamPolicyRequest
+ */
+ AnalyzeIamPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.AnalyzeIamPolicyRequest)
+ return object;
+ var message = new $root.google.cloud.asset.v1.AnalyzeIamPolicyRequest();
+ if (object.analysisQuery != null) {
+ if (typeof object.analysisQuery !== "object")
+ throw TypeError(".google.cloud.asset.v1.AnalyzeIamPolicyRequest.analysisQuery: object expected");
+ message.analysisQuery = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.fromObject(object.analysisQuery);
+ }
+ if (object.savedAnalysisQuery != null)
+ message.savedAnalysisQuery = String(object.savedAnalysisQuery);
+ if (object.executionTimeout != null) {
+ if (typeof object.executionTimeout !== "object")
+ throw TypeError(".google.cloud.asset.v1.AnalyzeIamPolicyRequest.executionTimeout: object expected");
+ message.executionTimeout = $root.google.protobuf.Duration.fromObject(object.executionTimeout);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {google.cloud.asset.v1.AnalyzeIamPolicyRequest} message AnalyzeIamPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AnalyzeIamPolicyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.analysisQuery = null;
+ object.executionTimeout = null;
+ object.savedAnalysisQuery = "";
+ }
+ if (message.analysisQuery != null && message.hasOwnProperty("analysisQuery"))
+ object.analysisQuery = $root.google.cloud.asset.v1.IamPolicyAnalysisQuery.toObject(message.analysisQuery, options);
+ if (message.executionTimeout != null && message.hasOwnProperty("executionTimeout"))
+ object.executionTimeout = $root.google.protobuf.Duration.toObject(message.executionTimeout, options);
+ if (message.savedAnalysisQuery != null && message.hasOwnProperty("savedAnalysisQuery"))
+ object.savedAnalysisQuery = message.savedAnalysisQuery;
+ return object;
+ };
+
+ /**
+ * Converts this AnalyzeIamPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AnalyzeIamPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AnalyzeIamPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.AnalyzeIamPolicyRequest";
+ };
+
+ return AnalyzeIamPolicyRequest;
+ })();
+
+ v1.AnalyzeIamPolicyResponse = (function() {
+
+ /**
+ * Properties of an AnalyzeIamPolicyResponse.
+ * @memberof google.cloud.asset.v1
+ * @interface IAnalyzeIamPolicyResponse
+ * @property {google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis|null} [mainAnalysis] AnalyzeIamPolicyResponse mainAnalysis
+ * @property {Array.|null} [serviceAccountImpersonationAnalysis] AnalyzeIamPolicyResponse serviceAccountImpersonationAnalysis
+ * @property {boolean|null} [fullyExplored] AnalyzeIamPolicyResponse fullyExplored
+ */
+
+ /**
+ * Constructs a new AnalyzeIamPolicyResponse.
+ * @memberof google.cloud.asset.v1
+ * @classdesc Represents an AnalyzeIamPolicyResponse.
+ * @implements IAnalyzeIamPolicyResponse
+ * @constructor
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyResponse=} [properties] Properties to set
+ */
+ function AnalyzeIamPolicyResponse(properties) {
+ this.serviceAccountImpersonationAnalysis = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * AnalyzeIamPolicyResponse mainAnalysis.
+ * @member {google.cloud.asset.v1.AnalyzeIamPolicyResponse.IIamPolicyAnalysis|null|undefined} mainAnalysis
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @instance
+ */
+ AnalyzeIamPolicyResponse.prototype.mainAnalysis = null;
+
+ /**
+ * AnalyzeIamPolicyResponse serviceAccountImpersonationAnalysis.
+ * @member {Array.} serviceAccountImpersonationAnalysis
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @instance
+ */
+ AnalyzeIamPolicyResponse.prototype.serviceAccountImpersonationAnalysis = $util.emptyArray;
+
+ /**
+ * AnalyzeIamPolicyResponse fullyExplored.
+ * @member {boolean} fullyExplored
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @instance
+ */
+ AnalyzeIamPolicyResponse.prototype.fullyExplored = false;
+
+ /**
+ * Creates a new AnalyzeIamPolicyResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyResponse=} [properties] Properties to set
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyResponse} AnalyzeIamPolicyResponse instance
+ */
+ AnalyzeIamPolicyResponse.create = function create(properties) {
+ return new AnalyzeIamPolicyResponse(properties);
+ };
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyResponse message. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyResponse} message AnalyzeIamPolicyResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnalyzeIamPolicyResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.mainAnalysis != null && Object.hasOwnProperty.call(message, "mainAnalysis"))
+ $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.encode(message.mainAnalysis, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.serviceAccountImpersonationAnalysis != null && message.serviceAccountImpersonationAnalysis.length)
+ for (var i = 0; i < message.serviceAccountImpersonationAnalysis.length; ++i)
+ $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.encode(message.serviceAccountImpersonationAnalysis[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.fullyExplored != null && Object.hasOwnProperty.call(message, "fullyExplored"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.fullyExplored);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AnalyzeIamPolicyResponse message, length delimited. Does not implicitly {@link google.cloud.asset.v1.AnalyzeIamPolicyResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {google.cloud.asset.v1.IAnalyzeIamPolicyResponse} message AnalyzeIamPolicyResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AnalyzeIamPolicyResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AnalyzeIamPolicyResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyResponse} AnalyzeIamPolicyResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnalyzeIamPolicyResponse.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.mainAnalysis = $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.serviceAccountImpersonationAnalysis && message.serviceAccountImpersonationAnalysis.length))
+ message.serviceAccountImpersonationAnalysis = [];
+ message.serviceAccountImpersonationAnalysis.push($root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.fullyExplored = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AnalyzeIamPolicyResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyResponse} AnalyzeIamPolicyResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AnalyzeIamPolicyResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AnalyzeIamPolicyResponse message.
+ * @function verify
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AnalyzeIamPolicyResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.mainAnalysis != null && message.hasOwnProperty("mainAnalysis")) {
+ var error = $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.verify(message.mainAnalysis);
+ if (error)
+ return "mainAnalysis." + error;
+ }
+ if (message.serviceAccountImpersonationAnalysis != null && message.hasOwnProperty("serviceAccountImpersonationAnalysis")) {
+ if (!Array.isArray(message.serviceAccountImpersonationAnalysis))
+ return "serviceAccountImpersonationAnalysis: array expected";
+ for (var i = 0; i < message.serviceAccountImpersonationAnalysis.length; ++i) {
+ var error = $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.verify(message.serviceAccountImpersonationAnalysis[i]);
+ if (error)
+ return "serviceAccountImpersonationAnalysis." + error;
+ }
+ }
+ if (message.fullyExplored != null && message.hasOwnProperty("fullyExplored"))
+ if (typeof message.fullyExplored !== "boolean")
+ return "fullyExplored: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates an AnalyzeIamPolicyResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.asset.v1.AnalyzeIamPolicyResponse} AnalyzeIamPolicyResponse
+ */
+ AnalyzeIamPolicyResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse)
+ return object;
+ var message = new $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse();
+ if (object.mainAnalysis != null) {
+ if (typeof object.mainAnalysis !== "object")
+ throw TypeError(".google.cloud.asset.v1.AnalyzeIamPolicyResponse.mainAnalysis: object expected");
+ message.mainAnalysis = $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.fromObject(object.mainAnalysis);
+ }
+ if (object.serviceAccountImpersonationAnalysis) {
+ if (!Array.isArray(object.serviceAccountImpersonationAnalysis))
+ throw TypeError(".google.cloud.asset.v1.AnalyzeIamPolicyResponse.serviceAccountImpersonationAnalysis: array expected");
+ message.serviceAccountImpersonationAnalysis = [];
+ for (var i = 0; i < object.serviceAccountImpersonationAnalysis.length; ++i) {
+ if (typeof object.serviceAccountImpersonationAnalysis[i] !== "object")
+ throw TypeError(".google.cloud.asset.v1.AnalyzeIamPolicyResponse.serviceAccountImpersonationAnalysis: object expected");
+ message.serviceAccountImpersonationAnalysis[i] = $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.fromObject(object.serviceAccountImpersonationAnalysis[i]);
+ }
+ }
+ if (object.fullyExplored != null)
+ message.fullyExplored = Boolean(object.fullyExplored);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AnalyzeIamPolicyResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {google.cloud.asset.v1.AnalyzeIamPolicyResponse} message AnalyzeIamPolicyResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AnalyzeIamPolicyResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.serviceAccountImpersonationAnalysis = [];
+ if (options.defaults) {
+ object.mainAnalysis = null;
+ object.fullyExplored = false;
+ }
+ if (message.mainAnalysis != null && message.hasOwnProperty("mainAnalysis"))
+ object.mainAnalysis = $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.toObject(message.mainAnalysis, options);
+ if (message.serviceAccountImpersonationAnalysis && message.serviceAccountImpersonationAnalysis.length) {
+ object.serviceAccountImpersonationAnalysis = [];
+ for (var j = 0; j < message.serviceAccountImpersonationAnalysis.length; ++j)
+ object.serviceAccountImpersonationAnalysis[j] = $root.google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.toObject(message.serviceAccountImpersonationAnalysis[j], options);
+ }
+ if (message.fullyExplored != null && message.hasOwnProperty("fullyExplored"))
+ object.fullyExplored = message.fullyExplored;
+ return object;
+ };
+
+ /**
+ * Converts this AnalyzeIamPolicyResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AnalyzeIamPolicyResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AnalyzeIamPolicyResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AnalyzeIamPolicyResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.asset.v1.AnalyzeIamPolicyResponse";
+ };
+
+ AnalyzeIamPolicyResponse.IamPolicyAnalysis = (function() {
+
+ /**
+ * Properties of an IamPolicyAnalysis.
+ * @memberof google.cloud.asset.v1.AnalyzeIamPolicyResponse
+ * @interface IIamPolicyAnalysis
+ * @property {google.cloud.asset.v1.IIamPolicyAnalysisQuery|null} [analysisQuery] IamPolicyAnalysis analysisQuery
+ * @property {Array.|null} [analysisResults] IamPolicyAnalysis analysisResults
+ * @property {boolean|null} [fullyExplored] IamPolicyAnalysis fullyExplored
+ * @property {Array.