diff --git a/packages/google-cloud-binaryauthorization/.eslintignore b/packages/google-cloud-binaryauthorization/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-binaryauthorization/.eslintrc.json b/packages/google-cloud-binaryauthorization/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-binaryauthorization/.gitattributes b/packages/google-cloud-binaryauthorization/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.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-binaryauthorization/.github/.OwlBot.yaml b/packages/google-cloud-binaryauthorization/.github/.OwlBot.yaml
new file mode 100644
index 00000000000..53daf3dd3d5
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.github/.OwlBot.yaml
@@ -0,0 +1,23 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+docker:
+ image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/binaryauthorization/(.*)/.*-nodejs/(.*)
+ dest: /owl-bot-staging/$1/$2
+
diff --git a/packages/google-cloud-binaryauthorization/.gitignore b/packages/google-cloud-binaryauthorization/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.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-binaryauthorization/.jsdoc.js b/packages/google-cloud-binaryauthorization/.jsdoc.js
new file mode 100644
index 00000000000..28b3ad6d187
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.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/binary-authorization',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-binaryauthorization/.mocharc.js b/packages/google-cloud-binaryauthorization/.mocharc.js
new file mode 100644
index 00000000000..0b600509bed
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/packages/google-cloud-binaryauthorization/.nycrc b/packages/google-cloud-binaryauthorization/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.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-binaryauthorization/.prettierignore b/packages/google-cloud-binaryauthorization/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-binaryauthorization/.prettierrc.js b/packages/google-cloud-binaryauthorization/.prettierrc.js
new file mode 100644
index 00000000000..d1b95106f4c
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-cloud-binaryauthorization/.repo-metadata.json b/packages/google-cloud-binaryauthorization/.repo-metadata.json
new file mode 100644
index 00000000000..332013c219d
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/.repo-metadata.json
@@ -0,0 +1,17 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/binary-authorization/latest",
+ "api_id": "binaryauthorization.googleapis.com",
+ "distribution_name": "@google-cloud/binary-authorization",
+ "release_level": "stable",
+ "default_version": "v1",
+ "language": "nodejs",
+ "name_pretty": "Binary Authorization",
+ "repo": "googleapis/nodejs-binary-authorization",
+ "product_documentation": "https://cloud.google.com/binary-authorization/",
+ "requires_billing": true,
+ "name": "binaryauthorization",
+ "issue_tracker": "https://github.com/googleapis/nodejs-binary-authorization/issues",
+ "codeowner_team": "@googleapis/aap-dpes",
+ "api_shortname": "binaryauthorization",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-binaryauthorization/CHANGELOG.md b/packages/google-cloud-binaryauthorization/CHANGELOG.md
new file mode 100644
index 00000000000..05a167bd617
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/CHANGELOG.md
@@ -0,0 +1,171 @@
+# Changelog
+
+## [2.1.1](https://github.com/googleapis/nodejs-binary-authorization/compare/v2.1.0...v2.1.1) (2022-11-10)
+
+
+### Bug Fixes
+
+* **deps:** Use google-gax v3.5.2 ([#192](https://github.com/googleapis/nodejs-binary-authorization/issues/192)) ([09d6652](https://github.com/googleapis/nodejs-binary-authorization/commit/09d665200e6cc8fec5e026a2234990e48a3a94d4))
+* Regenerated protos JS and TS definitions ([#196](https://github.com/googleapis/nodejs-binary-authorization/issues/196)) ([c03bdba](https://github.com/googleapis/nodejs-binary-authorization/commit/c03bdbadea89865d7975e797a6f8d2cb22765252))
+
+## [2.1.0](https://github.com/googleapis/nodejs-binary-authorization/compare/v2.0.0...v2.1.0) (2022-10-06)
+
+
+### Features
+
+* Add new analysis status and cvss version fields ([#187](https://github.com/googleapis/nodejs-binary-authorization/issues/187)) ([d461de8](https://github.com/googleapis/nodejs-binary-authorization/commit/d461de86c3abc5db180ae32ea4e6063f3c00df25))
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#177](https://github.com/googleapis/nodejs-binary-authorization/issues/177)) ([6ef4a52](https://github.com/googleapis/nodejs-binary-authorization/commit/6ef4a520c1bb49fca8159324dbf41af10931357e))
+* Better support for fallback mode ([#170](https://github.com/googleapis/nodejs-binary-authorization/issues/170)) ([fa2e0b5](https://github.com/googleapis/nodejs-binary-authorization/commit/fa2e0b5991a80e912c65f896bdc0c2670b2a349d))
+* Change import long to require ([#172](https://github.com/googleapis/nodejs-binary-authorization/issues/172)) ([6327374](https://github.com/googleapis/nodejs-binary-authorization/commit/6327374ea12b05cc4d752b059e4d9a098174f45b))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-binary-authorization/issues/1553)) ([#176](https://github.com/googleapis/nodejs-binary-authorization/issues/176)) ([1a53ab4](https://github.com/googleapis/nodejs-binary-authorization/commit/1a53ab4d1bb04f4759494973a3297c3dcf295833))
+* Preserve default values in x-goog-request-params header ([#180](https://github.com/googleapis/nodejs-binary-authorization/issues/180)) ([80b0dcf](https://github.com/googleapis/nodejs-binary-authorization/commit/80b0dcf989b20f874e0912af641fdc12419887f2))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-binary-authorization/issues/1546)) ([#175](https://github.com/googleapis/nodejs-binary-authorization/issues/175)) ([f412b6e](https://github.com/googleapis/nodejs-binary-authorization/commit/f412b6e8349aab08d3d5d985cd38f91750c1f030))
+* use google-gax v3.3.0 ([1a53ab4](https://github.com/googleapis/nodejs-binary-authorization/commit/1a53ab4d1bb04f4759494973a3297c3dcf295833))
+
+## [2.0.0](https://github.com/googleapis/nodejs-binary-authorization/compare/v1.5.1...v2.0.0) (2022-06-30)
+
+
+### ⚠ BREAKING CHANGES
+
+* make v1 default service version (#139)
+* update library to use Node 12 (#153)
+
+### Features
+
+* Adds a pod_namespace field to pod events created by Continuous Validation, to distinguish pods with the same name that run in different namespaces ([#159](https://github.com/googleapis/nodejs-binary-authorization/issues/159)) ([db983a2](https://github.com/googleapis/nodejs-binary-authorization/commit/db983a2911ae969da1ebf2096e48a33e78ea5ea1))
+* Import of Grafeas from Github ([#156](https://github.com/googleapis/nodejs-binary-authorization/issues/156)) ([d0f06b7](https://github.com/googleapis/nodejs-binary-authorization/commit/d0f06b73b78137400461486d7b6020d370fd3efe))
+* make v1 default service version ([#139](https://github.com/googleapis/nodejs-binary-authorization/issues/139)) ([308286e](https://github.com/googleapis/nodejs-binary-authorization/commit/308286e8d92d62ba8d1c0e6c7ec3d0a921e63294))
+
+
+### Bug Fixes
+
+* **docs:** describe fallback rest option ([#160](https://github.com/googleapis/nodejs-binary-authorization/issues/160)) ([dc48528](https://github.com/googleapis/nodejs-binary-authorization/commit/dc48528c213f6eb2557a647333879370494a00e7))
+
+
+### Build System
+
+* update library to use Node 12 ([#153](https://github.com/googleapis/nodejs-binary-authorization/issues/153)) ([cafc43b](https://github.com/googleapis/nodejs-binary-authorization/commit/cafc43b1d91f0aa23b8db9848a05fbd2cb65da10))
+
+### [1.5.1](https://github.com/googleapis/nodejs-binary-authorization/compare/v1.5.0...v1.5.1) (2022-01-13)
+
+
+### Bug Fixes
+
+* Modify the bazel.BUILD file by hand to include the compliance protos which are not autogenerated ([#120](https://github.com/googleapis/nodejs-binary-authorization/issues/120)) ([4f30555](https://github.com/googleapis/nodejs-binary-authorization/commit/4f305551c6d9f97bd2e4ef8430fd7dc9cfc6f9c9))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.4.0...v1.5.0) (2021-11-08)
+
+
+### Features
+
+* add new admission rule types to Policy feat: update SignatureAlgorithm enum to match algorithm names in KMS feat: add SystemPolicyV1Beta1 service ([#109](https://www.github.com/googleapis/nodejs-binary-authorization/issues/109)) ([c99878c](https://www.github.com/googleapis/nodejs-binary-authorization/commit/c99878c99a19b80301cdd9219390d00984e78c14))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.3.0...v1.4.0) (2021-11-03)
+
+
+### Features
+
+* Updating the grafeas protos to include compliance and intoto attestation protos ([#106](https://www.github.com/googleapis/nodejs-binary-authorization/issues/106)) ([f1407cc](https://www.github.com/googleapis/nodejs-binary-authorization/commit/f1407ccc83b93a41aa2065fc2bd0ea91aa93e0e4))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.2.0...v1.3.0) (2021-09-27)
+
+
+### Features
+
+* add v1 of the API, add generated samples ([#95](https://www.github.com/googleapis/nodejs-binary-authorization/issues/95)) ([baa9a6a](https://www.github.com/googleapis/nodejs-binary-authorization/commit/baa9a6aa096acc89a367a0ac4fcba5c899cb6f2a))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.1.6...v1.2.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#87](https://www.github.com/googleapis/nodejs-binary-authorization/issues/87)) ([e61630b](https://www.github.com/googleapis/nodejs-binary-authorization/commit/e61630b2e9b978798a5b01ea7c637bccad6b37e9))
+
+
+### Bug Fixes
+
+* **build:** migrate to using main branch ([#82](https://www.github.com/googleapis/nodejs-binary-authorization/issues/82)) ([3f11200](https://www.github.com/googleapis/nodejs-binary-authorization/commit/3f112009748af38f5f3939ceca28e49f527b583b))
+
+### [1.1.6](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.1.5...v1.1.6) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#84](https://www.github.com/googleapis/nodejs-binary-authorization/issues/84)) ([4f6cadf](https://www.github.com/googleapis/nodejs-binary-authorization/commit/4f6cadf938a15a6d2e6332b3fd2697696c78106b))
+
+### [1.1.5](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.1.4...v1.1.5) (2021-07-21)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#74](https://www.github.com/googleapis/nodejs-binary-authorization/issues/74)) ([15b75a9](https://www.github.com/googleapis/nodejs-binary-authorization/commit/15b75a9136ecd8131b4fea24de8be69bfbfb989d))
+
+### [1.1.4](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.1.3...v1.1.4) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#72](https://www.github.com/googleapis/nodejs-binary-authorization/issues/72)) ([ffb3861](https://www.github.com/googleapis/nodejs-binary-authorization/commit/ffb3861356b4a63ad32517e860efd265280ae831))
+
+### [1.1.3](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.1.2...v1.1.3) (2021-06-29)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#69](https://www.github.com/googleapis/nodejs-binary-authorization/issues/69)) ([3204b13](https://www.github.com/googleapis/nodejs-binary-authorization/commit/3204b13efb5ff3f75d8dec0a393c7b86200c8d28))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.1.1...v1.1.2) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#63](https://www.github.com/googleapis/nodejs-binary-authorization/issues/63)) ([2a0380f](https://www.github.com/googleapis/nodejs-binary-authorization/commit/2a0380f6463b5ad0ee58b5a35ebe41d363390874))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.1.0...v1.1.1) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#56](https://www.github.com/googleapis/nodejs-binary-authorization/issues/56)) ([32e1533](https://www.github.com/googleapis/nodejs-binary-authorization/commit/32e1533ae0d5ff336f3ec671fd7df34e88c49d12))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.0.1...v1.1.0) (2021-05-12)
+
+
+### Features
+
+* Publish Binary Authorization ContinuousValidationEvent proto. ([#50](https://www.github.com/googleapis/nodejs-binary-authorization/issues/50)) ([f7b623d](https://www.github.com/googleapis/nodejs-binary-authorization/commit/f7b623d4427a7382b9e8643a8aeaa06516bd7350))
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#45](https://www.github.com/googleapis/nodejs-binary-authorization/issues/45)) ([c64f773](https://www.github.com/googleapis/nodejs-binary-authorization/commit/c64f77399f5f3586f18525559d1d13763a49555e))
+* use require() to load JSON protos ([#48](https://www.github.com/googleapis/nodejs-binary-authorization/issues/48)) ([0783962](https://www.github.com/googleapis/nodejs-binary-authorization/commit/07839629bb8abc34bfceb5055d8b5c5304311109))
+
+### [1.0.1](https://www.github.com/googleapis/nodejs-binary-authorization/compare/v1.0.0...v1.0.1) (2021-03-15)
+
+
+### Bug Fixes
+
+* **docs:** downgrade to beta to match release level ([#19](https://www.github.com/googleapis/nodejs-binary-authorization/issues/19)) ([90ade48](https://www.github.com/googleapis/nodejs-binary-authorization/commit/90ade48c8088e3b2b41b6059e57ee57fd12f17de))
+
+## 1.0.0 (2020-12-12)
+
+
+### ⚠ BREAKING CHANGES
+
+* write initial samples (#5)
+* initial stub of library
+
+### Features
+
+* initial stub of library ([43b695e](https://www.github.com/googleapis/nodejs-binary-authorization/commit/43b695e416eb52032a138502af170a3ce55969fa))
+* write initial samples ([#5](https://www.github.com/googleapis/nodejs-binary-authorization/issues/5)) ([6828f7c](https://www.github.com/googleapis/nodejs-binary-authorization/commit/6828f7c01942aa90f6ccc390b38f711f3fdfba41))
+
+
+### Bug Fixes
+
+* header ([f263482](https://www.github.com/googleapis/nodejs-binary-authorization/commit/f263482d3d500a35fa522a4f19ee1be5897d0b8b))
diff --git a/packages/google-cloud-binaryauthorization/CODE_OF_CONDUCT.md b/packages/google-cloud-binaryauthorization/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/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-binaryauthorization/CONTRIBUTING.md b/packages/google-cloud-binaryauthorization/CONTRIBUTING.md
new file mode 100644
index 00000000000..6af880616c3
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/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 Binary Authorization 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=binaryauthorization.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-binaryauthorization/LICENSE b/packages/google-cloud-binaryauthorization/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/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-binaryauthorization/README.md b/packages/google-cloud-binaryauthorization/README.md
new file mode 100644
index 00000000000..e67c729315a
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/README.md
@@ -0,0 +1,159 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Binary Authorization: Node.js Client](https://github.com/googleapis/nodejs-binary-authorization)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/binary-authorization)
+
+
+
+
+Binaryauthorization client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-binary-authorization/blob/main/CHANGELOG.md).
+
+* [Binary Authorization Node.js Client API Reference][client-docs]
+* [Binary Authorization Documentation][product-docs]
+* [github.com/googleapis/nodejs-binary-authorization](https://github.com/googleapis/nodejs-binary-authorization)
+
+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 Binary Authorization 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/binary-authorization
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+
+// eslint-disable-next-line node/no-missing-require
+const {
+ BinauthzManagementServiceV1Client,
+} = require('@google-cloud/binary-authorization');
+
+// TODO(developer): replace with your prefered project ID.
+// const projectId = 'my-project'
+
+// Creates a client
+const client = new BinauthzManagementServiceV1Client();
+
+async function listAttestors() {
+ const attestors = await client.listAttestors({parent});
+ console.info(attestors);
+}
+listAttestors();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/nodejs-binary-authorization/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Quickstart | [source code](https://github.com/googleapis/nodejs-binary-authorization/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-binary-authorization&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) |
+
+
+
+The [Binary Authorization 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/binary-authorization@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-binary-authorization/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/nodejs-binary-authorization/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/binary-authorization/latest
+[product-docs]: https://cloud.google.com/binary-authorization/
+[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=binaryauthorization.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-binaryauthorization/linkinator.config.json b/packages/google-cloud-binaryauthorization/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/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-binaryauthorization/package.json b/packages/google-cloud-binaryauthorization/package.json
new file mode 100644
index 00000000000..743f4b865e0
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "@google-cloud/binary-authorization",
+ "version": "2.1.1",
+ "description": "Binaryauthorization client for Node.js",
+ "repository": "googleapis/nodejs-binary-authorization",
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google binaryauthorization",
+ "binaryauthorization",
+ "binauthz management service v1 beta1"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "cd samples/ && npm link ../ && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.3.5",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.1",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.4.0",
+ "webpack-cli": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1/resources.proto b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1/resources.proto
new file mode 100644
index 00000000000..5df7f58bdf8
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1/resources.proto
@@ -0,0 +1,333 @@
+// 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.binaryauthorization.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.BinaryAuthorization.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/binaryauthorization/v1;binaryauthorization";
+option java_multiple_files = false;
+option java_package = "com.google.protos.google.cloud.binaryauthorization.v1";
+option php_namespace = "Google\\Cloud\\BinaryAuthorization\\V1";
+option ruby_package = "Google::Cloud::BinaryAuthorization::V1";
+
+// A [policy][google.cloud.binaryauthorization.v1.Policy] for container image binary authorization.
+message Policy {
+ option (google.api.resource) = {
+ type: "binaryauthorization.googleapis.com/Policy"
+ pattern: "projects/{project}/policy"
+ pattern: "locations/{location}/policy"
+ };
+
+ enum GlobalPolicyEvaluationMode {
+ // Not specified: DISABLE is assumed.
+ GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED = 0;
+
+ // Enables system policy evaluation.
+ ENABLE = 1;
+
+ // Disables system policy evaluation.
+ DISABLE = 2;
+ }
+
+ // Output only. The resource name, in the format `projects/*/policy`. There is
+ // at most one policy per project.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. A descriptive comment.
+ string description = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Controls the evaluation of a Google-maintained global admission
+ // policy for common system-level images. Images not covered by the global
+ // policy will be subject to the project admission policy. This setting
+ // has no effect when specified inside a global admission policy.
+ GlobalPolicyEvaluationMode global_policy_evaluation_mode = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Admission policy allowlisting. A matching admission request will
+ // always be permitted. This feature is typically used to exclude Google or
+ // third-party infrastructure images from Binary Authorization policies.
+ repeated AdmissionWhitelistPattern admission_whitelist_patterns = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-cluster admission rules. Cluster spec format:
+ // `location.clusterId`. There can be at most one admission rule per cluster
+ // spec.
+ // A `location` is either a compute zone (e.g. us-central1-a) or a region
+ // (e.g. us-central1).
+ // For `clusterId` syntax restrictions see
+ // https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.
+ map cluster_admission_rules = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format:
+ // [a-z.-]+, e.g. 'some-namespace'
+ map kubernetes_namespace_admission_rules = 10 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-kubernetes-service-account admission rules. Service account
+ // spec format: `namespace:serviceaccount`. e.g. 'test-ns:default'
+ map kubernetes_service_account_admission_rules = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-istio-service-identity admission rules. Istio service
+ // identity spec format:
+ // spiffe:///ns//sa/ or
+ // /ns//sa/
+ // e.g. spiffe://example.com/ns/test-ns/sa/default
+ map istio_service_identity_admission_rules = 9 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Default admission rule for a cluster without a per-cluster, per-
+ // kubernetes-service-account, or per-istio-service-identity admission rule.
+ AdmissionRule default_admission_rule = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Time when the policy was last updated.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// An [admission allowlist pattern][google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern] exempts images
+// from checks by [admission rules][google.cloud.binaryauthorization.v1.AdmissionRule].
+message AdmissionWhitelistPattern {
+ // An image name pattern to allowlist, in the form `registry/path/to/image`.
+ // This supports a trailing `*` wildcard, but this is allowed only in
+ // text after the `registry/` part. This also supports a trailing `**`
+ // wildcard which matches subdirectories of a given entry.
+ string name_pattern = 1;
+}
+
+// An [admission rule][google.cloud.binaryauthorization.v1.AdmissionRule] specifies either that all container images
+// used in a pod creation request must be attested to by one or more
+// [attestors][google.cloud.binaryauthorization.v1.Attestor], that all pod creations will be allowed, or that all
+// pod creations will be denied.
+//
+// Images matching an [admission allowlist pattern][google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern]
+// are exempted from admission rules and will never block a pod creation.
+message AdmissionRule {
+ enum EvaluationMode {
+ // Do not use.
+ EVALUATION_MODE_UNSPECIFIED = 0;
+
+ // This rule allows all all pod creations.
+ ALWAYS_ALLOW = 1;
+
+ // This rule allows a pod creation if all the attestors listed in
+ // 'require_attestations_by' have valid attestations for all of the
+ // images in the pod spec.
+ REQUIRE_ATTESTATION = 2;
+
+ // This rule denies all pod creations.
+ ALWAYS_DENY = 3;
+ }
+
+ // Defines the possible actions when a pod creation is denied by an admission
+ // rule.
+ enum EnforcementMode {
+ // Do not use.
+ ENFORCEMENT_MODE_UNSPECIFIED = 0;
+
+ // Enforce the admission rule by blocking the pod creation.
+ ENFORCED_BLOCK_AND_AUDIT_LOG = 1;
+
+ // Dryrun mode: Audit logging only. This will allow the pod creation as if
+ // the admission request had specified break-glass.
+ DRYRUN_AUDIT_LOG_ONLY = 2;
+ }
+
+ // Required. How this admission rule will be evaluated.
+ EvaluationMode evaluation_mode = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The resource names of the attestors that must attest to
+ // a container image, in the format `projects/*/attestors/*`. Each
+ // attestor must exist before a policy can reference it. To add an attestor
+ // to a policy the principal issuing the policy change request must be able
+ // to read the attestor resource.
+ //
+ // Note: this field must be non-empty when the evaluation_mode field specifies
+ // REQUIRE_ATTESTATION, otherwise it must be empty.
+ repeated string require_attestations_by = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The action when a pod creation is denied by the admission rule.
+ EnforcementMode enforcement_mode = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An [attestor][google.cloud.binaryauthorization.v1.Attestor] that attests to container image
+// artifacts. An existing attestor cannot be modified except where
+// indicated.
+message Attestor {
+ option (google.api.resource) = {
+ type: "binaryauthorization.googleapis.com/Attestor"
+ pattern: "projects/{project}/attestors/{attestor}"
+ };
+
+ // Required. The resource name, in the format:
+ // `projects/*/attestors/*`. This field may not be updated.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A descriptive comment. This field may be updated.
+ // The field may be displayed in chooser dialogs.
+ string description = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ oneof attestor_type {
+ // This specifies how an attestation will be read, and how it will be used
+ // during policy enforcement.
+ UserOwnedGrafeasNote user_owned_grafeas_note = 3;
+ }
+
+ // Output only. Time when the attestor was last updated.
+ google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// An [user owned Grafeas note][google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote] references a Grafeas
+// Attestation.Authority Note created by the user.
+message UserOwnedGrafeasNote {
+ // Required. The Grafeas resource name of a Attestation.Authority Note,
+ // created by the user, in the format: `projects/*/notes/*`. This field may
+ // not be updated.
+ //
+ // An attestation by this attestor is stored as a Grafeas
+ // Attestation.Authority Occurrence that names a container image and that
+ // links to this Note. Grafeas is an external dependency.
+ string note_reference = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Public keys that verify attestations signed by this
+ // attestor. This field may be updated.
+ //
+ // If this field is non-empty, one of the specified public keys must
+ // verify that an attestation was signed by this attestor for the
+ // image specified in the admission request.
+ //
+ // If this field is empty, this attestor always returns that no
+ // valid attestations exist.
+ repeated AttestorPublicKey public_keys = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. This field will contain the service account email address
+ // that this Attestor will use as the principal when querying Container
+ // Analysis. Attestor administrators must grant this service account the
+ // IAM role needed to read attestations from the [note_reference][Note] in
+ // Container Analysis (`containeranalysis.notes.occurrences.viewer`).
+ //
+ // This email address is fixed for the lifetime of the Attestor, but callers
+ // should not make any other assumptions about the service account email;
+ // future versions may use an email based on a different naming pattern.
+ string delegation_service_account_email = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A public key in the PkixPublicKey format (see
+// https://tools.ietf.org/html/rfc5280#section-4.1.2.7 for details).
+// Public keys of this type are typically textually encoded using the PEM
+// format.
+message PkixPublicKey {
+ // Represents a signature algorithm and other information necessary to verify
+ // signatures with a given public key.
+ // This is based primarily on the public key types supported by Tink's
+ // PemKeyType, which is in turn based on KMS's supported signing algorithms.
+ // See https://cloud.google.com/kms/docs/algorithms. In the future, BinAuthz
+ // might support additional public key types independently of Tink and/or KMS.
+ enum SignatureAlgorithm {
+ option allow_alias = true;
+
+ // Not specified.
+ SIGNATURE_ALGORITHM_UNSPECIFIED = 0;
+
+ // RSASSA-PSS 2048 bit key with a SHA256 digest.
+ RSA_PSS_2048_SHA256 = 1;
+
+ // RSASSA-PSS 3072 bit key with a SHA256 digest.
+ RSA_PSS_3072_SHA256 = 2;
+
+ // RSASSA-PSS 4096 bit key with a SHA256 digest.
+ RSA_PSS_4096_SHA256 = 3;
+
+ // RSASSA-PSS 4096 bit key with a SHA512 digest.
+ RSA_PSS_4096_SHA512 = 4;
+
+ // RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
+ RSA_SIGN_PKCS1_2048_SHA256 = 5;
+
+ // RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
+ RSA_SIGN_PKCS1_3072_SHA256 = 6;
+
+ // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
+ RSA_SIGN_PKCS1_4096_SHA256 = 7;
+
+ // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
+ RSA_SIGN_PKCS1_4096_SHA512 = 8;
+
+ // ECDSA on the NIST P-256 curve with a SHA256 digest.
+ ECDSA_P256_SHA256 = 9;
+
+ // ECDSA on the NIST P-256 curve with a SHA256 digest.
+ EC_SIGN_P256_SHA256 = 9;
+
+ // ECDSA on the NIST P-384 curve with a SHA384 digest.
+ ECDSA_P384_SHA384 = 10;
+
+ // ECDSA on the NIST P-384 curve with a SHA384 digest.
+ EC_SIGN_P384_SHA384 = 10;
+
+ // ECDSA on the NIST P-521 curve with a SHA512 digest.
+ ECDSA_P521_SHA512 = 11;
+
+ // ECDSA on the NIST P-521 curve with a SHA512 digest.
+ EC_SIGN_P521_SHA512 = 11;
+ }
+
+ // A PEM-encoded public key, as described in
+ // https://tools.ietf.org/html/rfc7468#section-13
+ string public_key_pem = 1;
+
+ // The signature algorithm used to verify a message against a signature using
+ // this key.
+ // These signature algorithm must match the structure and any object
+ // identifiers encoded in `public_key_pem` (i.e. this algorithm must match
+ // that of the public key).
+ SignatureAlgorithm signature_algorithm = 2;
+}
+
+// An [attestor public key][google.cloud.binaryauthorization.v1.AttestorPublicKey] that will be used to verify
+// attestations signed by this attestor.
+message AttestorPublicKey {
+ // Optional. A descriptive comment. This field may be updated.
+ string comment = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // The ID of this public key.
+ // Signatures verified by BinAuthz must include the ID of the public key that
+ // can be used to verify them, and that ID must match the contents of this
+ // field exactly.
+ // Additional restrictions on this field can be imposed based on which public
+ // key type is encapsulated. See the documentation on `public_key` cases below
+ // for details.
+ string id = 2;
+
+ oneof public_key {
+ // ASCII-armored representation of a PGP public key, as the entire output by
+ // the command `gpg --export --armor foo@example.com` (either LF or CRLF
+ // line endings).
+ // When using this field, `id` should be left blank. The BinAuthz API
+ // handlers will calculate the ID and fill it in automatically. BinAuthz
+ // computes this ID as the OpenPGP RFC4880 V4 fingerprint, represented as
+ // upper-case hex. If `id` is provided by the caller, it will be
+ // overwritten by the API-calculated ID.
+ string ascii_armored_pgp_public_key = 3;
+
+ // A raw PKIX SubjectPublicKeyInfo format public key.
+ //
+ // NOTE: `id` may be explicitly provided by the caller when using this
+ // type of public key, but it MUST be a valid RFC3986 URI. If `id` is left
+ // blank, a default one will be computed based on the digest of the DER
+ // encoding of the public key.
+ PkixPublicKey pkix_public_key = 5;
+ }
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1/service.proto b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1/service.proto
new file mode 100644
index 00000000000..e063aacc04d
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1/service.proto
@@ -0,0 +1,312 @@
+// 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.binaryauthorization.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/binaryauthorization/v1/resources.proto";
+import "google/protobuf/empty.proto";
+import "grafeas/v1/attestation.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.BinaryAuthorization.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/binaryauthorization/v1;binaryauthorization";
+option java_multiple_files = false;
+option java_package = "com.google.protos.google.cloud.binaryauthorization.v1";
+option php_namespace = "Google\\Cloud\\BinaryAuthorization\\V1";
+option ruby_package = "Google::Cloud::BinaryAuthorization::V1";
+
+// Customer-facing API for Cloud Binary Authorization.
+
+// Google Cloud Management Service for Binary Authorization admission policies
+// and attestation authorities.
+//
+// This API implements a REST model with the following objects:
+//
+// * [Policy][google.cloud.binaryauthorization.v1.Policy]
+// * [Attestor][google.cloud.binaryauthorization.v1.Attestor]
+service BinauthzManagementServiceV1 {
+ option (google.api.default_host) = "binaryauthorization.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // A [policy][google.cloud.binaryauthorization.v1.Policy] specifies the [attestors][google.cloud.binaryauthorization.v1.Attestor] that must attest to
+ // a container image, before the project is allowed to deploy that
+ // image. There is at most one policy per project. All image admission
+ // requests are permitted if a project has no policy.
+ //
+ // Gets the [policy][google.cloud.binaryauthorization.v1.Policy] for this project. Returns a default
+ // [policy][google.cloud.binaryauthorization.v1.Policy] if the project does not have one.
+ rpc GetPolicy(GetPolicyRequest) returns (Policy) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/policy}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates or updates a project's [policy][google.cloud.binaryauthorization.v1.Policy], and returns a copy of the
+ // new [policy][google.cloud.binaryauthorization.v1.Policy]. A policy is always updated as a whole, to avoid race
+ // conditions with concurrent policy enforcement (or management!)
+ // requests. Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT
+ // if the request is malformed.
+ rpc UpdatePolicy(UpdatePolicyRequest) returns (Policy) {
+ option (google.api.http) = {
+ put: "/v1/{policy.name=projects/*/policy}"
+ body: "policy"
+ };
+ option (google.api.method_signature) = "policy";
+ }
+
+ // Creates an [attestor][google.cloud.binaryauthorization.v1.Attestor], and returns a copy of the new
+ // [attestor][google.cloud.binaryauthorization.v1.Attestor]. Returns NOT_FOUND if the project does not exist,
+ // INVALID_ARGUMENT if the request is malformed, ALREADY_EXISTS if the
+ // [attestor][google.cloud.binaryauthorization.v1.Attestor] already exists.
+ rpc CreateAttestor(CreateAttestorRequest) returns (Attestor) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/attestors"
+ body: "attestor"
+ };
+ option (google.api.method_signature) = "parent,attestor_id,attestor";
+ }
+
+ // Gets an [attestor][google.cloud.binaryauthorization.v1.Attestor].
+ // Returns NOT_FOUND if the [attestor][google.cloud.binaryauthorization.v1.Attestor] does not exist.
+ rpc GetAttestor(GetAttestorRequest) returns (Attestor) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/attestors/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates an [attestor][google.cloud.binaryauthorization.v1.Attestor].
+ // Returns NOT_FOUND if the [attestor][google.cloud.binaryauthorization.v1.Attestor] does not exist.
+ rpc UpdateAttestor(UpdateAttestorRequest) returns (Attestor) {
+ option (google.api.http) = {
+ put: "/v1/{attestor.name=projects/*/attestors/*}"
+ body: "attestor"
+ };
+ option (google.api.method_signature) = "attestor";
+ }
+
+ // Lists [attestors][google.cloud.binaryauthorization.v1.Attestor].
+ // Returns INVALID_ARGUMENT if the project does not exist.
+ rpc ListAttestors(ListAttestorsRequest) returns (ListAttestorsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*}/attestors"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes an [attestor][google.cloud.binaryauthorization.v1.Attestor]. Returns NOT_FOUND if the
+ // [attestor][google.cloud.binaryauthorization.v1.Attestor] does not exist.
+ rpc DeleteAttestor(DeleteAttestorRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/attestors/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// API for working with the system policy.
+service SystemPolicyV1 {
+ option (google.api.default_host) = "binaryauthorization.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Gets the current system policy in the specified location.
+ rpc GetSystemPolicy(GetSystemPolicyRequest) returns (Policy) {
+ option (google.api.http) = {
+ get: "/v1/{name=locations/*/policy}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// BinAuthz Attestor verification
+service ValidationHelperV1 {
+ option (google.api.default_host) = "binaryauthorization.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Returns whether the given Attestation for the given image URI
+ // was signed by the given Attestor
+ rpc ValidateAttestationOccurrence(ValidateAttestationOccurrenceRequest) returns (ValidateAttestationOccurrenceResponse) {
+ option (google.api.http) = {
+ post: "/v1/{attestor=projects/*/attestors/*}:validateAttestationOccurrence"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [BinauthzManagementService.GetPolicy][].
+message GetPolicyRequest {
+ // Required. The resource name of the [policy][google.cloud.binaryauthorization.v1.Policy] to retrieve,
+ // in the format `projects/*/policy`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Policy"
+ }
+ ];
+}
+
+// Request message for [BinauthzManagementService.UpdatePolicy][].
+message UpdatePolicyRequest {
+ // Required. A new or updated [policy][google.cloud.binaryauthorization.v1.Policy] value. The service will
+ // overwrite the [policy name][google.cloud.binaryauthorization.v1.Policy.name] field with the resource name in
+ // the request URL, in the format `projects/*/policy`.
+ Policy policy = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [BinauthzManagementService.CreateAttestor][].
+message CreateAttestorRequest {
+ // Required. The parent of this [attestor][google.cloud.binaryauthorization.v1.Attestor].
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. The [attestors][google.cloud.binaryauthorization.v1.Attestor] ID.
+ string attestor_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The initial [attestor][google.cloud.binaryauthorization.v1.Attestor] value. The service will
+ // overwrite the [attestor name][google.cloud.binaryauthorization.v1.Attestor.name] field with the resource name,
+ // in the format `projects/*/attestors/*`.
+ Attestor attestor = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [BinauthzManagementService.GetAttestor][].
+message GetAttestorRequest {
+ // Required. The name of the [attestor][google.cloud.binaryauthorization.v1.Attestor] to retrieve, in the format
+ // `projects/*/attestors/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Attestor"
+ }
+ ];
+}
+
+// Request message for [BinauthzManagementService.UpdateAttestor][].
+message UpdateAttestorRequest {
+ // Required. The updated [attestor][google.cloud.binaryauthorization.v1.Attestor] value. The service will
+ // overwrite the [attestor name][google.cloud.binaryauthorization.v1.Attestor.name] field with the resource name
+ // in the request URL, in the format `projects/*/attestors/*`.
+ Attestor attestor = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [BinauthzManagementService.ListAttestors][].
+message ListAttestorsRequest {
+ // Required. The resource name of the project associated with the
+ // [attestors][google.cloud.binaryauthorization.v1.Attestor], in the format `projects/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Requested page size. The server may return fewer results than requested. If
+ // unspecified, the server will pick an appropriate default.
+ int32 page_size = 2;
+
+ // A token identifying a page of results the server should return. Typically,
+ // this is the value of [ListAttestorsResponse.next_page_token][google.cloud.binaryauthorization.v1.ListAttestorsResponse.next_page_token] returned
+ // from the previous call to the `ListAttestors` method.
+ string page_token = 3;
+}
+
+// Response message for [BinauthzManagementService.ListAttestors][].
+message ListAttestorsResponse {
+ // The list of [attestors][google.cloud.binaryauthorization.v1.Attestor].
+ repeated Attestor attestors = 1;
+
+ // A token to retrieve the next page of results. Pass this value in the
+ // [ListAttestorsRequest.page_token][google.cloud.binaryauthorization.v1.ListAttestorsRequest.page_token] field in the subsequent call to the
+ // `ListAttestors` method to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// Request message for [BinauthzManagementService.DeleteAttestor][].
+message DeleteAttestorRequest {
+ // Required. The name of the [attestors][google.cloud.binaryauthorization.v1.Attestor] to delete, in the format
+ // `projects/*/attestors/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Attestor"
+ }
+ ];
+}
+
+// Request to read the current system policy.
+message GetSystemPolicyRequest {
+ // Required. The resource name, in the format `locations/*/policy`.
+ // Note that the system policy is not associated with a project.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Policy"
+ }
+ ];
+}
+
+// Request message for
+// [ValidationHelperV1.ValidateAttestationOccurrence][google.cloud.binaryauthorization.v1.ValidationHelperV1.ValidateAttestationOccurrence].
+message ValidateAttestationOccurrenceRequest {
+ // Required. The resource name of the [Attestor][google.cloud.binaryauthorization.v1.Attestor] of the
+ // [occurrence][grafeas.v1.Occurrence], in the format
+ // `projects/*/attestors/*`.
+ string attestor = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. An [AttestationOccurrence][grafeas.v1.AttestationOccurrence] to
+ // be checked that it can be verified by the Attestor. It does not have to be
+ // an existing entity in Container Analysis. It must otherwise be a valid
+ // AttestationOccurrence.
+ grafeas.v1.AttestationOccurrence attestation = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The resource name of the [Note][grafeas.v1.Note] to which the
+ // containing [Occurrence][grafeas.v1.Occurrence] is associated.
+ string occurrence_note = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The URI of the artifact (e.g. container image) that is the
+ // subject of the containing [Occurrence][grafeas.v1.Occurrence].
+ string occurrence_resource_uri = 4 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response message for
+// [ValidationHelperV1.ValidateAttestationOccurrence][google.cloud.binaryauthorization.v1.ValidationHelperV1.ValidateAttestationOccurrence].
+message ValidateAttestationOccurrenceResponse {
+ // The enum returned in the "result" field.
+ enum Result {
+ // Unspecified.
+ RESULT_UNSPECIFIED = 0;
+
+ // The Attestation was able to verified by the Attestor.
+ VERIFIED = 1;
+
+ // The Attestation was not able to verified by the Attestor.
+ ATTESTATION_NOT_VERIFIABLE = 2;
+ }
+
+ // The result of the Attestation validation.
+ Result result = 1;
+
+ // The reason for denial if the Attestation couldn't be validated.
+ string denial_reason = 2;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/continuous_validation_logging.proto b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/continuous_validation_logging.proto
new file mode 100644
index 00000000000..1666b5189eb
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/continuous_validation_logging.proto
@@ -0,0 +1,100 @@
+// 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.binaryauthorization.v1beta1;
+
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.BinaryAuthorization.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/binaryauthorization/v1beta1;binaryauthorization";
+option java_multiple_files = true;
+option java_outer_classname = "ContinuousValidationLoggingProto";
+option java_package = "com.google.cloud.binaryauthorization.v1beta1";
+option php_namespace = "Google\\Cloud\\BinaryAuthorization\\V1beta1";
+option ruby_package = "Google::Cloud::BinaryAuthorization::V1beta1";
+
+// Represents an auditing event from Continuous Validation.
+message ContinuousValidationEvent {
+ // An auditing event for one Pod.
+ message ContinuousValidationPodEvent {
+ // Audit time policy conformance verdict.
+ enum PolicyConformanceVerdict {
+ // We should always have a verdict. This is an error.
+ POLICY_CONFORMANCE_VERDICT_UNSPECIFIED = 0;
+
+ // The pod violates the policy.
+ VIOLATES_POLICY = 1;
+ }
+
+ // Container image with auditing details.
+ message ImageDetails {
+ // Result of the audit.
+ enum AuditResult {
+ // Unspecified result. This is an error.
+ AUDIT_RESULT_UNSPECIFIED = 0;
+
+ // Image is allowed.
+ ALLOW = 1;
+
+ // Image is denied.
+ DENY = 2;
+ }
+
+ // The name of the image.
+ string image = 1;
+
+ // The result of the audit for this image.
+ AuditResult result = 2;
+
+ // Description of the above result.
+ string description = 3;
+ }
+
+ // The k8s namespace of the Pod.
+ string pod_namespace = 7;
+
+ // The name of the Pod.
+ string pod = 1;
+
+ // Deploy time of the Pod from k8s.
+ google.protobuf.Timestamp deploy_time = 2;
+
+ // Termination time of the Pod from k8s, or nothing if still running.
+ google.protobuf.Timestamp end_time = 3;
+
+ // Auditing verdict for this Pod.
+ PolicyConformanceVerdict verdict = 4;
+
+ // List of images with auditing details.
+ repeated ImageDetails images = 5;
+ }
+
+ // An event describing that the project policy is unsupported by CV.
+ message UnsupportedPolicyEvent {
+ // A description of the unsupported policy.
+ string description = 1;
+ }
+
+ // Type of CV event.
+ oneof event_type {
+ // Pod event.
+ ContinuousValidationPodEvent pod_event = 1;
+
+ // Unsupported policy event.
+ UnsupportedPolicyEvent unsupported_policy_event = 2;
+ }
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/resources.proto b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/resources.proto
new file mode 100644
index 00000000000..28c18f99ad8
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/resources.proto
@@ -0,0 +1,343 @@
+// 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.binaryauthorization.v1beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.BinaryAuthorization.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/binaryauthorization/v1beta1;binaryauthorization";
+option java_multiple_files = true;
+option java_outer_classname = "BinaryAuthorizationResourcesProto";
+option java_package = "com.google.cloud.binaryauthorization.v1beta1";
+option php_namespace = "Google\\Cloud\\BinaryAuthorization\\V1beta1";
+option ruby_package = "Google::Cloud::BinaryAuthorization::V1beta1";
+
+// A [policy][google.cloud.binaryauthorization.v1beta1.Policy] for Binary Authorization.
+message Policy {
+ option (google.api.resource) = {
+ type: "binaryauthorization.googleapis.com/Policy"
+ pattern: "projects/{project}/policy"
+ pattern: "locations/{location}/policy"
+ };
+
+ enum GlobalPolicyEvaluationMode {
+ // Not specified: DISABLE is assumed.
+ GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED = 0;
+
+ // Enables system policy evaluation.
+ ENABLE = 1;
+
+ // Disables system policy evaluation.
+ DISABLE = 2;
+ }
+
+ // Output only. The resource name, in the format `projects/*/policy`. There is
+ // at most one policy per project.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. A descriptive comment.
+ string description = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Controls the evaluation of a Google-maintained global admission
+ // policy for common system-level images. Images not covered by the global
+ // policy will be subject to the project admission policy. This setting
+ // has no effect when specified inside a global admission policy.
+ GlobalPolicyEvaluationMode global_policy_evaluation_mode = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Admission policy allowlisting. A matching admission request will
+ // always be permitted. This feature is typically used to exclude Google or
+ // third-party infrastructure images from Binary Authorization policies.
+ repeated AdmissionWhitelistPattern admission_whitelist_patterns = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-cluster admission rules. Cluster spec format:
+ // `location.clusterId`. There can be at most one admission rule per cluster
+ // spec.
+ // A `location` is either a compute zone (e.g. us-central1-a) or a region
+ // (e.g. us-central1).
+ // For `clusterId` syntax restrictions see
+ // https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.
+ map cluster_admission_rules = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format:
+ // `[a-z.-]+`, e.g. `some-namespace`
+ map kubernetes_namespace_admission_rules = 10 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-kubernetes-service-account admission rules. Service account
+ // spec format: `namespace:serviceaccount`. e.g. `test-ns:default`
+ map kubernetes_service_account_admission_rules = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Per-istio-service-identity admission rules. Istio service
+ // identity spec format:
+ // `spiffe:///ns//sa/` or
+ // `/ns//sa/`
+ // e.g. `spiffe://example.com/ns/test-ns/sa/default`
+ map istio_service_identity_admission_rules = 9 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Default admission rule for a cluster without a per-cluster, per-
+ // kubernetes-service-account, or per-istio-service-identity admission rule.
+ AdmissionRule default_admission_rule = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Time when the policy was last updated.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// An [admission allowlist pattern][google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern] exempts images
+// from checks by [admission rules][google.cloud.binaryauthorization.v1beta1.AdmissionRule].
+message AdmissionWhitelistPattern {
+ // An image name pattern to allowlist, in the form `registry/path/to/image`.
+ // This supports a trailing `*` as a wildcard, but this is allowed only in
+ // text after the `registry/` part. `*` wildcard does not match `/`, i.e.,
+ // `gcr.io/nginx*` matches `gcr.io/nginx@latest`, but it does not match
+ // `gcr.io/nginx/image`. This also supports a trailing `**` wildcard which
+ // matches subdirectories, i.e., `gcr.io/nginx**` matches
+ // `gcr.io/nginx/image`.
+ string name_pattern = 1;
+}
+
+// An [admission rule][google.cloud.binaryauthorization.v1beta1.AdmissionRule] specifies either that all container images
+// used in a pod creation request must be attested to by one or more
+// [attestors][google.cloud.binaryauthorization.v1beta1.Attestor], that all pod creations will be allowed, or that all
+// pod creations will be denied.
+//
+// Images matching an [admission allowlist pattern][google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern]
+// are exempted from admission rules and will never block a pod creation.
+message AdmissionRule {
+ enum EvaluationMode {
+ // Do not use.
+ EVALUATION_MODE_UNSPECIFIED = 0;
+
+ // This rule allows all all pod creations.
+ ALWAYS_ALLOW = 1;
+
+ // This rule allows a pod creation if all the attestors listed in
+ // `require_attestations_by` have valid attestations for all of the
+ // images in the pod spec.
+ REQUIRE_ATTESTATION = 2;
+
+ // This rule denies all pod creations.
+ ALWAYS_DENY = 3;
+ }
+
+ // Defines the possible actions when a pod creation is denied by an admission
+ // rule.
+ enum EnforcementMode {
+ // Do not use.
+ ENFORCEMENT_MODE_UNSPECIFIED = 0;
+
+ // Enforce the admission rule by blocking the pod creation.
+ ENFORCED_BLOCK_AND_AUDIT_LOG = 1;
+
+ // Dryrun mode: Audit logging only. This will allow the pod creation as if
+ // the admission request had specified break-glass.
+ DRYRUN_AUDIT_LOG_ONLY = 2;
+ }
+
+ // Required. How this admission rule will be evaluated.
+ EvaluationMode evaluation_mode = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The resource names of the attestors that must attest to
+ // a container image, in the format `projects/*/attestors/*`. Each
+ // attestor must exist before a policy can reference it. To add an attestor
+ // to a policy the principal issuing the policy change request must be able
+ // to read the attestor resource.
+ //
+ // Note: this field must be non-empty when the evaluation_mode field specifies
+ // REQUIRE_ATTESTATION, otherwise it must be empty.
+ repeated string require_attestations_by = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The action when a pod creation is denied by the admission rule.
+ EnforcementMode enforcement_mode = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] that attests to container image
+// artifacts. An existing attestor cannot be modified except where
+// indicated.
+message Attestor {
+ option (google.api.resource) = {
+ type: "binaryauthorization.googleapis.com/Attestor"
+ pattern: "projects/{project}/attestors/{attestor}"
+ };
+
+ // Required. The resource name, in the format:
+ // `projects/*/attestors/*`. This field may not be updated.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A descriptive comment. This field may be updated.
+ // The field may be displayed in chooser dialogs.
+ string description = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Identifies an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] that attests to a
+ // container image artifact. This determines how an attestation will
+ // be stored, and how it will be used during policy
+ // enforcement. Updates may not change the attestor type, but individual
+ // attestor fields may be updated.
+ oneof attestor_type {
+ // A Drydock ATTESTATION_AUTHORITY Note, created by the user.
+ UserOwnedDrydockNote user_owned_drydock_note = 3;
+ }
+
+ // Output only. Time when the attestor was last updated.
+ google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// An [user owned drydock note][google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote] references a Drydock
+// ATTESTATION_AUTHORITY Note created by the user.
+message UserOwnedDrydockNote {
+ // Required. The Drydock resource name of a ATTESTATION_AUTHORITY Note,
+ // created by the user, in the format: `projects/*/notes/*` (or the legacy
+ // `providers/*/notes/*`). This field may not be updated.
+ //
+ // An attestation by this attestor is stored as a Drydock
+ // ATTESTATION_AUTHORITY Occurrence that names a container image and that
+ // links to this Note. Drydock is an external dependency.
+ string note_reference = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Public keys that verify attestations signed by this
+ // attestor. This field may be updated.
+ //
+ // If this field is non-empty, one of the specified public keys must
+ // verify that an attestation was signed by this attestor for the
+ // image specified in the admission request.
+ //
+ // If this field is empty, this attestor always returns that no
+ // valid attestations exist.
+ repeated AttestorPublicKey public_keys = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. This field will contain the service account email address
+ // that this Attestor will use as the principal when querying Container
+ // Analysis. Attestor administrators must grant this service account the
+ // IAM role needed to read attestations from the [note_reference][Note] in
+ // Container Analysis (`containeranalysis.notes.occurrences.viewer`).
+ //
+ // This email address is fixed for the lifetime of the Attestor, but callers
+ // should not make any other assumptions about the service account email;
+ // future versions may use an email based on a different naming pattern.
+ string delegation_service_account_email = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A public key in the PkixPublicKey format (see
+// https://tools.ietf.org/html/rfc5280#section-4.1.2.7 for details).
+// Public keys of this type are typically textually encoded using the PEM
+// format.
+message PkixPublicKey {
+ // Represents a signature algorithm and other information necessary to verify
+ // signatures with a given public key.
+ // This is based primarily on the public key types supported by Tink's
+ // PemKeyType, which is in turn based on KMS's supported signing algorithms.
+ // See https://cloud.google.com/kms/docs/algorithms. In the future, BinAuthz
+ // might support additional public key types independently of Tink and/or KMS.
+ enum SignatureAlgorithm {
+ option allow_alias = true;
+
+ // Not specified.
+ SIGNATURE_ALGORITHM_UNSPECIFIED = 0;
+
+ // RSASSA-PSS 2048 bit key with a SHA256 digest.
+ RSA_PSS_2048_SHA256 = 1;
+
+ // RSASSA-PSS 3072 bit key with a SHA256 digest.
+ RSA_PSS_3072_SHA256 = 2;
+
+ // RSASSA-PSS 4096 bit key with a SHA256 digest.
+ RSA_PSS_4096_SHA256 = 3;
+
+ // RSASSA-PSS 4096 bit key with a SHA512 digest.
+ RSA_PSS_4096_SHA512 = 4;
+
+ // RSASSA-PKCS1-v1_5 with a 2048 bit key and a SHA256 digest.
+ RSA_SIGN_PKCS1_2048_SHA256 = 5;
+
+ // RSASSA-PKCS1-v1_5 with a 3072 bit key and a SHA256 digest.
+ RSA_SIGN_PKCS1_3072_SHA256 = 6;
+
+ // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA256 digest.
+ RSA_SIGN_PKCS1_4096_SHA256 = 7;
+
+ // RSASSA-PKCS1-v1_5 with a 4096 bit key and a SHA512 digest.
+ RSA_SIGN_PKCS1_4096_SHA512 = 8;
+
+ // ECDSA on the NIST P-256 curve with a SHA256 digest.
+ ECDSA_P256_SHA256 = 9;
+
+ // ECDSA on the NIST P-256 curve with a SHA256 digest.
+ EC_SIGN_P256_SHA256 = 9;
+
+ // ECDSA on the NIST P-384 curve with a SHA384 digest.
+ ECDSA_P384_SHA384 = 10;
+
+ // ECDSA on the NIST P-384 curve with a SHA384 digest.
+ EC_SIGN_P384_SHA384 = 10;
+
+ // ECDSA on the NIST P-521 curve with a SHA512 digest.
+ ECDSA_P521_SHA512 = 11;
+
+ // ECDSA on the NIST P-521 curve with a SHA512 digest.
+ EC_SIGN_P521_SHA512 = 11;
+ }
+
+ // A PEM-encoded public key, as described in
+ // https://tools.ietf.org/html/rfc7468#section-13
+ string public_key_pem = 1;
+
+ // The signature algorithm used to verify a message against a signature using
+ // this key.
+ // These signature algorithm must match the structure and any object
+ // identifiers encoded in `public_key_pem` (i.e. this algorithm must match
+ // that of the public key).
+ SignatureAlgorithm signature_algorithm = 2;
+}
+
+// An [attestor public key][google.cloud.binaryauthorization.v1beta1.AttestorPublicKey] that will be used to verify
+// attestations signed by this attestor.
+message AttestorPublicKey {
+ // Optional. A descriptive comment. This field may be updated.
+ string comment = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // The ID of this public key.
+ // Signatures verified by BinAuthz must include the ID of the public key that
+ // can be used to verify them, and that ID must match the contents of this
+ // field exactly.
+ // Additional restrictions on this field can be imposed based on which public
+ // key type is encapsulated. See the documentation on `public_key` cases below
+ // for details.
+ string id = 2;
+
+ // Required. A public key reference or serialized instance. This field may be
+ // updated.
+ oneof public_key {
+ // ASCII-armored representation of a PGP public key, as the entire output by
+ // the command `gpg --export --armor foo@example.com` (either LF or CRLF
+ // line endings).
+ // When using this field, `id` should be left blank. The BinAuthz API
+ // handlers will calculate the ID and fill it in automatically. BinAuthz
+ // computes this ID as the OpenPGP RFC4880 V4 fingerprint, represented as
+ // upper-case hex. If `id` is provided by the caller, it will be
+ // overwritten by the API-calculated ID.
+ string ascii_armored_pgp_public_key = 3;
+
+ // A raw PKIX SubjectPublicKeyInfo format public key.
+ //
+ // NOTE: `id` may be explicitly provided by the caller when using this
+ // type of public key, but it MUST be a valid RFC3986 URI. If `id` is left
+ // blank, a default one will be computed based on the digest of the DER
+ // encoding of the public key.
+ PkixPublicKey pkix_public_key = 5;
+ }
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/service.proto b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/service.proto
new file mode 100644
index 00000000000..90e63b4d482
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/google/cloud/binaryauthorization/v1beta1/service.proto
@@ -0,0 +1,252 @@
+// 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.binaryauthorization.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/binaryauthorization/v1beta1/resources.proto";
+import "google/protobuf/empty.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.BinaryAuthorization.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/binaryauthorization/v1beta1;binaryauthorization";
+option java_multiple_files = true;
+option java_outer_classname = "BinaryAuthorizationServiceProto";
+option java_package = "com.google.cloud.binaryauthorization.v1beta1";
+option php_namespace = "Google\\Cloud\\BinaryAuthorization\\V1beta1";
+option ruby_package = "Google::Cloud::BinaryAuthorization::V1beta1";
+
+// Customer-facing API for Cloud Binary Authorization.
+
+// Google Cloud Management Service for Binary Authorization admission policies
+// and attestation authorities.
+//
+// This API implements a REST model with the following objects:
+//
+// * [Policy][google.cloud.binaryauthorization.v1beta1.Policy]
+// * [Attestor][google.cloud.binaryauthorization.v1beta1.Attestor]
+service BinauthzManagementServiceV1Beta1 {
+ option (google.api.default_host) = "binaryauthorization.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // A [policy][google.cloud.binaryauthorization.v1beta1.Policy] specifies the [attestors][google.cloud.binaryauthorization.v1beta1.Attestor] that must attest to
+ // a container image, before the project is allowed to deploy that
+ // image. There is at most one policy per project. All image admission
+ // requests are permitted if a project has no policy.
+ //
+ // Gets the [policy][google.cloud.binaryauthorization.v1beta1.Policy] for this project. Returns a default
+ // [policy][google.cloud.binaryauthorization.v1beta1.Policy] if the project does not have one.
+ rpc GetPolicy(GetPolicyRequest) returns (Policy) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/policy}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates or updates a project's [policy][google.cloud.binaryauthorization.v1beta1.Policy], and returns a copy of the
+ // new [policy][google.cloud.binaryauthorization.v1beta1.Policy]. A policy is always updated as a whole, to avoid race
+ // conditions with concurrent policy enforcement (or management!)
+ // requests. Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT
+ // if the request is malformed.
+ rpc UpdatePolicy(UpdatePolicyRequest) returns (Policy) {
+ option (google.api.http) = {
+ put: "/v1beta1/{policy.name=projects/*/policy}"
+ body: "policy"
+ };
+ option (google.api.method_signature) = "policy";
+ }
+
+ // Creates an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor], and returns a copy of the new
+ // [attestor][google.cloud.binaryauthorization.v1beta1.Attestor]. Returns NOT_FOUND if the project does not exist,
+ // INVALID_ARGUMENT if the request is malformed, ALREADY_EXISTS if the
+ // [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] already exists.
+ rpc CreateAttestor(CreateAttestorRequest) returns (Attestor) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*}/attestors"
+ body: "attestor"
+ };
+ option (google.api.method_signature) = "parent,attestor_id,attestor";
+ }
+
+ // Gets an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor].
+ // Returns NOT_FOUND if the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] does not exist.
+ rpc GetAttestor(GetAttestorRequest) returns (Attestor) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/attestors/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor].
+ // Returns NOT_FOUND if the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] does not exist.
+ rpc UpdateAttestor(UpdateAttestorRequest) returns (Attestor) {
+ option (google.api.http) = {
+ put: "/v1beta1/{attestor.name=projects/*/attestors/*}"
+ body: "attestor"
+ };
+ option (google.api.method_signature) = "attestor";
+ }
+
+ // Lists [attestors][google.cloud.binaryauthorization.v1beta1.Attestor].
+ // Returns INVALID_ARGUMENT if the project does not exist.
+ rpc ListAttestors(ListAttestorsRequest) returns (ListAttestorsResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*}/attestors"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes an [attestor][google.cloud.binaryauthorization.v1beta1.Attestor]. Returns NOT_FOUND if the
+ // [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] does not exist.
+ rpc DeleteAttestor(DeleteAttestorRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1beta1/{name=projects/*/attestors/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// Request message for [BinauthzManagementService.GetPolicy][].
+message GetPolicyRequest {
+ // Required. The resource name of the [policy][google.cloud.binaryauthorization.v1beta1.Policy] to retrieve,
+ // in the format `projects/*/policy`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Policy"
+ }
+ ];
+}
+
+// API for working with the system policy.
+service SystemPolicyV1Beta1 {
+ option (google.api.default_host) = "binaryauthorization.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Gets the current system policy in the specified location.
+ rpc GetSystemPolicy(GetSystemPolicyRequest) returns (Policy) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=locations/*/policy}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+}
+
+// Request message for [BinauthzManagementService.UpdatePolicy][].
+message UpdatePolicyRequest {
+ // Required. A new or updated [policy][google.cloud.binaryauthorization.v1beta1.Policy] value. The service will
+ // overwrite the [policy name][google.cloud.binaryauthorization.v1beta1.Policy.name] field with the resource name in
+ // the request URL, in the format `projects/*/policy`.
+ Policy policy = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [BinauthzManagementService.CreateAttestor][].
+message CreateAttestorRequest {
+ // Required. The parent of this [attestor][google.cloud.binaryauthorization.v1beta1.Attestor].
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Required. The [attestors][google.cloud.binaryauthorization.v1beta1.Attestor] ID.
+ string attestor_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The initial [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] value. The service will
+ // overwrite the [attestor name][google.cloud.binaryauthorization.v1beta1.Attestor.name] field with the resource name,
+ // in the format `projects/*/attestors/*`.
+ Attestor attestor = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [BinauthzManagementService.GetAttestor][].
+message GetAttestorRequest {
+ // Required. The name of the [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] to retrieve, in the format
+ // `projects/*/attestors/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Attestor"
+ }
+ ];
+}
+
+// Request message for [BinauthzManagementService.UpdateAttestor][].
+message UpdateAttestorRequest {
+ // Required. The updated [attestor][google.cloud.binaryauthorization.v1beta1.Attestor] value. The service will
+ // overwrite the [attestor name][google.cloud.binaryauthorization.v1beta1.Attestor.name] field with the resource name
+ // in the request URL, in the format `projects/*/attestors/*`.
+ Attestor attestor = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [BinauthzManagementService.ListAttestors][].
+message ListAttestorsRequest {
+ // Required. The resource name of the project associated with the
+ // [attestors][google.cloud.binaryauthorization.v1beta1.Attestor], in the format `projects/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ }
+ ];
+
+ // Requested page size. The server may return fewer results than requested. If
+ // unspecified, the server will pick an appropriate default.
+ int32 page_size = 2;
+
+ // A token identifying a page of results the server should return. Typically,
+ // this is the value of [ListAttestorsResponse.next_page_token][google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.next_page_token] returned
+ // from the previous call to the `ListAttestors` method.
+ string page_token = 3;
+}
+
+// Response message for [BinauthzManagementService.ListAttestors][].
+message ListAttestorsResponse {
+ // The list of [attestors][google.cloud.binaryauthorization.v1beta1.Attestor].
+ repeated Attestor attestors = 1;
+
+ // A token to retrieve the next page of results. Pass this value in the
+ // [ListAttestorsRequest.page_token][google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest.page_token] field in the subsequent call to the
+ // `ListAttestors` method to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// Request message for [BinauthzManagementService.DeleteAttestor][].
+message DeleteAttestorRequest {
+ // Required. The name of the [attestors][google.cloud.binaryauthorization.v1beta1.Attestor] to delete, in the format
+ // `projects/*/attestors/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Attestor"
+ }
+ ];
+}
+
+// Request to read the current system policy.
+message GetSystemPolicyRequest {
+ // Required. The resource name, in the format `locations/*/policy`.
+ // Note that the system policy is not associated with a project.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "binaryauthorization.googleapis.com/Policy"
+ }
+ ];
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/attestation.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/attestation.proto
new file mode 100644
index 00000000000..f2854fe686b
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/attestation.proto
@@ -0,0 +1,90 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "grafeas/v1/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// An attestation wrapper with a PGP-compatible signature. This message only
+// supports `ATTACHED` signatures, where the payload that is signed is included
+// alongside the signature itself in the same file.
+
+// Note kind that represents a logical attestation "role" or "authority". For
+// example, an organization might have one `Authority` for "QA" and one for
+// "build". This note is intended to act strictly as a grouping mechanism for
+// the attached occurrences (Attestations). This grouping mechanism also
+// provides a security boundary, since IAM ACLs gate the ability for a principle
+// to attach an occurrence to a given note. It also provides a single point of
+// lookup to find all attached attestation occurrences, even if they don't all
+// live in the same project.
+message AttestationNote {
+ // This submessage provides human-readable hints about the purpose of the
+ // authority. Because the name of a note acts as its resource reference, it is
+ // important to disambiguate the canonical name of the Note (which might be a
+ // UUID for security purposes) from "readable" names more suitable for debug
+ // output. Note that these hints should not be used to look up authorities in
+ // security sensitive contexts, such as when looking up attestations to
+ // verify.
+ message Hint {
+ // Required. The human readable name of this attestation authority, for
+ // example "qa".
+ string human_readable_name = 1;
+ }
+
+ // Hint hints at the purpose of the attestation authority.
+ Hint hint = 1;
+}
+
+message Jwt {
+ // The compact encoding of a JWS, which is always three base64 encoded strings
+ // joined by periods. For details, see:
+ // https://tools.ietf.org/html/rfc7515.html#section-3.1
+ string compact_jwt = 1;
+}
+
+// Occurrence that represents a single "attestation". The authenticity of an
+// attestation can be verified using the attached signature. If the verifier
+// trusts the public key of the signer, then verifying the signature is
+// sufficient to establish trust. In this circumstance, the authority to which
+// this attestation is attached is primarily useful for lookup (how to find
+// this attestation if you already know the authority and artifact to be
+// verified) and intent (for which authority this attestation was intended to
+// sign.
+message AttestationOccurrence {
+ // Required. The serialized payload that is verified by one or more
+ // `signatures`.
+ bytes serialized_payload = 1;
+ // One or more signatures over `serialized_payload`. Verifier implementations
+ // should consider this attestation message verified if at least one
+ // `signature` verifies `serialized_payload`. See `Signature` in common.proto
+ // for more details on signature structure and verification.
+ repeated Signature signatures = 2;
+ // One or more JWTs encoding a self-contained attestation.
+ // Each JWT encodes the payload that it verifies within the JWT itself.
+ // Verifier implementation SHOULD ignore the `serialized_payload` field
+ // when verifying these JWTs.
+ // If only JWTs are present on this AttestationOccurrence, then the
+ // `serialized_payload` SHOULD be left empty.
+ // Each JWT SHOULD encode a claim specific to the `resource_uri` of this
+ // Occurrence, but this is not validated by Grafeas metadata API
+ // implementations. The JWT itself is opaque to Grafeas.
+ repeated Jwt jwts = 3;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/build.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/build.proto
new file mode 100644
index 00000000000..172637fd459
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/build.proto
@@ -0,0 +1,62 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "grafeas/v1/intoto_provenance.proto";
+import "grafeas/v1/intoto_statement.proto";
+import "grafeas/v1/provenance.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// Note holding the version of the provider's builder and the signature of the
+// provenance message in the build details occurrence.
+message BuildNote {
+ // Required. Immutable. Version of the builder which produced this build.
+ string builder_version = 1;
+}
+
+// Details of a build occurrence.
+message BuildOccurrence {
+ // The actual provenance for the build.
+ grafeas.v1.BuildProvenance provenance = 1;
+
+ // Serialized JSON representation of the provenance, used in generating the
+ // build signature in the corresponding build note. After verifying the
+ // signature, `provenance_bytes` can be unmarshalled and compared to the
+ // provenance to confirm that it is unchanged. A base64-encoded string
+ // representation of the provenance bytes is used for the signature in order
+ // to interoperate with openssl which expects this format for signature
+ // verification.
+ //
+ // The serialized form is captured both to avoid ambiguity in how the
+ // provenance is marshalled to json as well to prevent incompatibilities with
+ // future changes.
+ string provenance_bytes = 2;
+
+ // Deprecated. See InTotoStatement for the replacement.
+ // In-toto Provenance representation as defined in spec.
+ InTotoProvenance intoto_provenance = 3;
+
+ // In-toto Statement representation as defined in spec.
+ // The intoto_statement can contain any type of provenance. The serialized
+ // payload of the statement can be stored and signed in the Occurrence's
+ // envelope.
+ InTotoStatement intoto_statement = 4;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/common.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/common.proto
new file mode 100644
index 00000000000..80bd7869968
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/common.proto
@@ -0,0 +1,150 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// Kind represents the kinds of notes supported.
+enum NoteKind {
+ // Default value. This value is unused.
+ NOTE_KIND_UNSPECIFIED = 0;
+ // The note and occurrence represent a package vulnerability.
+ VULNERABILITY = 1;
+ // The note and occurrence assert build provenance.
+ BUILD = 2;
+ // This represents an image basis relationship.
+ IMAGE = 3;
+ // This represents a package installed via a package manager.
+ PACKAGE = 4;
+ // The note and occurrence track deployment events.
+ DEPLOYMENT = 5;
+ // The note and occurrence track the initial discovery status of a resource.
+ DISCOVERY = 6;
+ // This represents a logical "role" that can attest to artifacts.
+ ATTESTATION = 7;
+ // This represents an available package upgrade.
+ UPGRADE = 8;
+ // This represents a Compliance Note
+ COMPLIANCE = 9;
+ // This represents a DSSE attestation Note
+ DSSE_ATTESTATION = 10;
+}
+
+// Metadata for any related URL information.
+message RelatedUrl {
+ // Specific URL associated with the resource.
+ string url = 1;
+ // Label to describe usage of the URL.
+ string label = 2;
+}
+
+// Verifiers (e.g. Kritis implementations) MUST verify signatures
+// with respect to the trust anchors defined in policy (e.g. a Kritis policy).
+// Typically this means that the verifier has been configured with a map from
+// `public_key_id` to public key material (and any required parameters, e.g.
+// signing algorithm).
+//
+// In particular, verification implementations MUST NOT treat the signature
+// `public_key_id` as anything more than a key lookup hint. The `public_key_id`
+// DOES NOT validate or authenticate a public key; it only provides a mechanism
+// for quickly selecting a public key ALREADY CONFIGURED on the verifier through
+// a trusted channel. Verification implementations MUST reject signatures in any
+// of the following circumstances:
+// * The `public_key_id` is not recognized by the verifier.
+// * The public key that `public_key_id` refers to does not verify the
+// signature with respect to the payload.
+//
+// The `signature` contents SHOULD NOT be "attached" (where the payload is
+// included with the serialized `signature` bytes). Verifiers MUST ignore any
+// "attached" payload and only verify signatures with respect to explicitly
+// provided payload (e.g. a `payload` field on the proto message that holds
+// this Signature, or the canonical serialization of the proto message that
+// holds this signature).
+message Signature {
+ // The content of the signature, an opaque bytestring.
+ // The payload that this signature verifies MUST be unambiguously provided
+ // with the Signature during verification. A wrapper message might provide
+ // the payload explicitly. Alternatively, a message might have a canonical
+ // serialization that can always be unambiguously computed to derive the
+ // payload.
+ bytes signature = 1;
+
+ // The identifier for the public key that verifies this signature.
+ // * The `public_key_id` is required.
+ // * The `public_key_id` SHOULD be an RFC3986 conformant URI.
+ // * When possible, the `public_key_id` SHOULD be an immutable reference,
+ // such as a cryptographic digest.
+ //
+ // Examples of valid `public_key_id`s:
+ //
+ // OpenPGP V4 public key fingerprint:
+ // * "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA"
+ // See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more
+ // details on this scheme.
+ //
+ // RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER
+ // serialization):
+ // * "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU"
+ // * "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5"
+ string public_key_id = 2;
+}
+
+// MUST match
+// https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An
+// authenticated message of arbitrary type.
+message Envelope {
+ bytes payload = 1;
+ string payload_type = 2;
+ repeated EnvelopeSignature signatures = 3;
+}
+
+message EnvelopeSignature {
+ bytes sig = 1;
+ string keyid = 2;
+}
+
+// Indicates the location at which a package was found.
+message FileLocation {
+ // For jars that are contained inside .war files, this filepath
+ // can indicate the path to war file combined with the path to jar file.
+ string file_path = 1;
+}
+
+// License information.
+message License {
+ // Often a single license can be used to represent the licensing terms.
+ // Sometimes it is necessary to include a choice of one or more licenses
+ // or some combination of license identifiers.
+ // Examples: "LGPL-2.1-only OR MIT", "LGPL-2.1-only AND MIT",
+ // "GPL-2.0-or-later WITH Bison-exception-2.2".
+ string expression = 1;
+
+ // Comments
+ string comments = 2;
+}
+
+// Digest information.
+message Digest {
+ // `SHA1`, `SHA512` etc.
+ string algo = 1;
+
+ // Value of the digest.
+ bytes digest_bytes = 2;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/compliance.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/compliance.proto
new file mode 100644
index 00000000000..688fa82596b
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/compliance.proto
@@ -0,0 +1,82 @@
+// Copyright 2021 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "grafeas/v1/severity.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+message ComplianceNote {
+ // The title that identifies this compliance check.
+ string title = 1;
+ // A description about this compliance check.
+ string description = 2;
+ // The OS and config versions the benchmark applies to.
+ repeated grafeas.v1.ComplianceVersion version = 3;
+ // A rationale for the existence of this compliance check.
+ string rationale = 4;
+ // A description of remediation steps if the compliance check fails.
+ string remediation = 5;
+ // A compliance check that is a CIS benchmark.
+ message CisBenchmark {
+ int32 profile_level = 1;
+ grafeas.v1.Severity severity = 2;
+ }
+ oneof compliance_type {
+ CisBenchmark cis_benchmark = 6;
+ }
+ // Serialized scan instructions with a predefined format.
+ bytes scan_instructions = 7;
+}
+
+// Describes the CIS benchmark version that is applicable to a given OS and
+// os version.
+message ComplianceVersion {
+ // The CPE URI (https://cpe.mitre.org/specification/) this benchmark is
+ // applicable to.
+ string cpe_uri = 1;
+ // The name of the document that defines this benchmark, e.g. "CIS
+ // Container-Optimized OS".
+ string benchmark_document = 3;
+ // The version of the benchmark. This is set to the version of the OS-specific
+ // CIS document the benchmark is defined in.
+ string version = 2;
+}
+
+// An indication that the compliance checks in the associated ComplianceNote
+// were not satisfied for particular resources or a specified reason.
+message ComplianceOccurrence {
+ repeated NonCompliantFile non_compliant_files = 2;
+ string non_compliance_reason = 3;
+}
+
+// Details about files that caused a compliance check to fail.
+message NonCompliantFile {
+ // display_command is a single command that can be used to display a list of
+ // non compliant files. When there is no such command, we can also iterate a
+ // list of non compliant file using 'path'.
+
+ // Empty if `display_command` is set.
+ string path = 1;
+ // Command to display the non-compliant files.
+ string display_command = 2;
+ // Explains why a file is non compliant for a CIS check.
+ string reason = 3;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/cvss.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/cvss.proto
new file mode 100644
index 00000000000..181ec052fe4
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/cvss.proto
@@ -0,0 +1,166 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+option java_outer_classname = "CVSSProto";
+
+// Common Vulnerability Scoring System version 3.
+// For details, see https://www.first.org/cvss/specification-document
+message CVSSv3 {
+ // The base score is a function of the base metric scores.
+ float base_score = 1;
+
+ float exploitability_score = 2;
+
+ float impact_score = 3;
+
+ // Base Metrics
+ // Represents the intrinsic characteristics of a vulnerability that are
+ // constant over time and across user environments.
+ AttackVector attack_vector = 5;
+ AttackComplexity attack_complexity = 6;
+ PrivilegesRequired privileges_required = 7;
+ UserInteraction user_interaction = 8;
+ Scope scope = 9;
+ Impact confidentiality_impact = 10;
+ Impact integrity_impact = 11;
+ Impact availability_impact = 12;
+
+ enum AttackVector {
+ ATTACK_VECTOR_UNSPECIFIED = 0;
+ ATTACK_VECTOR_NETWORK = 1;
+ ATTACK_VECTOR_ADJACENT = 2;
+ ATTACK_VECTOR_LOCAL = 3;
+ ATTACK_VECTOR_PHYSICAL = 4;
+ }
+
+ enum AttackComplexity {
+ ATTACK_COMPLEXITY_UNSPECIFIED = 0;
+ ATTACK_COMPLEXITY_LOW = 1;
+ ATTACK_COMPLEXITY_HIGH = 2;
+ }
+
+ enum PrivilegesRequired {
+ PRIVILEGES_REQUIRED_UNSPECIFIED = 0;
+ PRIVILEGES_REQUIRED_NONE = 1;
+ PRIVILEGES_REQUIRED_LOW = 2;
+ PRIVILEGES_REQUIRED_HIGH = 3;
+ }
+
+ enum UserInteraction {
+ USER_INTERACTION_UNSPECIFIED = 0;
+ USER_INTERACTION_NONE = 1;
+ USER_INTERACTION_REQUIRED = 2;
+ }
+
+ enum Scope {
+ SCOPE_UNSPECIFIED = 0;
+ SCOPE_UNCHANGED = 1;
+ SCOPE_CHANGED = 2;
+ }
+
+ enum Impact {
+ IMPACT_UNSPECIFIED = 0;
+ IMPACT_HIGH = 1;
+ IMPACT_LOW = 2;
+ IMPACT_NONE = 3;
+ }
+}
+
+// Common Vulnerability Scoring System.
+// For details, see https://www.first.org/cvss/specification-document
+// This is a message we will try to use for storing various versions of CVSS
+// rather than making a separate proto for storing a specific version.
+message CVSS {
+ // The base score is a function of the base metric scores.
+ float base_score = 1;
+
+ float exploitability_score = 2;
+
+ float impact_score = 3;
+
+ // Base Metrics
+ // Represents the intrinsic characteristics of a vulnerability that are
+ // constant over time and across user environments.
+ AttackVector attack_vector = 4;
+ AttackComplexity attack_complexity = 5;
+ Authentication authentication = 6;
+ PrivilegesRequired privileges_required = 7;
+ UserInteraction user_interaction = 8;
+ Scope scope = 9;
+ Impact confidentiality_impact = 10;
+ Impact integrity_impact = 11;
+ Impact availability_impact = 12;
+
+ enum AttackVector {
+ ATTACK_VECTOR_UNSPECIFIED = 0;
+ ATTACK_VECTOR_NETWORK = 1;
+ ATTACK_VECTOR_ADJACENT = 2;
+ ATTACK_VECTOR_LOCAL = 3;
+ ATTACK_VECTOR_PHYSICAL = 4;
+ }
+
+ enum AttackComplexity {
+ ATTACK_COMPLEXITY_UNSPECIFIED = 0;
+ ATTACK_COMPLEXITY_LOW = 1;
+ ATTACK_COMPLEXITY_HIGH = 2;
+ }
+
+ enum Authentication {
+ AUTHENTICATION_UNSPECIFIED = 0;
+ AUTHENTICATION_MULTIPLE = 1;
+ AUTHENTICATION_SINGLE = 2;
+ AUTHENTICATION_NONE = 3;
+ }
+
+ enum PrivilegesRequired {
+ PRIVILEGES_REQUIRED_UNSPECIFIED = 0;
+ PRIVILEGES_REQUIRED_NONE = 1;
+ PRIVILEGES_REQUIRED_LOW = 2;
+ PRIVILEGES_REQUIRED_HIGH = 3;
+ }
+
+ enum UserInteraction {
+ USER_INTERACTION_UNSPECIFIED = 0;
+ USER_INTERACTION_NONE = 1;
+ USER_INTERACTION_REQUIRED = 2;
+ }
+
+ enum Scope {
+ SCOPE_UNSPECIFIED = 0;
+ SCOPE_UNCHANGED = 1;
+ SCOPE_CHANGED = 2;
+ }
+
+ enum Impact {
+ IMPACT_UNSPECIFIED = 0;
+ IMPACT_HIGH = 1;
+ IMPACT_LOW = 2;
+ IMPACT_NONE = 3;
+ }
+}
+
+// CVSS Version.
+enum CVSSVersion {
+ CVSS_VERSION_UNSPECIFIED = 0;
+ CVSS_VERSION_2 = 1;
+ CVSS_VERSION_3 = 2;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/deployment.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/deployment.proto
new file mode 100644
index 00000000000..5204004fd64
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/deployment.proto
@@ -0,0 +1,66 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// An artifact that can be deployed in some runtime.
+message DeploymentNote {
+ // Required. Resource URI for the artifact being deployed.
+ repeated string resource_uri = 1;
+}
+
+// The period during which some deployable was active in a runtime.
+message DeploymentOccurrence {
+ // Identity of the user that triggered this deployment.
+ string user_email = 1;
+
+ // Required. Beginning of the lifetime of this deployment.
+ google.protobuf.Timestamp deploy_time = 2;
+
+ // End of the lifetime of this deployment.
+ google.protobuf.Timestamp undeploy_time = 3;
+
+ // Configuration used to create this deployment.
+ string config = 4;
+
+ // Address of the runtime element hosting this deployment.
+ string address = 5;
+
+ // Output only. Resource URI for the artifact being deployed taken from
+ // the deployable field with the same name.
+ repeated string resource_uri = 6;
+
+ // Types of platforms.
+ enum Platform {
+ // Unknown.
+ PLATFORM_UNSPECIFIED = 0;
+ // Google Container Engine.
+ GKE = 1;
+ // Google App Engine: Flexible Environment.
+ FLEX = 2;
+ // Custom user-defined platform.
+ CUSTOM = 3;
+ }
+ // Platform hosting this deployment.
+ Platform platform = 7;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/discovery.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/discovery.proto
new file mode 100644
index 00000000000..bfb94e4a347
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/discovery.proto
@@ -0,0 +1,104 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+import "grafeas/v1/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// A note that indicates a type of analysis a provider would perform. This note
+// exists in a provider's project. A `Discovery` occurrence is created in a
+// consumer's project at the start of analysis.
+message DiscoveryNote {
+ // Required. Immutable. The kind of analysis that is handled by this
+ // discovery.
+ grafeas.v1.NoteKind analysis_kind = 1;
+}
+
+// Provides information about the analysis status of a discovered resource.
+message DiscoveryOccurrence {
+ // Whether the resource is continuously analyzed.
+ enum ContinuousAnalysis {
+ // Unknown.
+ CONTINUOUS_ANALYSIS_UNSPECIFIED = 0;
+ // The resource is continuously analyzed.
+ ACTIVE = 1;
+ // The resource is ignored for continuous analysis.
+ INACTIVE = 2;
+ }
+
+ // Whether the resource is continuously analyzed.
+ ContinuousAnalysis continuous_analysis = 1;
+
+ // Analysis status for a resource. Currently for initial analysis only (not
+ // updated in continuous analysis).
+ enum AnalysisStatus {
+ option allow_alias = true;
+
+ // Unknown.
+ ANALYSIS_STATUS_UNSPECIFIED = 0;
+ // Resource is known but no action has been taken yet.
+ PENDING = 1;
+ // Resource is being analyzed.
+ SCANNING = 2;
+ // Analysis has finished successfully.
+ FINISHED_SUCCESS = 3;
+ // Analysis has completed.
+ COMPLETE = 3;
+ // Analysis has finished unsuccessfully, the analysis itself is in a bad
+ // state.
+ FINISHED_FAILED = 4;
+ // The resource is known not to be supported.
+ FINISHED_UNSUPPORTED = 5;
+ }
+
+ // The status of discovery for the resource.
+ AnalysisStatus analysis_status = 2;
+
+ // Indicates which analysis completed successfully. Multiple types of
+ // analysis can be performed on a single resource.
+ message AnalysisCompleted {
+ repeated string analysis_type = 1;
+ }
+
+ AnalysisCompleted analysis_completed = 7;
+
+ // Indicates any errors encountered during analysis of a resource. There
+ // could be 0 or more of these errors.
+ repeated google.rpc.Status analysis_error = 8;
+
+ // When an error is encountered this will contain a LocalizedMessage under
+ // details to show to the user. The LocalizedMessage is output only and
+ // populated by the API.
+ google.rpc.Status analysis_status_error = 3;
+
+ // The CPE of the resource being scanned.
+ string cpe = 4;
+
+ // The last time this resource was scanned.
+ google.protobuf.Timestamp last_scan_time = 5;
+
+ // The time occurrences related to this discovery occurrence were archived.
+ google.protobuf.Timestamp archive_time = 6
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/dsse_attestation.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/dsse_attestation.proto
new file mode 100644
index 00000000000..34ba3df9f9b
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/dsse_attestation.proto
@@ -0,0 +1,52 @@
+// Copyright 2021 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "grafeas/v1/common.proto";
+import "grafeas/v1/intoto_statement.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+message DSSEAttestationNote {
+ // This submessage provides human-readable hints about the purpose of the
+ // authority. Because the name of a note acts as its resource reference, it is
+ // important to disambiguate the canonical name of the Note (which might be a
+ // UUID for security purposes) from "readable" names more suitable for debug
+ // output. Note that these hints should not be used to look up authorities in
+ // security sensitive contexts, such as when looking up attestations to
+ // verify.
+ message DSSEHint {
+ // Required. The human readable name of this attestation authority, for
+ // example "cloudbuild-prod".
+ string human_readable_name = 1;
+ }
+ // DSSEHint hints at the purpose of the attestation authority.
+ DSSEHint hint = 1;
+}
+
+// Deprecated. Prefer to use a regular Occurrence, and populate the
+// Envelope at the top level of the Occurrence.
+message DSSEAttestationOccurrence {
+ // If doing something security critical, make sure to verify the signatures in
+ // this metadata.
+ Envelope envelope = 1;
+ oneof decoded_payload {
+ InTotoStatement statement = 2;
+ }
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/grafeas.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/grafeas.proto
new file mode 100644
index 00000000000..5665fe3623e
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/grafeas.proto
@@ -0,0 +1,544 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "grafeas/v1/attestation.proto";
+import "grafeas/v1/build.proto";
+import "grafeas/v1/common.proto";
+import "grafeas/v1/compliance.proto";
+import "grafeas/v1/deployment.proto";
+import "grafeas/v1/discovery.proto";
+import "grafeas/v1/dsse_attestation.proto";
+import "grafeas/v1/image.proto";
+import "grafeas/v1/package.proto";
+import "grafeas/v1/upgrade.proto";
+import "grafeas/v1/vulnerability.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+option (google.api.resource_definition) = {
+ type: "grafeas.io/Project"
+ pattern: "projects/{project}"
+};
+
+// [Grafeas](https://grafeas.io) API.
+//
+// Retrieves analysis results of Cloud components such as Docker container
+// images.
+//
+// Analysis results are stored as a series of occurrences. An `Occurrence`
+// contains information about a specific analysis instance on a resource. An
+// occurrence refers to a `Note`. A note contains details describing the
+// analysis and is generally stored in a separate project, called a `Provider`.
+// Multiple occurrences can refer to the same note.
+//
+// For example, an SSL vulnerability could affect multiple images. In this case,
+// there would be one note for the vulnerability and an occurrence for each
+// image with the vulnerability referring to that note.
+service Grafeas {
+ option (google.api.default_host) = "containeranalysis.googleapis.com";
+
+ // Gets the specified occurrence.
+ rpc GetOccurrence(GetOccurrenceRequest) returns (Occurrence) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/occurrences/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists occurrences for the specified project.
+ rpc ListOccurrences(ListOccurrencesRequest)
+ returns (ListOccurrencesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*}/occurrences"
+ };
+ option (google.api.method_signature) = "parent,filter";
+ }
+
+ // Deletes the specified occurrence. For example, use this method to delete an
+ // occurrence when the occurrence is no longer applicable for the given
+ // resource.
+ rpc DeleteOccurrence(DeleteOccurrenceRequest)
+ returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/occurrences/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new occurrence.
+ rpc CreateOccurrence(CreateOccurrenceRequest) returns (Occurrence) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/occurrences"
+ body: "occurrence"
+ };
+ option (google.api.method_signature) = "parent,occurrence";
+ }
+
+ // Creates new occurrences in batch.
+ rpc BatchCreateOccurrences(BatchCreateOccurrencesRequest)
+ returns (BatchCreateOccurrencesResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/occurrences:batchCreate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,occurrences";
+ }
+
+ // Updates the specified occurrence.
+ rpc UpdateOccurrence(UpdateOccurrenceRequest) returns (Occurrence) {
+ option (google.api.http) = {
+ patch: "/v1/{name=projects/*/occurrences/*}"
+ body: "occurrence"
+ };
+ option (google.api.method_signature) = "name,occurrence,update_mask";
+ }
+
+ // Gets the note attached to the specified occurrence. Consumer projects can
+ // use this method to get a note that belongs to a provider project.
+ rpc GetOccurrenceNote(GetOccurrenceNoteRequest) returns (Note) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/occurrences/*}/notes"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets the specified note.
+ rpc GetNote(GetNoteRequest) returns (Note) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/notes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists notes for the specified project.
+ rpc ListNotes(ListNotesRequest) returns (ListNotesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*}/notes"
+ };
+ option (google.api.method_signature) = "parent,filter";
+ }
+
+ // Deletes the specified note.
+ rpc DeleteNote(DeleteNoteRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/notes/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a new note.
+ rpc CreateNote(CreateNoteRequest) returns (Note) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/notes"
+ body: "note"
+ };
+ option (google.api.method_signature) = "parent,note_id,note";
+ }
+
+ // Creates new notes in batch.
+ rpc BatchCreateNotes(BatchCreateNotesRequest)
+ returns (BatchCreateNotesResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*}/notes:batchCreate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "parent,notes";
+ }
+
+ // Updates the specified note.
+ rpc UpdateNote(UpdateNoteRequest) returns (Note) {
+ option (google.api.http) = {
+ patch: "/v1/{name=projects/*/notes/*}"
+ body: "note"
+ };
+ option (google.api.method_signature) = "name,note,update_mask";
+ }
+
+ // Lists occurrences referencing the specified note. Provider projects can use
+ // this method to get all occurrences across consumer projects referencing the
+ // specified note.
+ rpc ListNoteOccurrences(ListNoteOccurrencesRequest)
+ returns (ListNoteOccurrencesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/notes/*}/occurrences"
+ };
+ option (google.api.method_signature) = "name,filter";
+ }
+}
+
+// An instance of an analysis type that has been found on a resource.
+message Occurrence {
+ option (google.api.resource) = {
+ type: "grafeas.io/Occurrence"
+ pattern: "projects/{project}/occurrences/{occurrence}"
+ };
+
+ // Output only. The name of the occurrence in the form of
+ // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
+ string name = 1;
+
+ // Required. Immutable. A URI that represents the resource for which the
+ // occurrence applies. For example,
+ // `https://gcr.io/project/image@sha256:123abc` for a Docker image.
+ string resource_uri = 2;
+
+ // Required. Immutable. The analysis note associated with this occurrence, in
+ // the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be
+ // used as a filter in list requests.
+ string note_name = 3;
+
+ // Output only. This explicitly denotes which of the occurrence details are
+ // specified. This field can be used as a filter in list requests.
+ grafeas.v1.NoteKind kind = 4;
+
+ // A description of actions that can be taken to remedy the note.
+ string remediation = 5;
+
+ // Output only. The time this occurrence was created.
+ google.protobuf.Timestamp create_time = 6;
+
+ // Output only. The time this occurrence was last updated.
+ google.protobuf.Timestamp update_time = 7;
+
+ // Required. Immutable. Describes the details of the note kind found on this
+ // resource.
+ oneof details {
+ // Describes a security vulnerability.
+ grafeas.v1.VulnerabilityOccurrence vulnerability = 8;
+ // Describes a verifiable build.
+ grafeas.v1.BuildOccurrence build = 9;
+ // Describes how this resource derives from the basis in the associated
+ // note.
+ grafeas.v1.ImageOccurrence image = 10;
+ // Describes the installation of a package on the linked resource.
+ grafeas.v1.PackageOccurrence package = 11;
+ // Describes the deployment of an artifact on a runtime.
+ grafeas.v1.DeploymentOccurrence deployment = 12;
+ // Describes when a resource was discovered.
+ grafeas.v1.DiscoveryOccurrence discovery = 13;
+ // Describes an attestation of an artifact.
+ grafeas.v1.AttestationOccurrence attestation = 14;
+ // Describes an available package upgrade on the linked resource.
+ grafeas.v1.UpgradeOccurrence upgrade = 15;
+ // Describes a compliance violation on a linked resource.
+ grafeas.v1.ComplianceOccurrence compliance = 16;
+ // Describes an attestation of an artifact using dsse.
+ grafeas.v1.DSSEAttestationOccurrence dsse_attestation = 17;
+ }
+
+ // https://github.com/secure-systems-lab/dsse
+ grafeas.v1.Envelope envelope = 18;
+}
+
+// A type of analysis that can be done for a resource.
+message Note {
+ option (google.api.resource) = {
+ type: "grafeas.io/Note"
+ pattern: "projects/{project}/notes/{note}"
+ };
+
+ // Output only. The name of the note in the form of
+ // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
+ string name = 1;
+
+ // A one sentence description of this note.
+ string short_description = 2;
+
+ // A detailed description of this note.
+ string long_description = 3;
+
+ // Output only. The type of analysis. This field can be used as a filter in
+ // list requests.
+ grafeas.v1.NoteKind kind = 4;
+
+ // URLs associated with this note.
+ repeated grafeas.v1.RelatedUrl related_url = 5;
+
+ // Time of expiration for this note. Empty if note does not expire.
+ google.protobuf.Timestamp expiration_time = 6;
+
+ // Output only. The time this note was created. This field can be used as a
+ // filter in list requests.
+ google.protobuf.Timestamp create_time = 7;
+
+ // Output only. The time this note was last updated. This field can be used as
+ // a filter in list requests.
+ google.protobuf.Timestamp update_time = 8;
+
+ // Other notes related to this note.
+ repeated string related_note_names = 9;
+
+ // Required. Immutable. The type of analysis this note represents.
+ oneof type {
+ // A note describing a package vulnerability.
+ grafeas.v1.VulnerabilityNote vulnerability = 10;
+ // A note describing build provenance for a verifiable build.
+ grafeas.v1.BuildNote build = 11;
+ // A note describing a base image.
+ grafeas.v1.ImageNote image = 12;
+ // A note describing a package hosted by various package managers.
+ grafeas.v1.PackageNote package = 13;
+ // A note describing something that can be deployed.
+ grafeas.v1.DeploymentNote deployment = 14;
+ // A note describing the initial analysis of a resource.
+ grafeas.v1.DiscoveryNote discovery = 15;
+ // A note describing an attestation role.
+ grafeas.v1.AttestationNote attestation = 16;
+ // A note describing available package upgrades.
+ grafeas.v1.UpgradeNote upgrade = 17;
+ // A note describing a compliance check.
+ grafeas.v1.ComplianceNote compliance = 18;
+ // A note describing a dsse attestation note.
+ grafeas.v1.DSSEAttestationNote dsse_attestation = 19;
+ }
+}
+
+// Request to get an occurrence.
+message GetOccurrenceRequest {
+ // The name of the occurrence in the form of
+ // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Occurrence"
+ ];
+}
+
+// Request to list occurrences.
+message ListOccurrencesRequest {
+ // The name of the project to list occurrences for in the form of
+ // `projects/[PROJECT_ID]`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Project"
+ ];
+
+ // The filter expression.
+ string filter = 2;
+
+ // Number of occurrences to return in the list. Must be positive. Max allowed
+ // page size is 1000. If not specified, page size defaults to 20.
+ int32 page_size = 3;
+
+ // Token to provide to skip to a particular spot in the list.
+ string page_token = 4;
+}
+
+// Response for listing occurrences.
+message ListOccurrencesResponse {
+ // The occurrences requested.
+ repeated Occurrence occurrences = 1;
+ // The next pagination token in the list response. It should be used as
+ // `page_token` for the following request. An empty value means no more
+ // results.
+ string next_page_token = 2;
+}
+
+// Request to delete an occurrence.
+message DeleteOccurrenceRequest {
+ // The name of the occurrence in the form of
+ // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Occurrence"
+ ];
+}
+
+// Request to create a new occurrence.
+message CreateOccurrenceRequest {
+ // The name of the project in the form of `projects/[PROJECT_ID]`, under which
+ // the occurrence is to be created.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Project"
+ ];
+ // The occurrence to create.
+ Occurrence occurrence = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request to update an occurrence.
+message UpdateOccurrenceRequest {
+ // The name of the occurrence in the form of
+ // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Occurrence"
+ ];
+ // The updated occurrence.
+ Occurrence occurrence = 2 [(google.api.field_behavior) = REQUIRED];
+ // The fields to update.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request to get a note.
+message GetNoteRequest {
+ // The name of the note in the form of
+ // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Note"
+ ];
+}
+
+// Request to get the note to which the specified occurrence is attached.
+message GetOccurrenceNoteRequest {
+ // The name of the occurrence in the form of
+ // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Occurrence"
+ ];
+}
+
+// Request to list notes.
+message ListNotesRequest {
+ // The name of the project to list notes for in the form of
+ // `projects/[PROJECT_ID]`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Project"
+ ];
+
+ // The filter expression.
+ string filter = 2;
+
+ // Number of notes to return in the list. Must be positive. Max allowed page
+ // size is 1000. If not specified, page size defaults to 20.
+ int32 page_size = 3;
+
+ // Token to provide to skip to a particular spot in the list.
+ string page_token = 4;
+}
+
+// Response for listing notes.
+message ListNotesResponse {
+ // The notes requested.
+ repeated Note notes = 1;
+ // The next pagination token in the list response. It should be used as
+ // `page_token` for the following request. An empty value means no more
+ // results.
+ string next_page_token = 2;
+}
+
+// Request to delete a note.
+message DeleteNoteRequest {
+ // The name of the note in the form of
+ // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Note"
+ ];
+}
+
+// Request to create a new note.
+message CreateNoteRequest {
+ // The name of the project in the form of `projects/[PROJECT_ID]`, under which
+ // the note is to be created.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Project"
+ ];
+ // The ID to use for this note.
+ string note_id = 2 [(google.api.field_behavior) = REQUIRED];
+ // The note to create.
+ Note note = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request to update a note.
+message UpdateNoteRequest {
+ // The name of the note in the form of
+ // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Note"
+ ];
+ // The updated note.
+ Note note = 2 [(google.api.field_behavior) = REQUIRED];
+ // The fields to update.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request to list occurrences for a note.
+message ListNoteOccurrencesRequest {
+ // The name of the note to list occurrences for in the form of
+ // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Note"
+ ];
+ // The filter expression.
+ string filter = 2;
+ // Number of occurrences to return in the list.
+ int32 page_size = 3;
+ // Token to provide to skip to a particular spot in the list.
+ string page_token = 4;
+}
+
+// Response for listing occurrences for a note.
+message ListNoteOccurrencesResponse {
+ // The occurrences attached to the specified note.
+ repeated Occurrence occurrences = 1;
+ // Token to provide to skip to a particular spot in the list.
+ string next_page_token = 2;
+}
+
+// Request to create notes in batch.
+message BatchCreateNotesRequest {
+ // The name of the project in the form of `projects/[PROJECT_ID]`, under which
+ // the notes are to be created.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Project"
+ ];
+
+ // The notes to create. Max allowed length is 1000.
+ map notes = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response for creating notes in batch.
+message BatchCreateNotesResponse {
+ // The notes that were created.
+ repeated Note notes = 1;
+}
+
+// Request to create occurrences in batch.
+message BatchCreateOccurrencesRequest {
+ // The name of the project in the form of `projects/[PROJECT_ID]`, under which
+ // the occurrences are to be created.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference).type = "grafeas.io/Project"
+ ];
+
+ // The occurrences to create. Max allowed length is 1000.
+ repeated Occurrence occurrences = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response for creating occurrences in batch.
+message BatchCreateOccurrencesResponse {
+ // The occurrences that were created.
+ repeated Occurrence occurrences = 1;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/image.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/image.proto
new file mode 100644
index 00000000000..9ac162cec22
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/image.proto
@@ -0,0 +1,83 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// Layer holds metadata specific to a layer of a Docker image.
+message Layer {
+ // Required. The recovered Dockerfile directive used to construct this layer.
+ // See https://docs.docker.com/engine/reference/builder/ for more information.
+ string directive = 1;
+
+ // The recovered arguments to the Dockerfile directive.
+ string arguments = 2;
+}
+
+// A set of properties that uniquely identify a given Docker image.
+message Fingerprint {
+ // Required. The layer ID of the final layer in the Docker image's v1
+ // representation.
+ string v1_name = 1;
+
+ // Required. The ordered list of v2 blobs that represent a given image.
+ repeated string v2_blob = 2;
+
+ // Output only. The name of the image's v2 blobs computed via:
+ // [bottom] := v2_blob[bottom]
+ // [N] := sha256(v2_blob[N] + " " + v2_name[N+1])
+ // Only the name of the final blob is kept.
+ string v2_name = 3;
+}
+
+// Basis describes the base image portion (Note) of the DockerImage
+// relationship. Linked occurrences are derived from this or an equivalent image
+// via:
+// FROM
+// Or an equivalent reference, e.g., a tag of the resource_url.
+message ImageNote {
+ // Required. Immutable. The resource_url for the resource representing the
+ // basis of associated occurrence images.
+ string resource_url = 1;
+
+ // Required. Immutable. The fingerprint of the base image.
+ Fingerprint fingerprint = 2;
+}
+
+// Details of the derived image portion of the DockerImage relationship. This
+// image would be produced from a Dockerfile with FROM .
+message ImageOccurrence {
+ // Required. The fingerprint of the derived image.
+ Fingerprint fingerprint = 1;
+
+ // Output only. The number of layers by which this image differs from the
+ // associated image basis.
+ int32 distance = 2;
+
+ // This contains layer-specific metadata, if populated it has length
+ // "distance" and is ordered with [distance] being the layer immediately
+ // following the base image and [1] being the final layer.
+ repeated Layer layer_info = 3;
+
+ // Output only. This contains the base image URL for the derived image
+ // occurrence.
+ string base_resource_url = 4;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/intoto_provenance.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/intoto_provenance.proto
new file mode 100644
index 00000000000..78886b66e48
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/intoto_provenance.proto
@@ -0,0 +1,113 @@
+// Copyright 2021 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/protobuf/any.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+option java_outer_classname = "InTotoProvenanceProto";
+
+// Spec defined at
+// https://github.com/in-toto/attestation/blob/main/spec/predicates/provenance.md
+
+// Steps taken to build the artifact.
+// For a TaskRun, typically each container corresponds to one step in the
+// recipe.
+message Recipe {
+ // URI indicating what type of recipe was performed. It determines the meaning
+ // of recipe.entryPoint, recipe.arguments, recipe.environment, and materials.
+ string type = 1;
+ // Index in materials containing the recipe steps that are not implied by
+ // recipe.type. For example, if the recipe type were "make", then this would
+ // point to the source containing the Makefile, not the make program itself.
+ // Set to -1 if the recipe doesn't come from a material, as zero is default
+ // unset value for int64.
+ int64 defined_in_material = 2;
+ // String identifying the entry point into the build.
+ // This is often a path to a configuration file and/or a target label within
+ // that file. The syntax and meaning are defined by recipe.type. For example,
+ // if the recipe type were "make", then this would reference the directory in
+ // which to run make as well as which target to use.
+ string entry_point = 3;
+ // Collection of all external inputs that influenced the build on top of
+ // recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe
+ // type were "make", then this might be the flags passed to make aside from
+ // the target, which is captured in recipe.entryPoint. Since the arguments
+ // field can greatly vary in structure, depending on the builder and recipe
+ // type, this is of form "Any".
+ repeated google.protobuf.Any arguments = 4;
+ // Any other builder-controlled inputs necessary for correctly evaluating the
+ // recipe. Usually only needed for reproducing the build but not evaluated as
+ // part of policy. Since the environment field can greatly vary in structure,
+ // depending on the builder and recipe type, this is of form "Any".
+ repeated google.protobuf.Any environment = 5;
+}
+
+// Indicates that the builder claims certain fields in this message to be
+// complete.
+message Completeness {
+ // If true, the builder claims that recipe.arguments is complete, meaning that
+ // all external inputs are properly captured in the recipe.
+ bool arguments = 1;
+ // If true, the builder claims that recipe.environment is claimed to be
+ // complete.
+ bool environment = 2;
+ // If true, the builder claims that materials are complete, usually through
+ // some controls to prevent network access. Sometimes called "hermetic".
+ bool materials = 3;
+}
+
+// Other properties of the build.
+message Metadata {
+ // Identifies the particular build invocation, which can be useful for finding
+ // associated logs or other ad-hoc analysis. The value SHOULD be globally
+ // unique, per in-toto Provenance spec.
+ string build_invocation_id = 1;
+ // The timestamp of when the build started.
+ google.protobuf.Timestamp build_started_on = 2;
+ // The timestamp of when the build completed.
+ google.protobuf.Timestamp build_finished_on = 3;
+ // Indicates that the builder claims certain fields in this message to be
+ // complete.
+ Completeness completeness = 4;
+ // If true, the builder claims that running the recipe on materials will
+ // produce bit-for-bit identical output.
+ bool reproducible = 5;
+}
+
+message BuilderConfig {
+ string id = 1;
+}
+
+message InTotoProvenance {
+ BuilderConfig builder_config = 1; // required
+ // Identifies the configuration used for the build.
+ // When combined with materials, this SHOULD fully describe the build,
+ // such that re-running this recipe results in bit-for-bit identical output
+ // (if the build is reproducible).
+ Recipe recipe = 2; // required
+ Metadata metadata = 3;
+ // The collection of artifacts that influenced the build including sources,
+ // dependencies, build tools, base images, and so on. This is considered to be
+ // incomplete unless metadata.completeness.materials is true. Unset or null is
+ // equivalent to empty.
+ repeated string materials = 4;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/intoto_statement.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/intoto_statement.proto
new file mode 100644
index 00000000000..1f798d0d65f
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/intoto_statement.proto
@@ -0,0 +1,52 @@
+// Copyright 2021 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "grafeas/v1/intoto_provenance.proto";
+import "grafeas/v1/slsa_provenance.proto";
+import "grafeas/v1/slsa_provenance_zero_two.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+option java_outer_classname = "InTotoStatementProto";
+
+// Spec defined at
+// https://github.com/in-toto/attestation/tree/main/spec#statement The
+// serialized InTotoStatement will be stored as Envelope.payload.
+// Envelope.payloadType is always "application/vnd.in-toto+json".
+message InTotoStatement {
+ // Always `https://in-toto.io/Statement/v0.1`.
+ string type = 1 [json_name = "_type"];
+ repeated Subject subject = 2;
+ // `https://slsa.dev/provenance/v0.1` for SlsaProvenance.
+ string predicate_type = 3;
+ oneof predicate {
+ InTotoProvenance provenance = 4;
+ SlsaProvenance slsa_provenance = 5;
+ SlsaProvenanceZeroTwo slsa_provenance_zero_two = 6;
+ }
+}
+message Subject {
+ string name = 1;
+ // `"": ""`
+ // Algorithms can be e.g. sha256, sha512
+ // See
+ // https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet
+ map digest = 2;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/package.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/package.proto
new file mode 100644
index 00000000000..61b21dbf032
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/package.proto
@@ -0,0 +1,192 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/api/field_behavior.proto";
+import "grafeas/v1/common.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// Instruction set architectures supported by various package managers.
+enum Architecture {
+ // Unknown architecture.
+ ARCHITECTURE_UNSPECIFIED = 0;
+ // X86 architecture.
+ X86 = 1;
+ // X64 architecture.
+ X64 = 2;
+}
+
+// This represents a particular channel of distribution for a given package.
+// E.g., Debian's jessie-backports dpkg mirror.
+message Distribution {
+ // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
+ // denoting the package manager version distributing a package.
+ string cpe_uri = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The CPU architecture for which packages in this distribution channel were
+ // built.
+ Architecture architecture = 2;
+
+ // The latest available version of this package in this distribution channel.
+ Version latest_version = 3;
+
+ // A freeform string denoting the maintainer of this package.
+ string maintainer = 4;
+
+ // The distribution channel-specific homepage for this package.
+ string url = 5;
+
+ // The distribution channel-specific description of this package.
+ string description = 6;
+}
+
+// An occurrence of a particular package installation found within a system's
+// filesystem. E.g., glibc was found in `/var/lib/dpkg/status`.
+message Location {
+ // Deprecated.
+ // The CPE URI in [CPE format](https://cpe.mitre.org/specification/)
+ string cpe_uri = 1;
+
+ // Deprecated.
+ // The version installed at this location.
+ Version version = 2;
+
+ // The path from which we gathered that this package/version is installed.
+ string path = 3;
+}
+
+// PackageNote represents a particular package version.
+message PackageNote {
+ // The name of the package.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Deprecated.
+ // The various channels by which a package is distributed.
+ repeated Distribution distribution = 10;
+
+ // The type of package; whether native or non native (e.g., ruby gems,
+ // node.js packages, etc.).
+ string package_type = 11;
+
+ // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
+ // denoting the package manager version distributing a package.
+ // The cpe_uri will be blank for language packages.
+ string cpe_uri = 12;
+
+ // The CPU architecture for which packages in this distribution channel were
+ // built. Architecture will be blank for language packages.
+ Architecture architecture = 13;
+
+ // The version of the package.
+ Version version = 14;
+
+ // A freeform text denoting the maintainer of this package.
+ string maintainer = 15;
+
+ // The homepage for this package.
+ string url = 16;
+
+ // The description of this package.
+ string description = 17;
+
+ // Licenses that have been declared by the authors of the package.
+ License license = 18;
+
+ // Hash value, typically a file digest, that allows unique
+ // identification a specific package.
+ repeated Digest digest = 19;
+}
+
+// Details on how a particular software package was installed on a system.
+message PackageOccurrence {
+ // The name of the installed package.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = OUTPUT_ONLY
+ ];
+
+ // All of the places within the filesystem versions of this package
+ // have been found.
+ repeated Location location = 2;
+
+ // The type of package; whether native or non native (e.g., ruby gems,
+ // node.js packages, etc.).
+ string package_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/)
+ // denoting the package manager version distributing a package.
+ // The cpe_uri will be blank for language packages.
+ string cpe_uri = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The CPU architecture for which packages in this distribution channel were
+ // built. Architecture will be blank for language packages.
+ Architecture architecture = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Licenses that have been declared by the authors of the package.
+ License license = 6;
+
+ // The version of the package.
+ Version version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Version contains structured information about the version of a package.
+message Version {
+ // Used to correct mistakes in the version numbering scheme.
+ int32 epoch = 1;
+
+ // Required only when version kind is NORMAL. The main part of the version
+ // name.
+ string name = 2;
+
+ // The iteration of the package build from the above version.
+ string revision = 3;
+
+ // Whether this version is specifying part of an inclusive range. Grafeas
+ // does not have the capability to specify version ranges; instead we have
+ // fields that specify start version and end versions. At times this is
+ // insufficient - we also need to specify whether the version is included in
+ // the range or is excluded from the range. This boolean is expected to be set
+ // to true when the version is included in a range.
+ bool inclusive = 6;
+
+ // Whether this is an ordinary package version or a sentinel MIN/MAX version.
+ enum VersionKind {
+ // Unknown.
+ VERSION_KIND_UNSPECIFIED = 0;
+ // A standard package version.
+ NORMAL = 1;
+ // A special version representing negative infinity.
+ MINIMUM = 2;
+ // A special version representing positive infinity.
+ MAXIMUM = 3;
+ }
+
+ // Required. Distinguishes between sentinel MIN/MAX versions and normal
+ // versions.
+ VersionKind kind = 4;
+
+ // Human readable version string. This string is of the form
+ // :- and is only set when kind is NORMAL.
+ string full_name = 5;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/provenance.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/provenance.proto
new file mode 100644
index 00000000000..06b109785f8
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/provenance.proto
@@ -0,0 +1,265 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// Provenance of a build. Contains all information needed to verify the full
+// details about the build from source to completion.
+message BuildProvenance {
+ // Required. Unique identifier of the build.
+ string id = 1;
+
+ // ID of the project.
+ string project_id = 2;
+
+ // Commands requested by the build.
+ repeated Command commands = 3;
+
+ // Output of the build.
+ repeated Artifact built_artifacts = 4;
+
+ // Time at which the build was created.
+ google.protobuf.Timestamp create_time = 5;
+
+ // Time at which execution of the build was started.
+ google.protobuf.Timestamp start_time = 6;
+
+ // Time at which execution of the build was finished.
+ google.protobuf.Timestamp end_time = 7;
+
+ // E-mail address of the user who initiated this build. Note that this was the
+ // user's e-mail address at the time the build was initiated; this address may
+ // not represent the same end-user for all time.
+ string creator = 8;
+
+ // URI where any logs for this provenance were written.
+ string logs_uri = 9;
+
+ // Details of the Source input to the build.
+ Source source_provenance = 10;
+
+ // Trigger identifier if the build was triggered automatically; empty if not.
+ string trigger_id = 11;
+
+ // Special options applied to this build. This is a catch-all field where
+ // build providers can enter any desired additional details.
+ map build_options = 12;
+
+ // Version string of the builder at the time this build was executed.
+ string builder_version = 13;
+}
+
+// Source describes the location of the source used for the build.
+message Source {
+ // If provided, the input binary artifacts for the build came from this
+ // location.
+ string artifact_storage_source_uri = 1;
+
+ // Hash(es) of the build source, which can be used to verify that the original
+ // source integrity was maintained in the build.
+ //
+ // The keys to this map are file paths used as build source and the values
+ // contain the hash values for those files.
+ //
+ // If the build source came in a single package such as a gzipped tarfile
+ // (.tar.gz), the FileHash will be for the single path to that file.
+ map file_hashes = 2;
+
+ // If provided, the source code used for the build came from this location.
+ SourceContext context = 3;
+
+ // If provided, some of the source code used for the build may be found in
+ // these locations, in the case where the source repository had multiple
+ // remotes or submodules. This list will not include the context specified in
+ // the context field.
+ repeated SourceContext additional_contexts = 4;
+}
+
+// Container message for hashes of byte content of files, used in source
+// messages to verify integrity of source input to the build.
+message FileHashes {
+ // Required. Collection of file hashes.
+ repeated Hash file_hash = 1;
+}
+
+// Container message for hash values.
+message Hash {
+ // Required. The type of hash that was performed, e.g. "SHA-256".
+ string type = 1;
+ // Required. The hash value.
+ bytes value = 2;
+}
+
+// Command describes a step performed as part of the build pipeline.
+message Command {
+ // Required. Name of the command, as presented on the command line, or if the
+ // command is packaged as a Docker container, as presented to `docker pull`.
+ string name = 1;
+
+ // Environment variables set before running this command.
+ repeated string env = 2;
+
+ // Command-line arguments used when executing this command.
+ repeated string args = 3;
+
+ // Working directory (relative to project source root) used when running this
+ // command.
+ string dir = 4;
+
+ // Optional unique identifier for this command, used in wait_for to reference
+ // this command as a dependency.
+ string id = 5;
+
+ // The ID(s) of the command(s) that this command depends on.
+ repeated string wait_for = 6;
+}
+
+// Artifact describes a build product.
+message Artifact {
+ // Hash or checksum value of a binary, or Docker Registry 2.0 digest of a
+ // container.
+ string checksum = 1;
+
+ // Artifact ID, if any; for container images, this will be a URL by digest
+ // like `gcr.io/projectID/imagename@sha256:123456`.
+ string id = 2;
+
+ // Related artifact names. This may be the path to a binary or jar file, or in
+ // the case of a container build, the name used to push the container image to
+ // Google Container Registry, as presented to `docker push`. Note that a
+ // single Artifact ID can have multiple names, for example if two tags are
+ // applied to one image.
+ repeated string names = 3;
+}
+
+// A SourceContext is a reference to a tree of files. A SourceContext together
+// with a path point to a unique revision of a single file or directory.
+message SourceContext {
+ // A SourceContext can refer any one of the following types of repositories.
+ oneof context {
+ // A SourceContext referring to a revision in a Google Cloud Source Repo.
+ CloudRepoSourceContext cloud_repo = 1;
+
+ // A SourceContext referring to a Gerrit project.
+ GerritSourceContext gerrit = 2;
+
+ // A SourceContext referring to any third party Git repo (e.g., GitHub).
+ GitSourceContext git = 3;
+ }
+
+ // Labels with user defined metadata.
+ map labels = 4;
+}
+
+// An alias to a repo revision.
+message AliasContext {
+ // The type of an alias.
+ enum Kind {
+ // Unknown.
+ KIND_UNSPECIFIED = 0;
+ // Git tag.
+ FIXED = 1;
+ // Git branch.
+ MOVABLE = 2;
+ // Used to specify non-standard aliases. For example, if a Git repo has a
+ // ref named "refs/foo/bar".
+ OTHER = 4;
+ }
+
+ // The alias kind.
+ Kind kind = 1;
+
+ // The alias name.
+ string name = 2;
+}
+
+// A CloudRepoSourceContext denotes a particular revision in a Google Cloud
+// Source Repo.
+message CloudRepoSourceContext {
+ // The ID of the repo.
+ RepoId repo_id = 1;
+
+ // A revision in a Cloud Repo can be identified by either its revision ID or
+ // its alias.
+ oneof revision {
+ // A revision ID.
+ string revision_id = 2;
+
+ // An alias, which may be a branch or tag.
+ AliasContext alias_context = 3;
+ }
+}
+
+// A SourceContext referring to a Gerrit project.
+message GerritSourceContext {
+ // The URI of a running Gerrit instance.
+ string host_uri = 1;
+
+ // The full project name within the host. Projects may be nested, so
+ // "project/subproject" is a valid project name. The "repo name" is the
+ // hostURI/project.
+ string gerrit_project = 2;
+
+ // A revision in a Gerrit project can be identified by either its revision ID
+ // or its alias.
+ oneof revision {
+ // A revision (commit) ID.
+ string revision_id = 3;
+
+ // An alias, which may be a branch or tag.
+ AliasContext alias_context = 4;
+ }
+}
+
+// A GitSourceContext denotes a particular revision in a third party Git
+// repository (e.g., GitHub).
+message GitSourceContext {
+ // Git repository URL.
+ string url = 1;
+
+ // Git commit hash.
+ string revision_id = 2;
+}
+
+// A unique identifier for a Cloud Repo.
+message RepoId {
+ // A cloud repo can be identified by either its project ID and repository name
+ // combination, or its globally unique identifier.
+ oneof id {
+ // A combination of a project ID and a repo name.
+ ProjectRepoId project_repo_id = 1;
+
+ // A server-assigned, globally unique identifier.
+ string uid = 2;
+ }
+}
+
+// Selects a repo using a Google Cloud Platform project ID (e.g.,
+// winged-cargo-31) and a repo name within that project.
+message ProjectRepoId {
+ // The ID of the project.
+ string project_id = 1;
+
+ // The name of the repo. Leave empty for the default repo.
+ string repo_name = 2;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/severity.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/severity.proto
new file mode 100644
index 00000000000..cc9cc384535
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/severity.proto
@@ -0,0 +1,38 @@
+// Copyright 2021 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// Note provider assigned severity/impact ranking.
+enum Severity {
+ // Unknown.
+ SEVERITY_UNSPECIFIED = 0;
+ // Minimal severity.
+ MINIMAL = 1;
+ // Low severity.
+ LOW = 2;
+ // Medium severity.
+ MEDIUM = 3;
+ // High severity.
+ HIGH = 4;
+ // Critical severity.
+ CRITICAL = 5;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/slsa_provenance.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/slsa_provenance.proto
new file mode 100644
index 00000000000..c038af064e0
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/slsa_provenance.proto
@@ -0,0 +1,115 @@
+// Copyright 2021 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/protobuf/any.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+option java_outer_classname = "SlsaProvenanceProto";
+
+message SlsaProvenance {
+ // Steps taken to build the artifact.
+ // For a TaskRun, typically each container corresponds to one step in the
+ // recipe.
+ message SlsaRecipe {
+ // URI indicating what type of recipe was performed. It determines the
+ // meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and
+ // materials.
+ string type = 1;
+ // Index in materials containing the recipe steps that are not implied by
+ // recipe.type. For example, if the recipe type were "make", then this would
+ // point to the source containing the Makefile, not the make program itself.
+ // Set to -1 if the recipe doesn't come from a material, as zero is default
+ // unset value for int64.
+ int64 defined_in_material = 2;
+ // String identifying the entry point into the build.
+ // This is often a path to a configuration file and/or a target label within
+ // that file. The syntax and meaning are defined by recipe.type. For
+ // example, if the recipe type were "make", then this would reference the
+ // directory in which to run make as well as which target to use.
+ string entry_point = 3;
+ // Collection of all external inputs that influenced the build on top of
+ // recipe.definedInMaterial and recipe.entryPoint. For example, if the
+ // recipe type were "make", then this might be the flags passed to make
+ // aside from the target, which is captured in recipe.entryPoint. Depending
+ // on the recipe Type, the structure may be different.
+ google.protobuf.Any arguments = 4;
+ // Any other builder-controlled inputs necessary for correctly evaluating
+ // the recipe. Usually only needed for reproducing the build but not
+ // evaluated as part of policy. Depending on the recipe Type, the structure
+ // may be different.
+ google.protobuf.Any environment = 5;
+ }
+
+ // Indicates that the builder claims certain fields in this message to be
+ // complete.
+ message SlsaCompleteness {
+ // If true, the builder claims that recipe.arguments is complete, meaning
+ // that all external inputs are properly captured in the recipe.
+ bool arguments = 1;
+ // If true, the builder claims that recipe.environment is claimed to be
+ // complete.
+ bool environment = 2;
+ // If true, the builder claims that materials are complete, usually through
+ // some controls to prevent network access. Sometimes called "hermetic".
+ bool materials = 3;
+ }
+
+ // Other properties of the build.
+ message SlsaMetadata {
+ // Identifies the particular build invocation, which can be useful for
+ // finding associated logs or other ad-hoc analysis. The value SHOULD be
+ // globally unique, per in-toto Provenance spec.
+ string build_invocation_id = 1;
+ // The timestamp of when the build started.
+ google.protobuf.Timestamp build_started_on = 2;
+ // The timestamp of when the build completed.
+ google.protobuf.Timestamp build_finished_on = 3;
+ // Indicates that the builder claims certain fields in this message to be
+ // complete.
+ SlsaCompleteness completeness = 4;
+ // If true, the builder claims that running the recipe on materials will
+ // produce bit-for-bit identical output.
+ bool reproducible = 5;
+ }
+
+ message SlsaBuilder {
+ string id = 1;
+ }
+
+ message Material {
+ string uri = 1;
+ map digest = 2;
+ }
+
+ SlsaBuilder builder = 1; // required
+ // Identifies the configuration used for the build.
+ // When combined with materials, this SHOULD fully describe the build,
+ // such that re-running this recipe results in bit-for-bit identical output
+ // (if the build is reproducible).
+ SlsaRecipe recipe = 2; // required
+ SlsaMetadata metadata = 3;
+ // The collection of artifacts that influenced the build including sources,
+ // dependencies, build tools, base images, and so on. This is considered to be
+ // incomplete unless metadata.completeness.materials is true. Unset or null is
+ // equivalent to empty.
+ repeated Material materials = 4;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/slsa_provenance_zero_two.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/slsa_provenance_zero_two.proto
new file mode 100644
index 00000000000..11cdd1c0ba5
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/slsa_provenance_zero_two.proto
@@ -0,0 +1,82 @@
+// Copyright 2021 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/protobuf/struct.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+option java_outer_classname = "SlsaProvenanceZeroTwoProto";
+
+message SlsaProvenanceZeroTwo {
+ // See full explanation of fields at slsa.dev/provenance/v0.2.
+
+ // Identifies the entity that executed the recipe, which is trusted to have
+ // correctly performed the operation and populated this provenance.
+ message SlsaBuilder {
+ string id = 1;
+ }
+
+ // The collection of artifacts that influenced the build including sources,
+ // dependencies, build tools, base images, and so on.
+ message SlsaMaterial {
+ string uri = 1;
+ map digest = 2;
+ }
+
+ // Identifies the event that kicked off the build.
+ message SlsaInvocation {
+ SlsaConfigSource config_source = 1;
+ google.protobuf.Struct parameters = 2;
+ google.protobuf.Struct environment = 3;
+ }
+
+ // Describes where the config file that kicked off the build came from.
+ // This is effectively a pointer to the source where buildConfig came from.
+ message SlsaConfigSource {
+ string uri = 1;
+ map digest = 2;
+ string entry_point = 3;
+ }
+
+ // Other properties of the build.
+ message SlsaMetadata {
+ string build_invocation_id = 1;
+ google.protobuf.Timestamp build_started_on = 2;
+ google.protobuf.Timestamp build_finished_on = 3;
+ SlsaCompleteness completeness = 4;
+ bool reproducible = 5;
+ }
+
+ // Indicates that the builder claims certain fields in this message to be
+ // complete.
+ message SlsaCompleteness {
+ bool parameters = 1;
+ bool environment = 2;
+ bool materials = 3;
+ }
+
+ SlsaBuilder builder = 1;
+ string build_type = 2;
+ SlsaInvocation invocation = 3;
+ google.protobuf.Struct build_config = 4;
+ SlsaMetadata metadata = 5;
+ repeated SlsaMaterial materials = 6;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/upgrade.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/upgrade.proto
new file mode 100644
index 00000000000..89d38929919
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/upgrade.proto
@@ -0,0 +1,114 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/protobuf/timestamp.proto";
+import "grafeas/v1/package.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// An Upgrade Note represents a potential upgrade of a package to a given
+// version. For each package version combination (i.e. bash 4.0, bash 4.1,
+// bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field
+// represents the information related to the update.
+message UpgradeNote {
+ // Required for non-Windows OS. The package this Upgrade is for.
+ string package = 1;
+ // Required for non-Windows OS. The version of the package in machine + human
+ // readable form.
+ grafeas.v1.Version version = 2;
+ // Metadata about the upgrade for each specific operating system.
+ repeated UpgradeDistribution distributions = 3;
+ // Required for Windows OS. Represents the metadata about the Windows update.
+ WindowsUpdate windows_update = 4;
+}
+
+// The Upgrade Distribution represents metadata about the Upgrade for each
+// operating system (CPE). Some distributions have additional metadata around
+// updates, classifying them into various categories and severities.
+message UpgradeDistribution {
+ // Required - The specific operating system this metadata applies to. See
+ // https://cpe.mitre.org/specification/.
+ string cpe_uri = 1;
+ // The operating system classification of this Upgrade, as specified by the
+ // upstream operating system upgrade feed. For Windows the classification is
+ // one of the category_ids listed at
+ // https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85)
+ string classification = 2;
+ // The severity as specified by the upstream operating system.
+ string severity = 3;
+ // The cve tied to this Upgrade.
+ repeated string cve = 4;
+}
+
+// Windows Update represents the metadata about the update for the Windows
+// operating system. The fields in this message come from the Windows Update API
+// documented at
+// https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate.
+message WindowsUpdate {
+ // The unique identifier of the update.
+ message Identity {
+ // The revision independent identifier of the update.
+ string update_id = 1;
+ // The revision number of the update.
+ int32 revision = 2;
+ }
+ // Required - The unique identifier for the update.
+ Identity identity = 1;
+ // The localized title of the update.
+ string title = 2;
+ // The localized description of the update.
+ string description = 3;
+ // The category to which the update belongs.
+ message Category {
+ // The identifier of the category.
+ string category_id = 1;
+ // The localized name of the category.
+ string name = 2;
+ }
+ // The list of categories to which the update belongs.
+ repeated Category categories = 4;
+ // The Microsoft Knowledge Base article IDs that are associated with the
+ // update.
+ repeated string kb_article_ids = 5;
+ // The hyperlink to the support information for the update.
+ string support_url = 6;
+ // The last published timestamp of the update.
+ google.protobuf.Timestamp last_published_timestamp = 7;
+}
+
+// An Upgrade Occurrence represents that a specific resource_url could install a
+// specific upgrade. This presence is supplied via local sources (i.e. it is
+// present in the mirror and the running system has noticed its availability).
+// For Windows, both distribution and windows_update contain information for the
+// Windows update.
+message UpgradeOccurrence {
+ // Required for non-Windows OS. The package this Upgrade is for.
+ string package = 1;
+ // Required for non-Windows OS. The version of the package in a machine +
+ // human readable form.
+ grafeas.v1.Version parsed_version = 3;
+ // Metadata about the upgrade for available for the specific operating system
+ // for the resource_url. This allows efficient filtering, as well as
+ // making it easier to use the occurrence.
+ UpgradeDistribution distribution = 4;
+ // Required for Windows OS. Represents the metadata about the Windows update.
+ WindowsUpdate windows_update = 5;
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/grafeas/v1/vulnerability.proto b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/vulnerability.proto
new file mode 100644
index 00000000000..cea4558b144
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/grafeas/v1/vulnerability.proto
@@ -0,0 +1,251 @@
+// Copyright 2019 The Grafeas Authors. All rights reserved.
+//
+// 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 grafeas.v1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/timestamp.proto";
+import "grafeas/v1/common.proto";
+import "grafeas/v1/cvss.proto";
+import "grafeas/v1/package.proto";
+import "grafeas/v1/severity.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/grafeas/v1;grafeas";
+option java_multiple_files = true;
+option java_package = "io.grafeas.v1";
+option objc_class_prefix = "GRA";
+
+// A security vulnerability that can be found in resources.
+message VulnerabilityNote {
+ // The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10
+ // where 0 indicates low severity and 10 indicates high severity.
+ float cvss_score = 1;
+
+ // The note provider assigned severity of this vulnerability.
+ grafeas.v1.Severity severity = 2;
+
+ // Details of all known distros and packages affected by this vulnerability.
+ repeated Detail details = 3;
+
+ // A detail for a distro and package affected by this vulnerability and its
+ // associated fix (if one is available).
+ message Detail {
+ // The distro assigned severity of this vulnerability.
+ string severity_name = 1;
+
+ // A vendor-specific description of this vulnerability.
+ string description = 2;
+
+ // The type of package; whether native or non native (e.g., ruby gems,
+ // node.js packages, etc.).
+ string package_type = 3;
+
+ // Required. The [CPE URI](https://cpe.mitre.org/specification/) this
+ // vulnerability affects.
+ string affected_cpe_uri = 4;
+
+ // Required. The package this vulnerability affects.
+ string affected_package = 5;
+
+ // The version number at the start of an interval in which this
+ // vulnerability exists. A vulnerability can affect a package between
+ // version numbers that are disjoint sets of intervals (example:
+ // [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be
+ // represented in its own Detail. If a specific affected version is provided
+ // by a vulnerability database, affected_version_start and
+ // affected_version_end will be the same in that Detail.
+ grafeas.v1.Version affected_version_start = 6;
+
+ // The version number at the end of an interval in which this vulnerability
+ // exists. A vulnerability can affect a package between version numbers
+ // that are disjoint sets of intervals (example: [1.0.0-1.1.0],
+ // [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its
+ // own Detail. If a specific affected version is provided by a vulnerability
+ // database, affected_version_start and affected_version_end will be the
+ // same in that Detail.
+ grafeas.v1.Version affected_version_end = 7;
+
+ // The distro recommended [CPE URI](https://cpe.mitre.org/specification/)
+ // to update to that contains a fix for this vulnerability. It is possible
+ // for this to be different from the affected_cpe_uri.
+ string fixed_cpe_uri = 8;
+
+ // The distro recommended package to update to that contains a fix for this
+ // vulnerability. It is possible for this to be different from the
+ // affected_package.
+ string fixed_package = 9;
+
+ // The distro recommended version to update to that contains a
+ // fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no
+ // such version is yet available.
+ grafeas.v1.Version fixed_version = 10;
+
+ // Whether this detail is obsolete. Occurrences are expected not to point to
+ // obsolete details.
+ bool is_obsolete = 11;
+
+ // The time this information was last changed at the source. This is an
+ // upstream timestamp from the underlying information source - e.g. Ubuntu
+ // security tracker.
+ google.protobuf.Timestamp source_update_time = 12;
+
+ // The source from which the information in this Detail was obtained.
+ string source = 13;
+
+ // The name of the vendor of the product.
+ string vendor = 14;
+ }
+
+ // The full description of the CVSSv3 for this vulnerability.
+ CVSSv3 cvss_v3 = 4;
+
+ // Windows details get their own format because the information format and
+ // model don't match a normal detail. Specifically Windows updates are done as
+ // patches, thus Windows vulnerabilities really are a missing package, rather
+ // than a package being at an incorrect version.
+ repeated WindowsDetail windows_details = 5;
+
+ message WindowsDetail {
+ // Required. The [CPE URI](https://cpe.mitre.org/specification/) this
+ // vulnerability affects.
+ string cpe_uri = 1;
+
+ // Required. The name of this vulnerability.
+ string name = 2;
+
+ // The description of this vulnerability.
+ string description = 3;
+
+ // Required. The names of the KBs which have hotfixes to mitigate this
+ // vulnerability. Note that there may be multiple hotfixes (and thus
+ // multiple KBs) that mitigate a given vulnerability. Currently any listed
+ // KBs presence is considered a fix.
+ repeated KnowledgeBase fixing_kbs = 4;
+
+ message KnowledgeBase {
+ // The KB name (generally of the form KB[0-9]+ (e.g., KB123456)).
+ string name = 1;
+ // A link to the KB in the [Windows update catalog]
+ // (https://www.catalog.update.microsoft.com/).
+ string url = 2;
+ }
+ }
+
+ // The time this information was last changed at the source. This is an
+ // upstream timestamp from the underlying information source - e.g. Ubuntu
+ // security tracker.
+ google.protobuf.Timestamp source_update_time = 6;
+
+ // CVSS version used to populate cvss_score and severity.
+ grafeas.v1.CVSSVersion cvss_version = 7;
+
+ // Next free ID is 8.
+}
+
+// An occurrence of a severity vulnerability on a resource.
+message VulnerabilityOccurrence {
+ // The type of package; whether native or non native (e.g., ruby gems, node.js
+ // packages, etc.).
+ string type = 1;
+
+ // Output only. The note provider assigned severity of this vulnerability.
+ grafeas.v1.Severity severity = 2;
+
+ // Output only. The CVSS score of this vulnerability. CVSS score is on a
+ // scale of 0 - 10 where 0 indicates low severity and 10 indicates high
+ // severity.
+ float cvss_score = 3;
+
+ // The cvss v3 score for the vulnerability.
+ CVSS cvssv3 = 10;
+
+ // Required. The set of affected locations and their fixes (if available)
+ // within the associated resource.
+ repeated PackageIssue package_issue = 4;
+
+ // A detail for a distro and package this vulnerability occurrence was found
+ // in and its associated fix (if one is available).
+ message PackageIssue {
+ // Required. The [CPE URI](https://cpe.mitre.org/specification/) this
+ // vulnerability was found in.
+ string affected_cpe_uri = 1;
+
+ // Required. The package this vulnerability was found in.
+ string affected_package = 2;
+
+ // Required. The version of the package that is installed on the resource
+ // affected by this vulnerability.
+ grafeas.v1.Version affected_version = 3;
+
+ // The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability
+ // was fixed in. It is possible for this to be different from the
+ // affected_cpe_uri.
+ string fixed_cpe_uri = 4;
+
+ // The package this vulnerability was fixed in. It is possible for this to
+ // be different from the affected_package.
+ string fixed_package = 5;
+
+ // Required. The version of the package this vulnerability was fixed in.
+ // Setting this to VersionKind.MAXIMUM means no fix is yet available.
+ grafeas.v1.Version fixed_version = 6;
+
+ // Output only. Whether a fix is available for this package.
+ bool fix_available = 7;
+
+ // The type of package (e.g. OS, MAVEN, GO).
+ string package_type = 8;
+
+ // The distro or language system assigned severity for this vulnerability
+ // when that is available and note provider assigned severity when it is not
+ // available.
+ grafeas.v1.Severity effective_severity = 9
+ [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The location at which this package was found.
+ repeated FileLocation file_location = 10;
+ }
+
+ // Output only. A one sentence description of this vulnerability.
+ string short_description = 5;
+
+ // Output only. A detailed description of this vulnerability.
+ string long_description = 6;
+
+ // Output only. URLs related to this vulnerability.
+ repeated grafeas.v1.RelatedUrl related_urls = 7;
+
+ // The distro assigned severity for this vulnerability when it is available,
+ // otherwise this is the note provider assigned severity.
+ //
+ // When there are multiple PackageIssues for this vulnerability, they can have
+ // different effective severities because some might be provided by the distro
+ // while others are provided by the language ecosystem for a language pack.
+ // For this reason, it is advised to use the effective severity on the
+ // PackageIssue level. In the case where multiple PackageIssues have differing
+ // effective severities, this field should be the highest severity for any of
+ // the PackageIssues.
+ grafeas.v1.Severity effective_severity = 8;
+
+ // Output only. Whether at least one of the affected packages has a fix
+ // available.
+ bool fix_available = 9;
+
+ // Output only. CVSS version used to populate cvss_score and severity.
+ grafeas.v1.CVSSVersion cvss_version = 11;
+
+ // Next free ID is 12.
+}
diff --git a/packages/google-cloud-binaryauthorization/protos/protos.d.ts b/packages/google-cloud-binaryauthorization/protos/protos.d.ts
new file mode 100644
index 00000000000..359327ac77d
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/protos.d.ts
@@ -0,0 +1,10033 @@
+// 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 binaryauthorization. */
+ namespace binaryauthorization {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of a Policy. */
+ interface IPolicy {
+
+ /** Policy name */
+ name?: (string|null);
+
+ /** Policy description */
+ description?: (string|null);
+
+ /** Policy globalPolicyEvaluationMode */
+ globalPolicyEvaluationMode?: (google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode|keyof typeof google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode|null);
+
+ /** Policy admissionWhitelistPatterns */
+ admissionWhitelistPatterns?: (google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern[]|null);
+
+ /** Policy clusterAdmissionRules */
+ clusterAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule }|null);
+
+ /** Policy kubernetesNamespaceAdmissionRules */
+ kubernetesNamespaceAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule }|null);
+
+ /** Policy kubernetesServiceAccountAdmissionRules */
+ kubernetesServiceAccountAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule }|null);
+
+ /** Policy istioServiceIdentityAdmissionRules */
+ istioServiceIdentityAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule }|null);
+
+ /** Policy defaultAdmissionRule */
+ defaultAdmissionRule?: (google.cloud.binaryauthorization.v1.IAdmissionRule|null);
+
+ /** Policy updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a Policy. */
+ class Policy implements IPolicy {
+
+ /**
+ * Constructs a new Policy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IPolicy);
+
+ /** Policy name. */
+ public name: string;
+
+ /** Policy description. */
+ public description: string;
+
+ /** Policy globalPolicyEvaluationMode. */
+ public globalPolicyEvaluationMode: (google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode|keyof typeof google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode);
+
+ /** Policy admissionWhitelistPatterns. */
+ public admissionWhitelistPatterns: google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern[];
+
+ /** Policy clusterAdmissionRules. */
+ public clusterAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule };
+
+ /** Policy kubernetesNamespaceAdmissionRules. */
+ public kubernetesNamespaceAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule };
+
+ /** Policy kubernetesServiceAccountAdmissionRules. */
+ public kubernetesServiceAccountAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule };
+
+ /** Policy istioServiceIdentityAdmissionRules. */
+ public istioServiceIdentityAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1.IAdmissionRule };
+
+ /** Policy defaultAdmissionRule. */
+ public defaultAdmissionRule?: (google.cloud.binaryauthorization.v1.IAdmissionRule|null);
+
+ /** Policy updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new Policy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Policy instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IPolicy): google.cloud.binaryauthorization.v1.Policy;
+
+ /**
+ * Encodes the specified Policy message. Does not implicitly {@link google.cloud.binaryauthorization.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.binaryauthorization.v1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.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.binaryauthorization.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.binaryauthorization.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.binaryauthorization.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.binaryauthorization.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.binaryauthorization.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 {
+
+ /** GlobalPolicyEvaluationMode enum. */
+ enum GlobalPolicyEvaluationMode {
+ GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED = 0,
+ ENABLE = 1,
+ DISABLE = 2
+ }
+ }
+
+ /** Properties of an AdmissionWhitelistPattern. */
+ interface IAdmissionWhitelistPattern {
+
+ /** AdmissionWhitelistPattern namePattern */
+ namePattern?: (string|null);
+ }
+
+ /** Represents an AdmissionWhitelistPattern. */
+ class AdmissionWhitelistPattern implements IAdmissionWhitelistPattern {
+
+ /**
+ * Constructs a new AdmissionWhitelistPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern);
+
+ /** AdmissionWhitelistPattern namePattern. */
+ public namePattern: string;
+
+ /**
+ * Creates a new AdmissionWhitelistPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AdmissionWhitelistPattern instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern): google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern;
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @param message AdmissionWhitelistPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @param message AdmissionWhitelistPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern;
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern;
+
+ /**
+ * Verifies an AdmissionWhitelistPattern message.
+ * @param message Plain 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 AdmissionWhitelistPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AdmissionWhitelistPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern;
+
+ /**
+ * Creates a plain object from an AdmissionWhitelistPattern message. Also converts values to other types if specified.
+ * @param message AdmissionWhitelistPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AdmissionWhitelistPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AdmissionWhitelistPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AdmissionRule. */
+ interface IAdmissionRule {
+
+ /** AdmissionRule evaluationMode */
+ evaluationMode?: (google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode|keyof typeof google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode|null);
+
+ /** AdmissionRule requireAttestationsBy */
+ requireAttestationsBy?: (string[]|null);
+
+ /** AdmissionRule enforcementMode */
+ enforcementMode?: (google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode|keyof typeof google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode|null);
+ }
+
+ /** Represents an AdmissionRule. */
+ class AdmissionRule implements IAdmissionRule {
+
+ /**
+ * Constructs a new AdmissionRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IAdmissionRule);
+
+ /** AdmissionRule evaluationMode. */
+ public evaluationMode: (google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode|keyof typeof google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode);
+
+ /** AdmissionRule requireAttestationsBy. */
+ public requireAttestationsBy: string[];
+
+ /** AdmissionRule enforcementMode. */
+ public enforcementMode: (google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode|keyof typeof google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode);
+
+ /**
+ * Creates a new AdmissionRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AdmissionRule instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IAdmissionRule): google.cloud.binaryauthorization.v1.AdmissionRule;
+
+ /**
+ * Encodes the specified AdmissionRule message. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionRule.verify|verify} messages.
+ * @param message AdmissionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IAdmissionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AdmissionRule message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionRule.verify|verify} messages.
+ * @param message AdmissionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IAdmissionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.AdmissionRule;
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.AdmissionRule;
+
+ /**
+ * Verifies an AdmissionRule message.
+ * @param message Plain 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 AdmissionRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AdmissionRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.AdmissionRule;
+
+ /**
+ * Creates a plain object from an AdmissionRule message. Also converts values to other types if specified.
+ * @param message AdmissionRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.AdmissionRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AdmissionRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AdmissionRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AdmissionRule {
+
+ /** EvaluationMode enum. */
+ enum EvaluationMode {
+ EVALUATION_MODE_UNSPECIFIED = 0,
+ ALWAYS_ALLOW = 1,
+ REQUIRE_ATTESTATION = 2,
+ ALWAYS_DENY = 3
+ }
+
+ /** EnforcementMode enum. */
+ enum EnforcementMode {
+ ENFORCEMENT_MODE_UNSPECIFIED = 0,
+ ENFORCED_BLOCK_AND_AUDIT_LOG = 1,
+ DRYRUN_AUDIT_LOG_ONLY = 2
+ }
+ }
+
+ /** Properties of an Attestor. */
+ interface IAttestor {
+
+ /** Attestor name */
+ name?: (string|null);
+
+ /** Attestor description */
+ description?: (string|null);
+
+ /** Attestor userOwnedGrafeasNote */
+ userOwnedGrafeasNote?: (google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote|null);
+
+ /** Attestor updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an Attestor. */
+ class Attestor implements IAttestor {
+
+ /**
+ * Constructs a new Attestor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IAttestor);
+
+ /** Attestor name. */
+ public name: string;
+
+ /** Attestor description. */
+ public description: string;
+
+ /** Attestor userOwnedGrafeasNote. */
+ public userOwnedGrafeasNote?: (google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote|null);
+
+ /** Attestor updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Attestor attestorType. */
+ public attestorType?: "userOwnedGrafeasNote";
+
+ /**
+ * Creates a new Attestor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Attestor instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IAttestor): google.cloud.binaryauthorization.v1.Attestor;
+
+ /**
+ * Encodes the specified Attestor message. Does not implicitly {@link google.cloud.binaryauthorization.v1.Attestor.verify|verify} messages.
+ * @param message Attestor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IAttestor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Attestor message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.Attestor.verify|verify} messages.
+ * @param message Attestor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IAttestor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.Attestor;
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.Attestor;
+
+ /**
+ * Verifies an Attestor message.
+ * @param message Plain 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 Attestor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Attestor
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.Attestor;
+
+ /**
+ * Creates a plain object from an Attestor message. Also converts values to other types if specified.
+ * @param message Attestor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.Attestor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Attestor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Attestor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserOwnedGrafeasNote. */
+ interface IUserOwnedGrafeasNote {
+
+ /** UserOwnedGrafeasNote noteReference */
+ noteReference?: (string|null);
+
+ /** UserOwnedGrafeasNote publicKeys */
+ publicKeys?: (google.cloud.binaryauthorization.v1.IAttestorPublicKey[]|null);
+
+ /** UserOwnedGrafeasNote delegationServiceAccountEmail */
+ delegationServiceAccountEmail?: (string|null);
+ }
+
+ /** Represents a UserOwnedGrafeasNote. */
+ class UserOwnedGrafeasNote implements IUserOwnedGrafeasNote {
+
+ /**
+ * Constructs a new UserOwnedGrafeasNote.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote);
+
+ /** UserOwnedGrafeasNote noteReference. */
+ public noteReference: string;
+
+ /** UserOwnedGrafeasNote publicKeys. */
+ public publicKeys: google.cloud.binaryauthorization.v1.IAttestorPublicKey[];
+
+ /** UserOwnedGrafeasNote delegationServiceAccountEmail. */
+ public delegationServiceAccountEmail: string;
+
+ /**
+ * Creates a new UserOwnedGrafeasNote instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserOwnedGrafeasNote instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote): google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote;
+
+ /**
+ * Encodes the specified UserOwnedGrafeasNote message. Does not implicitly {@link google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.verify|verify} messages.
+ * @param message UserOwnedGrafeasNote message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserOwnedGrafeasNote message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.verify|verify} messages.
+ * @param message UserOwnedGrafeasNote message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserOwnedGrafeasNote message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserOwnedGrafeasNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote;
+
+ /**
+ * Decodes a UserOwnedGrafeasNote message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserOwnedGrafeasNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote;
+
+ /**
+ * Verifies a UserOwnedGrafeasNote message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserOwnedGrafeasNote message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserOwnedGrafeasNote
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote;
+
+ /**
+ * Creates a plain object from a UserOwnedGrafeasNote message. Also converts values to other types if specified.
+ * @param message UserOwnedGrafeasNote
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserOwnedGrafeasNote to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserOwnedGrafeasNote
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PkixPublicKey. */
+ interface IPkixPublicKey {
+
+ /** PkixPublicKey publicKeyPem */
+ publicKeyPem?: (string|null);
+
+ /** PkixPublicKey signatureAlgorithm */
+ signatureAlgorithm?: (google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm|keyof typeof google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm|null);
+ }
+
+ /** Represents a PkixPublicKey. */
+ class PkixPublicKey implements IPkixPublicKey {
+
+ /**
+ * Constructs a new PkixPublicKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IPkixPublicKey);
+
+ /** PkixPublicKey publicKeyPem. */
+ public publicKeyPem: string;
+
+ /** PkixPublicKey signatureAlgorithm. */
+ public signatureAlgorithm: (google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm|keyof typeof google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm);
+
+ /**
+ * Creates a new PkixPublicKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PkixPublicKey instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IPkixPublicKey): google.cloud.binaryauthorization.v1.PkixPublicKey;
+
+ /**
+ * Encodes the specified PkixPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1.PkixPublicKey.verify|verify} messages.
+ * @param message PkixPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IPkixPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PkixPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.PkixPublicKey.verify|verify} messages.
+ * @param message PkixPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IPkixPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.PkixPublicKey;
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.PkixPublicKey;
+
+ /**
+ * Verifies a PkixPublicKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PkixPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PkixPublicKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.PkixPublicKey;
+
+ /**
+ * Creates a plain object from a PkixPublicKey message. Also converts values to other types if specified.
+ * @param message PkixPublicKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.PkixPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PkixPublicKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PkixPublicKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PkixPublicKey {
+
+ /** SignatureAlgorithm enum. */
+ enum SignatureAlgorithm {
+ SIGNATURE_ALGORITHM_UNSPECIFIED = 0,
+ RSA_PSS_2048_SHA256 = 1,
+ RSA_PSS_3072_SHA256 = 2,
+ RSA_PSS_4096_SHA256 = 3,
+ RSA_PSS_4096_SHA512 = 4,
+ RSA_SIGN_PKCS1_2048_SHA256 = 5,
+ RSA_SIGN_PKCS1_3072_SHA256 = 6,
+ RSA_SIGN_PKCS1_4096_SHA256 = 7,
+ RSA_SIGN_PKCS1_4096_SHA512 = 8,
+ ECDSA_P256_SHA256 = 9,
+ EC_SIGN_P256_SHA256 = 9,
+ ECDSA_P384_SHA384 = 10,
+ EC_SIGN_P384_SHA384 = 10,
+ ECDSA_P521_SHA512 = 11,
+ EC_SIGN_P521_SHA512 = 11
+ }
+ }
+
+ /** Properties of an AttestorPublicKey. */
+ interface IAttestorPublicKey {
+
+ /** AttestorPublicKey comment */
+ comment?: (string|null);
+
+ /** AttestorPublicKey id */
+ id?: (string|null);
+
+ /** AttestorPublicKey asciiArmoredPgpPublicKey */
+ asciiArmoredPgpPublicKey?: (string|null);
+
+ /** AttestorPublicKey pkixPublicKey */
+ pkixPublicKey?: (google.cloud.binaryauthorization.v1.IPkixPublicKey|null);
+ }
+
+ /** Represents an AttestorPublicKey. */
+ class AttestorPublicKey implements IAttestorPublicKey {
+
+ /**
+ * Constructs a new AttestorPublicKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IAttestorPublicKey);
+
+ /** AttestorPublicKey comment. */
+ public comment: string;
+
+ /** AttestorPublicKey id. */
+ public id: string;
+
+ /** AttestorPublicKey asciiArmoredPgpPublicKey. */
+ public asciiArmoredPgpPublicKey?: (string|null);
+
+ /** AttestorPublicKey pkixPublicKey. */
+ public pkixPublicKey?: (google.cloud.binaryauthorization.v1.IPkixPublicKey|null);
+
+ /** AttestorPublicKey publicKey. */
+ public publicKey?: ("asciiArmoredPgpPublicKey"|"pkixPublicKey");
+
+ /**
+ * Creates a new AttestorPublicKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttestorPublicKey instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IAttestorPublicKey): google.cloud.binaryauthorization.v1.AttestorPublicKey;
+
+ /**
+ * Encodes the specified AttestorPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1.AttestorPublicKey.verify|verify} messages.
+ * @param message AttestorPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IAttestorPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttestorPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.AttestorPublicKey.verify|verify} messages.
+ * @param message AttestorPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IAttestorPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.AttestorPublicKey;
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.AttestorPublicKey;
+
+ /**
+ * Verifies an AttestorPublicKey message.
+ * @param message Plain 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 AttestorPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttestorPublicKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.AttestorPublicKey;
+
+ /**
+ * Creates a plain object from an AttestorPublicKey message. Also converts values to other types if specified.
+ * @param message AttestorPublicKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.AttestorPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttestorPublicKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttestorPublicKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a BinauthzManagementServiceV1 */
+ class BinauthzManagementServiceV1 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new BinauthzManagementServiceV1 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 BinauthzManagementServiceV1 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): BinauthzManagementServiceV1;
+
+ /**
+ * Calls GetPolicy.
+ * @param request GetPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public getPolicy(request: google.cloud.binaryauthorization.v1.IGetPolicyRequest, callback: google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.GetPolicyCallback): void;
+
+ /**
+ * Calls GetPolicy.
+ * @param request GetPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getPolicy(request: google.cloud.binaryauthorization.v1.IGetPolicyRequest): Promise;
+
+ /**
+ * Calls UpdatePolicy.
+ * @param request UpdatePolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public updatePolicy(request: google.cloud.binaryauthorization.v1.IUpdatePolicyRequest, callback: google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.UpdatePolicyCallback): void;
+
+ /**
+ * Calls UpdatePolicy.
+ * @param request UpdatePolicyRequest message or plain object
+ * @returns Promise
+ */
+ public updatePolicy(request: google.cloud.binaryauthorization.v1.IUpdatePolicyRequest): Promise;
+
+ /**
+ * Calls CreateAttestor.
+ * @param request CreateAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Attestor
+ */
+ public createAttestor(request: google.cloud.binaryauthorization.v1.ICreateAttestorRequest, callback: google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.CreateAttestorCallback): void;
+
+ /**
+ * Calls CreateAttestor.
+ * @param request CreateAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public createAttestor(request: google.cloud.binaryauthorization.v1.ICreateAttestorRequest): Promise;
+
+ /**
+ * Calls GetAttestor.
+ * @param request GetAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Attestor
+ */
+ public getAttestor(request: google.cloud.binaryauthorization.v1.IGetAttestorRequest, callback: google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.GetAttestorCallback): void;
+
+ /**
+ * Calls GetAttestor.
+ * @param request GetAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public getAttestor(request: google.cloud.binaryauthorization.v1.IGetAttestorRequest): Promise;
+
+ /**
+ * Calls UpdateAttestor.
+ * @param request UpdateAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Attestor
+ */
+ public updateAttestor(request: google.cloud.binaryauthorization.v1.IUpdateAttestorRequest, callback: google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.UpdateAttestorCallback): void;
+
+ /**
+ * Calls UpdateAttestor.
+ * @param request UpdateAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public updateAttestor(request: google.cloud.binaryauthorization.v1.IUpdateAttestorRequest): Promise;
+
+ /**
+ * Calls ListAttestors.
+ * @param request ListAttestorsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListAttestorsResponse
+ */
+ public listAttestors(request: google.cloud.binaryauthorization.v1.IListAttestorsRequest, callback: google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.ListAttestorsCallback): void;
+
+ /**
+ * Calls ListAttestors.
+ * @param request ListAttestorsRequest message or plain object
+ * @returns Promise
+ */
+ public listAttestors(request: google.cloud.binaryauthorization.v1.IListAttestorsRequest): Promise;
+
+ /**
+ * Calls DeleteAttestor.
+ * @param request DeleteAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteAttestor(request: google.cloud.binaryauthorization.v1.IDeleteAttestorRequest, callback: google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.DeleteAttestorCallback): void;
+
+ /**
+ * Calls DeleteAttestor.
+ * @param request DeleteAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public deleteAttestor(request: google.cloud.binaryauthorization.v1.IDeleteAttestorRequest): Promise;
+ }
+
+ namespace BinauthzManagementServiceV1 {
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|getPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type GetPolicyCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|updatePolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type UpdatePolicyCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|createAttestor}.
+ * @param error Error, if any
+ * @param [response] Attestor
+ */
+ type CreateAttestorCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.Attestor) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|getAttestor}.
+ * @param error Error, if any
+ * @param [response] Attestor
+ */
+ type GetAttestorCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.Attestor) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|updateAttestor}.
+ * @param error Error, if any
+ * @param [response] Attestor
+ */
+ type UpdateAttestorCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.Attestor) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|listAttestors}.
+ * @param error Error, if any
+ * @param [response] ListAttestorsResponse
+ */
+ type ListAttestorsCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.ListAttestorsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|deleteAttestor}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteAttestorCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Represents a SystemPolicyV1 */
+ class SystemPolicyV1 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new SystemPolicyV1 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 SystemPolicyV1 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): SystemPolicyV1;
+
+ /**
+ * Calls GetSystemPolicy.
+ * @param request GetSystemPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public getSystemPolicy(request: google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest, callback: google.cloud.binaryauthorization.v1.SystemPolicyV1.GetSystemPolicyCallback): void;
+
+ /**
+ * Calls GetSystemPolicy.
+ * @param request GetSystemPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getSystemPolicy(request: google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest): Promise;
+ }
+
+ namespace SystemPolicyV1 {
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.SystemPolicyV1|getSystemPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type GetSystemPolicyCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.Policy) => void;
+ }
+
+ /** Represents a ValidationHelperV1 */
+ class ValidationHelperV1 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new ValidationHelperV1 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 ValidationHelperV1 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): ValidationHelperV1;
+
+ /**
+ * Calls ValidateAttestationOccurrence.
+ * @param request ValidateAttestationOccurrenceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ValidateAttestationOccurrenceResponse
+ */
+ public validateAttestationOccurrence(request: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest, callback: google.cloud.binaryauthorization.v1.ValidationHelperV1.ValidateAttestationOccurrenceCallback): void;
+
+ /**
+ * Calls ValidateAttestationOccurrence.
+ * @param request ValidateAttestationOccurrenceRequest message or plain object
+ * @returns Promise
+ */
+ public validateAttestationOccurrence(request: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest): Promise;
+ }
+
+ namespace ValidationHelperV1 {
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.ValidationHelperV1|validateAttestationOccurrence}.
+ * @param error Error, if any
+ * @param [response] ValidateAttestationOccurrenceResponse
+ */
+ type ValidateAttestationOccurrenceCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse) => void;
+ }
+
+ /** Properties of a GetPolicyRequest. */
+ interface IGetPolicyRequest {
+
+ /** GetPolicyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetPolicyRequest. */
+ class GetPolicyRequest implements IGetPolicyRequest {
+
+ /**
+ * Constructs a new GetPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IGetPolicyRequest);
+
+ /** GetPolicyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetPolicyRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IGetPolicyRequest): google.cloud.binaryauthorization.v1.GetPolicyRequest;
+
+ /**
+ * Encodes the specified GetPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetPolicyRequest.verify|verify} messages.
+ * @param message GetPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IGetPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetPolicyRequest.verify|verify} messages.
+ * @param message GetPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IGetPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.GetPolicyRequest;
+
+ /**
+ * Decodes a GetPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.GetPolicyRequest;
+
+ /**
+ * Verifies a GetPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.GetPolicyRequest;
+
+ /**
+ * Creates a plain object from a GetPolicyRequest message. Also converts values to other types if specified.
+ * @param message GetPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.GetPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdatePolicyRequest. */
+ interface IUpdatePolicyRequest {
+
+ /** UpdatePolicyRequest policy */
+ policy?: (google.cloud.binaryauthorization.v1.IPolicy|null);
+ }
+
+ /** Represents an UpdatePolicyRequest. */
+ class UpdatePolicyRequest implements IUpdatePolicyRequest {
+
+ /**
+ * Constructs a new UpdatePolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IUpdatePolicyRequest);
+
+ /** UpdatePolicyRequest policy. */
+ public policy?: (google.cloud.binaryauthorization.v1.IPolicy|null);
+
+ /**
+ * Creates a new UpdatePolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdatePolicyRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IUpdatePolicyRequest): google.cloud.binaryauthorization.v1.UpdatePolicyRequest;
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdatePolicyRequest.verify|verify} messages.
+ * @param message UpdatePolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IUpdatePolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdatePolicyRequest.verify|verify} messages.
+ * @param message UpdatePolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IUpdatePolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.UpdatePolicyRequest;
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.UpdatePolicyRequest;
+
+ /**
+ * Verifies an UpdatePolicyRequest message.
+ * @param message Plain 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 UpdatePolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdatePolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.UpdatePolicyRequest;
+
+ /**
+ * Creates a plain object from an UpdatePolicyRequest message. Also converts values to other types if specified.
+ * @param message UpdatePolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.UpdatePolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdatePolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdatePolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateAttestorRequest. */
+ interface ICreateAttestorRequest {
+
+ /** CreateAttestorRequest parent */
+ parent?: (string|null);
+
+ /** CreateAttestorRequest attestorId */
+ attestorId?: (string|null);
+
+ /** CreateAttestorRequest attestor */
+ attestor?: (google.cloud.binaryauthorization.v1.IAttestor|null);
+ }
+
+ /** Represents a CreateAttestorRequest. */
+ class CreateAttestorRequest implements ICreateAttestorRequest {
+
+ /**
+ * Constructs a new CreateAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.ICreateAttestorRequest);
+
+ /** CreateAttestorRequest parent. */
+ public parent: string;
+
+ /** CreateAttestorRequest attestorId. */
+ public attestorId: string;
+
+ /** CreateAttestorRequest attestor. */
+ public attestor?: (google.cloud.binaryauthorization.v1.IAttestor|null);
+
+ /**
+ * Creates a new CreateAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.ICreateAttestorRequest): google.cloud.binaryauthorization.v1.CreateAttestorRequest;
+
+ /**
+ * Encodes the specified CreateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.CreateAttestorRequest.verify|verify} messages.
+ * @param message CreateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.ICreateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.CreateAttestorRequest.verify|verify} messages.
+ * @param message CreateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.ICreateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.CreateAttestorRequest;
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.CreateAttestorRequest;
+
+ /**
+ * Verifies a CreateAttestorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.CreateAttestorRequest;
+
+ /**
+ * Creates a plain object from a CreateAttestorRequest message. Also converts values to other types if specified.
+ * @param message CreateAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.CreateAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAttestorRequest. */
+ interface IGetAttestorRequest {
+
+ /** GetAttestorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAttestorRequest. */
+ class GetAttestorRequest implements IGetAttestorRequest {
+
+ /**
+ * Constructs a new GetAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IGetAttestorRequest);
+
+ /** GetAttestorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IGetAttestorRequest): google.cloud.binaryauthorization.v1.GetAttestorRequest;
+
+ /**
+ * Encodes the specified GetAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetAttestorRequest.verify|verify} messages.
+ * @param message GetAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IGetAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetAttestorRequest.verify|verify} messages.
+ * @param message GetAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IGetAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.GetAttestorRequest;
+
+ /**
+ * Decodes a GetAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.GetAttestorRequest;
+
+ /**
+ * Verifies a GetAttestorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.GetAttestorRequest;
+
+ /**
+ * Creates a plain object from a GetAttestorRequest message. Also converts values to other types if specified.
+ * @param message GetAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.GetAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateAttestorRequest. */
+ interface IUpdateAttestorRequest {
+
+ /** UpdateAttestorRequest attestor */
+ attestor?: (google.cloud.binaryauthorization.v1.IAttestor|null);
+ }
+
+ /** Represents an UpdateAttestorRequest. */
+ class UpdateAttestorRequest implements IUpdateAttestorRequest {
+
+ /**
+ * Constructs a new UpdateAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IUpdateAttestorRequest);
+
+ /** UpdateAttestorRequest attestor. */
+ public attestor?: (google.cloud.binaryauthorization.v1.IAttestor|null);
+
+ /**
+ * Creates a new UpdateAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IUpdateAttestorRequest): google.cloud.binaryauthorization.v1.UpdateAttestorRequest;
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdateAttestorRequest.verify|verify} messages.
+ * @param message UpdateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IUpdateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdateAttestorRequest.verify|verify} messages.
+ * @param message UpdateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IUpdateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.UpdateAttestorRequest;
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.UpdateAttestorRequest;
+
+ /**
+ * Verifies an UpdateAttestorRequest message.
+ * @param message Plain 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 UpdateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.UpdateAttestorRequest;
+
+ /**
+ * Creates a plain object from an UpdateAttestorRequest message. Also converts values to other types if specified.
+ * @param message UpdateAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.UpdateAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAttestorsRequest. */
+ interface IListAttestorsRequest {
+
+ /** ListAttestorsRequest parent */
+ parent?: (string|null);
+
+ /** ListAttestorsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListAttestorsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListAttestorsRequest. */
+ class ListAttestorsRequest implements IListAttestorsRequest {
+
+ /**
+ * Constructs a new ListAttestorsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IListAttestorsRequest);
+
+ /** ListAttestorsRequest parent. */
+ public parent: string;
+
+ /** ListAttestorsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListAttestorsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListAttestorsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAttestorsRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IListAttestorsRequest): google.cloud.binaryauthorization.v1.ListAttestorsRequest;
+
+ /**
+ * Encodes the specified ListAttestorsRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsRequest.verify|verify} messages.
+ * @param message ListAttestorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IListAttestorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAttestorsRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsRequest.verify|verify} messages.
+ * @param message ListAttestorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IListAttestorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.ListAttestorsRequest;
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.ListAttestorsRequest;
+
+ /**
+ * Verifies a ListAttestorsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAttestorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAttestorsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.ListAttestorsRequest;
+
+ /**
+ * Creates a plain object from a ListAttestorsRequest message. Also converts values to other types if specified.
+ * @param message ListAttestorsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.ListAttestorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAttestorsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAttestorsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAttestorsResponse. */
+ interface IListAttestorsResponse {
+
+ /** ListAttestorsResponse attestors */
+ attestors?: (google.cloud.binaryauthorization.v1.IAttestor[]|null);
+
+ /** ListAttestorsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListAttestorsResponse. */
+ class ListAttestorsResponse implements IListAttestorsResponse {
+
+ /**
+ * Constructs a new ListAttestorsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IListAttestorsResponse);
+
+ /** ListAttestorsResponse attestors. */
+ public attestors: google.cloud.binaryauthorization.v1.IAttestor[];
+
+ /** ListAttestorsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListAttestorsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAttestorsResponse instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IListAttestorsResponse): google.cloud.binaryauthorization.v1.ListAttestorsResponse;
+
+ /**
+ * Encodes the specified ListAttestorsResponse message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsResponse.verify|verify} messages.
+ * @param message ListAttestorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IListAttestorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAttestorsResponse message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsResponse.verify|verify} messages.
+ * @param message ListAttestorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IListAttestorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.ListAttestorsResponse;
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.ListAttestorsResponse;
+
+ /**
+ * Verifies a ListAttestorsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAttestorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAttestorsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.ListAttestorsResponse;
+
+ /**
+ * Creates a plain object from a ListAttestorsResponse message. Also converts values to other types if specified.
+ * @param message ListAttestorsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.ListAttestorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAttestorsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAttestorsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteAttestorRequest. */
+ interface IDeleteAttestorRequest {
+
+ /** DeleteAttestorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteAttestorRequest. */
+ class DeleteAttestorRequest implements IDeleteAttestorRequest {
+
+ /**
+ * Constructs a new DeleteAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IDeleteAttestorRequest);
+
+ /** DeleteAttestorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IDeleteAttestorRequest): google.cloud.binaryauthorization.v1.DeleteAttestorRequest;
+
+ /**
+ * Encodes the specified DeleteAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.DeleteAttestorRequest.verify|verify} messages.
+ * @param message DeleteAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IDeleteAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.DeleteAttestorRequest.verify|verify} messages.
+ * @param message DeleteAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IDeleteAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.DeleteAttestorRequest;
+
+ /**
+ * Decodes a DeleteAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.DeleteAttestorRequest;
+
+ /**
+ * Verifies a DeleteAttestorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.DeleteAttestorRequest;
+
+ /**
+ * Creates a plain object from a DeleteAttestorRequest message. Also converts values to other types if specified.
+ * @param message DeleteAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.DeleteAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSystemPolicyRequest. */
+ interface IGetSystemPolicyRequest {
+
+ /** GetSystemPolicyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetSystemPolicyRequest. */
+ class GetSystemPolicyRequest implements IGetSystemPolicyRequest {
+
+ /**
+ * Constructs a new GetSystemPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest);
+
+ /** GetSystemPolicyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetSystemPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSystemPolicyRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest): google.cloud.binaryauthorization.v1.GetSystemPolicyRequest;
+
+ /**
+ * Encodes the specified GetSystemPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetSystemPolicyRequest.verify|verify} messages.
+ * @param message GetSystemPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSystemPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetSystemPolicyRequest.verify|verify} messages.
+ * @param message GetSystemPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSystemPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.GetSystemPolicyRequest;
+
+ /**
+ * Decodes a GetSystemPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.GetSystemPolicyRequest;
+
+ /**
+ * Verifies a GetSystemPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetSystemPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSystemPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.GetSystemPolicyRequest;
+
+ /**
+ * Creates a plain object from a GetSystemPolicyRequest message. Also converts values to other types if specified.
+ * @param message GetSystemPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.GetSystemPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSystemPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSystemPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ValidateAttestationOccurrenceRequest. */
+ interface IValidateAttestationOccurrenceRequest {
+
+ /** ValidateAttestationOccurrenceRequest attestor */
+ attestor?: (string|null);
+
+ /** ValidateAttestationOccurrenceRequest attestation */
+ attestation?: (grafeas.v1.IAttestationOccurrence|null);
+
+ /** ValidateAttestationOccurrenceRequest occurrenceNote */
+ occurrenceNote?: (string|null);
+
+ /** ValidateAttestationOccurrenceRequest occurrenceResourceUri */
+ occurrenceResourceUri?: (string|null);
+ }
+
+ /** Represents a ValidateAttestationOccurrenceRequest. */
+ class ValidateAttestationOccurrenceRequest implements IValidateAttestationOccurrenceRequest {
+
+ /**
+ * Constructs a new ValidateAttestationOccurrenceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest);
+
+ /** ValidateAttestationOccurrenceRequest attestor. */
+ public attestor: string;
+
+ /** ValidateAttestationOccurrenceRequest attestation. */
+ public attestation?: (grafeas.v1.IAttestationOccurrence|null);
+
+ /** ValidateAttestationOccurrenceRequest occurrenceNote. */
+ public occurrenceNote: string;
+
+ /** ValidateAttestationOccurrenceRequest occurrenceResourceUri. */
+ public occurrenceResourceUri: string;
+
+ /**
+ * Creates a new ValidateAttestationOccurrenceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValidateAttestationOccurrenceRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest;
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest.verify|verify} messages.
+ * @param message ValidateAttestationOccurrenceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest.verify|verify} messages.
+ * @param message ValidateAttestationOccurrenceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValidateAttestationOccurrenceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest;
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValidateAttestationOccurrenceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest;
+
+ /**
+ * Verifies a ValidateAttestationOccurrenceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValidateAttestationOccurrenceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValidateAttestationOccurrenceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest;
+
+ /**
+ * Creates a plain object from a ValidateAttestationOccurrenceRequest message. Also converts values to other types if specified.
+ * @param message ValidateAttestationOccurrenceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValidateAttestationOccurrenceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ValidateAttestationOccurrenceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ValidateAttestationOccurrenceResponse. */
+ interface IValidateAttestationOccurrenceResponse {
+
+ /** ValidateAttestationOccurrenceResponse result */
+ result?: (google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result|keyof typeof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result|null);
+
+ /** ValidateAttestationOccurrenceResponse denialReason */
+ denialReason?: (string|null);
+ }
+
+ /** Represents a ValidateAttestationOccurrenceResponse. */
+ class ValidateAttestationOccurrenceResponse implements IValidateAttestationOccurrenceResponse {
+
+ /**
+ * Constructs a new ValidateAttestationOccurrenceResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse);
+
+ /** ValidateAttestationOccurrenceResponse result. */
+ public result: (google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result|keyof typeof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result);
+
+ /** ValidateAttestationOccurrenceResponse denialReason. */
+ public denialReason: string;
+
+ /**
+ * Creates a new ValidateAttestationOccurrenceResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValidateAttestationOccurrenceResponse instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse;
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceResponse message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.verify|verify} messages.
+ * @param message ValidateAttestationOccurrenceResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceResponse message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.verify|verify} messages.
+ * @param message ValidateAttestationOccurrenceResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValidateAttestationOccurrenceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse;
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValidateAttestationOccurrenceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse;
+
+ /**
+ * Verifies a ValidateAttestationOccurrenceResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValidateAttestationOccurrenceResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValidateAttestationOccurrenceResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse;
+
+ /**
+ * Creates a plain object from a ValidateAttestationOccurrenceResponse message. Also converts values to other types if specified.
+ * @param message ValidateAttestationOccurrenceResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValidateAttestationOccurrenceResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ValidateAttestationOccurrenceResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ValidateAttestationOccurrenceResponse {
+
+ /** Result enum. */
+ enum Result {
+ RESULT_UNSPECIFIED = 0,
+ VERIFIED = 1,
+ ATTESTATION_NOT_VERIFIABLE = 2
+ }
+ }
+ }
+
+ /** Namespace v1beta1. */
+ namespace v1beta1 {
+
+ /** Properties of a ContinuousValidationEvent. */
+ interface IContinuousValidationEvent {
+
+ /** ContinuousValidationEvent podEvent */
+ podEvent?: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent|null);
+
+ /** ContinuousValidationEvent unsupportedPolicyEvent */
+ unsupportedPolicyEvent?: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent|null);
+ }
+
+ /** Represents a ContinuousValidationEvent. */
+ class ContinuousValidationEvent implements IContinuousValidationEvent {
+
+ /**
+ * Constructs a new ContinuousValidationEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent);
+
+ /** ContinuousValidationEvent podEvent. */
+ public podEvent?: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent|null);
+
+ /** ContinuousValidationEvent unsupportedPolicyEvent. */
+ public unsupportedPolicyEvent?: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent|null);
+
+ /** ContinuousValidationEvent eventType. */
+ public eventType?: ("podEvent"|"unsupportedPolicyEvent");
+
+ /**
+ * Creates a new ContinuousValidationEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContinuousValidationEvent instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent;
+
+ /**
+ * Encodes the specified ContinuousValidationEvent message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.verify|verify} messages.
+ * @param message ContinuousValidationEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContinuousValidationEvent message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.verify|verify} messages.
+ * @param message ContinuousValidationEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContinuousValidationEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContinuousValidationEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent;
+
+ /**
+ * Decodes a ContinuousValidationEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContinuousValidationEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent;
+
+ /**
+ * Verifies a ContinuousValidationEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContinuousValidationEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContinuousValidationEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent;
+
+ /**
+ * Creates a plain object from a ContinuousValidationEvent message. Also converts values to other types if specified.
+ * @param message ContinuousValidationEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContinuousValidationEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContinuousValidationEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ContinuousValidationEvent {
+
+ /** Properties of a ContinuousValidationPodEvent. */
+ interface IContinuousValidationPodEvent {
+
+ /** ContinuousValidationPodEvent podNamespace */
+ podNamespace?: (string|null);
+
+ /** ContinuousValidationPodEvent pod */
+ pod?: (string|null);
+
+ /** ContinuousValidationPodEvent deployTime */
+ deployTime?: (google.protobuf.ITimestamp|null);
+
+ /** ContinuousValidationPodEvent endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** ContinuousValidationPodEvent verdict */
+ verdict?: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict|keyof typeof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict|null);
+
+ /** ContinuousValidationPodEvent images */
+ images?: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails[]|null);
+ }
+
+ /** Represents a ContinuousValidationPodEvent. */
+ class ContinuousValidationPodEvent implements IContinuousValidationPodEvent {
+
+ /**
+ * Constructs a new ContinuousValidationPodEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent);
+
+ /** ContinuousValidationPodEvent podNamespace. */
+ public podNamespace: string;
+
+ /** ContinuousValidationPodEvent pod. */
+ public pod: string;
+
+ /** ContinuousValidationPodEvent deployTime. */
+ public deployTime?: (google.protobuf.ITimestamp|null);
+
+ /** ContinuousValidationPodEvent endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** ContinuousValidationPodEvent verdict. */
+ public verdict: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict|keyof typeof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict);
+
+ /** ContinuousValidationPodEvent images. */
+ public images: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails[];
+
+ /**
+ * Creates a new ContinuousValidationPodEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContinuousValidationPodEvent instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent;
+
+ /**
+ * Encodes the specified ContinuousValidationPodEvent message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.verify|verify} messages.
+ * @param message ContinuousValidationPodEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContinuousValidationPodEvent message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.verify|verify} messages.
+ * @param message ContinuousValidationPodEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContinuousValidationPodEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContinuousValidationPodEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent;
+
+ /**
+ * Decodes a ContinuousValidationPodEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContinuousValidationPodEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent;
+
+ /**
+ * Verifies a ContinuousValidationPodEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContinuousValidationPodEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContinuousValidationPodEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent;
+
+ /**
+ * Creates a plain object from a ContinuousValidationPodEvent message. Also converts values to other types if specified.
+ * @param message ContinuousValidationPodEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContinuousValidationPodEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContinuousValidationPodEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ContinuousValidationPodEvent {
+
+ /** PolicyConformanceVerdict enum. */
+ enum PolicyConformanceVerdict {
+ POLICY_CONFORMANCE_VERDICT_UNSPECIFIED = 0,
+ VIOLATES_POLICY = 1
+ }
+
+ /** Properties of an ImageDetails. */
+ interface IImageDetails {
+
+ /** ImageDetails image */
+ image?: (string|null);
+
+ /** ImageDetails result */
+ result?: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult|keyof typeof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult|null);
+
+ /** ImageDetails description */
+ description?: (string|null);
+ }
+
+ /** Represents an ImageDetails. */
+ class ImageDetails implements IImageDetails {
+
+ /**
+ * Constructs a new ImageDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails);
+
+ /** ImageDetails image. */
+ public image: string;
+
+ /** ImageDetails result. */
+ public result: (google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult|keyof typeof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult);
+
+ /** ImageDetails description. */
+ public description: string;
+
+ /**
+ * Creates a new ImageDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImageDetails instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails;
+
+ /**
+ * Encodes the specified ImageDetails message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.verify|verify} messages.
+ * @param message ImageDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImageDetails message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.verify|verify} messages.
+ * @param message ImageDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImageDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImageDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails;
+
+ /**
+ * Decodes an ImageDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImageDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails;
+
+ /**
+ * Verifies an ImageDetails message.
+ * @param message Plain 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 ImageDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImageDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails;
+
+ /**
+ * Creates a plain object from an ImageDetails message. Also converts values to other types if specified.
+ * @param message ImageDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImageDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImageDetails
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ImageDetails {
+
+ /** AuditResult enum. */
+ enum AuditResult {
+ AUDIT_RESULT_UNSPECIFIED = 0,
+ ALLOW = 1,
+ DENY = 2
+ }
+ }
+ }
+
+ /** Properties of an UnsupportedPolicyEvent. */
+ interface IUnsupportedPolicyEvent {
+
+ /** UnsupportedPolicyEvent description */
+ description?: (string|null);
+ }
+
+ /** Represents an UnsupportedPolicyEvent. */
+ class UnsupportedPolicyEvent implements IUnsupportedPolicyEvent {
+
+ /**
+ * Constructs a new UnsupportedPolicyEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent);
+
+ /** UnsupportedPolicyEvent description. */
+ public description: string;
+
+ /**
+ * Creates a new UnsupportedPolicyEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UnsupportedPolicyEvent instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent;
+
+ /**
+ * Encodes the specified UnsupportedPolicyEvent message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.verify|verify} messages.
+ * @param message UnsupportedPolicyEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UnsupportedPolicyEvent message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.verify|verify} messages.
+ * @param message UnsupportedPolicyEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UnsupportedPolicyEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UnsupportedPolicyEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent;
+
+ /**
+ * Decodes an UnsupportedPolicyEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UnsupportedPolicyEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent;
+
+ /**
+ * Verifies an UnsupportedPolicyEvent message.
+ * @param message Plain 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 UnsupportedPolicyEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UnsupportedPolicyEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent;
+
+ /**
+ * Creates a plain object from an UnsupportedPolicyEvent message. Also converts values to other types if specified.
+ * @param message UnsupportedPolicyEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UnsupportedPolicyEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UnsupportedPolicyEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Policy. */
+ interface IPolicy {
+
+ /** Policy name */
+ name?: (string|null);
+
+ /** Policy description */
+ description?: (string|null);
+
+ /** Policy globalPolicyEvaluationMode */
+ globalPolicyEvaluationMode?: (google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode|keyof typeof google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode|null);
+
+ /** Policy admissionWhitelistPatterns */
+ admissionWhitelistPatterns?: (google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern[]|null);
+
+ /** Policy clusterAdmissionRules */
+ clusterAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule }|null);
+
+ /** Policy kubernetesNamespaceAdmissionRules */
+ kubernetesNamespaceAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule }|null);
+
+ /** Policy kubernetesServiceAccountAdmissionRules */
+ kubernetesServiceAccountAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule }|null);
+
+ /** Policy istioServiceIdentityAdmissionRules */
+ istioServiceIdentityAdmissionRules?: ({ [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule }|null);
+
+ /** Policy defaultAdmissionRule */
+ defaultAdmissionRule?: (google.cloud.binaryauthorization.v1beta1.IAdmissionRule|null);
+
+ /** Policy updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a Policy. */
+ class Policy implements IPolicy {
+
+ /**
+ * Constructs a new Policy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IPolicy);
+
+ /** Policy name. */
+ public name: string;
+
+ /** Policy description. */
+ public description: string;
+
+ /** Policy globalPolicyEvaluationMode. */
+ public globalPolicyEvaluationMode: (google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode|keyof typeof google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode);
+
+ /** Policy admissionWhitelistPatterns. */
+ public admissionWhitelistPatterns: google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern[];
+
+ /** Policy clusterAdmissionRules. */
+ public clusterAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule };
+
+ /** Policy kubernetesNamespaceAdmissionRules. */
+ public kubernetesNamespaceAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule };
+
+ /** Policy kubernetesServiceAccountAdmissionRules. */
+ public kubernetesServiceAccountAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule };
+
+ /** Policy istioServiceIdentityAdmissionRules. */
+ public istioServiceIdentityAdmissionRules: { [k: string]: google.cloud.binaryauthorization.v1beta1.IAdmissionRule };
+
+ /** Policy defaultAdmissionRule. */
+ public defaultAdmissionRule?: (google.cloud.binaryauthorization.v1beta1.IAdmissionRule|null);
+
+ /** Policy updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new Policy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Policy instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IPolicy): google.cloud.binaryauthorization.v1beta1.Policy;
+
+ /**
+ * Encodes the specified Policy message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.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.binaryauthorization.v1beta1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.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.binaryauthorization.v1beta1.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.binaryauthorization.v1beta1.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.binaryauthorization.v1beta1.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.binaryauthorization.v1beta1.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.binaryauthorization.v1beta1.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 {
+
+ /** GlobalPolicyEvaluationMode enum. */
+ enum GlobalPolicyEvaluationMode {
+ GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED = 0,
+ ENABLE = 1,
+ DISABLE = 2
+ }
+ }
+
+ /** Properties of an AdmissionWhitelistPattern. */
+ interface IAdmissionWhitelistPattern {
+
+ /** AdmissionWhitelistPattern namePattern */
+ namePattern?: (string|null);
+ }
+
+ /** Represents an AdmissionWhitelistPattern. */
+ class AdmissionWhitelistPattern implements IAdmissionWhitelistPattern {
+
+ /**
+ * Constructs a new AdmissionWhitelistPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern);
+
+ /** AdmissionWhitelistPattern namePattern. */
+ public namePattern: string;
+
+ /**
+ * Creates a new AdmissionWhitelistPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AdmissionWhitelistPattern instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern): google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern;
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @param message AdmissionWhitelistPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @param message AdmissionWhitelistPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern;
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern;
+
+ /**
+ * Verifies an AdmissionWhitelistPattern message.
+ * @param message Plain 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 AdmissionWhitelistPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AdmissionWhitelistPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern;
+
+ /**
+ * Creates a plain object from an AdmissionWhitelistPattern message. Also converts values to other types if specified.
+ * @param message AdmissionWhitelistPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AdmissionWhitelistPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AdmissionWhitelistPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AdmissionRule. */
+ interface IAdmissionRule {
+
+ /** AdmissionRule evaluationMode */
+ evaluationMode?: (google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode|keyof typeof google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode|null);
+
+ /** AdmissionRule requireAttestationsBy */
+ requireAttestationsBy?: (string[]|null);
+
+ /** AdmissionRule enforcementMode */
+ enforcementMode?: (google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode|keyof typeof google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode|null);
+ }
+
+ /** Represents an AdmissionRule. */
+ class AdmissionRule implements IAdmissionRule {
+
+ /**
+ * Constructs a new AdmissionRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IAdmissionRule);
+
+ /** AdmissionRule evaluationMode. */
+ public evaluationMode: (google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode|keyof typeof google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode);
+
+ /** AdmissionRule requireAttestationsBy. */
+ public requireAttestationsBy: string[];
+
+ /** AdmissionRule enforcementMode. */
+ public enforcementMode: (google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode|keyof typeof google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode);
+
+ /**
+ * Creates a new AdmissionRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AdmissionRule instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IAdmissionRule): google.cloud.binaryauthorization.v1beta1.AdmissionRule;
+
+ /**
+ * Encodes the specified AdmissionRule message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify|verify} messages.
+ * @param message AdmissionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IAdmissionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AdmissionRule message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify|verify} messages.
+ * @param message AdmissionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IAdmissionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.AdmissionRule;
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.AdmissionRule;
+
+ /**
+ * Verifies an AdmissionRule message.
+ * @param message Plain 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 AdmissionRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AdmissionRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.AdmissionRule;
+
+ /**
+ * Creates a plain object from an AdmissionRule message. Also converts values to other types if specified.
+ * @param message AdmissionRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.AdmissionRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AdmissionRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AdmissionRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AdmissionRule {
+
+ /** EvaluationMode enum. */
+ enum EvaluationMode {
+ EVALUATION_MODE_UNSPECIFIED = 0,
+ ALWAYS_ALLOW = 1,
+ REQUIRE_ATTESTATION = 2,
+ ALWAYS_DENY = 3
+ }
+
+ /** EnforcementMode enum. */
+ enum EnforcementMode {
+ ENFORCEMENT_MODE_UNSPECIFIED = 0,
+ ENFORCED_BLOCK_AND_AUDIT_LOG = 1,
+ DRYRUN_AUDIT_LOG_ONLY = 2
+ }
+ }
+
+ /** Properties of an Attestor. */
+ interface IAttestor {
+
+ /** Attestor name */
+ name?: (string|null);
+
+ /** Attestor description */
+ description?: (string|null);
+
+ /** Attestor userOwnedDrydockNote */
+ userOwnedDrydockNote?: (google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote|null);
+
+ /** Attestor updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an Attestor. */
+ class Attestor implements IAttestor {
+
+ /**
+ * Constructs a new Attestor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IAttestor);
+
+ /** Attestor name. */
+ public name: string;
+
+ /** Attestor description. */
+ public description: string;
+
+ /** Attestor userOwnedDrydockNote. */
+ public userOwnedDrydockNote?: (google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote|null);
+
+ /** Attestor updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Attestor attestorType. */
+ public attestorType?: "userOwnedDrydockNote";
+
+ /**
+ * Creates a new Attestor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Attestor instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IAttestor): google.cloud.binaryauthorization.v1beta1.Attestor;
+
+ /**
+ * Encodes the specified Attestor message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.Attestor.verify|verify} messages.
+ * @param message Attestor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IAttestor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Attestor message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.Attestor.verify|verify} messages.
+ * @param message Attestor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IAttestor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.Attestor;
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.Attestor;
+
+ /**
+ * Verifies an Attestor message.
+ * @param message Plain 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 Attestor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Attestor
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.Attestor;
+
+ /**
+ * Creates a plain object from an Attestor message. Also converts values to other types if specified.
+ * @param message Attestor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.Attestor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Attestor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Attestor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UserOwnedDrydockNote. */
+ interface IUserOwnedDrydockNote {
+
+ /** UserOwnedDrydockNote noteReference */
+ noteReference?: (string|null);
+
+ /** UserOwnedDrydockNote publicKeys */
+ publicKeys?: (google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey[]|null);
+
+ /** UserOwnedDrydockNote delegationServiceAccountEmail */
+ delegationServiceAccountEmail?: (string|null);
+ }
+
+ /** Represents a UserOwnedDrydockNote. */
+ class UserOwnedDrydockNote implements IUserOwnedDrydockNote {
+
+ /**
+ * Constructs a new UserOwnedDrydockNote.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote);
+
+ /** UserOwnedDrydockNote noteReference. */
+ public noteReference: string;
+
+ /** UserOwnedDrydockNote publicKeys. */
+ public publicKeys: google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey[];
+
+ /** UserOwnedDrydockNote delegationServiceAccountEmail. */
+ public delegationServiceAccountEmail: string;
+
+ /**
+ * Creates a new UserOwnedDrydockNote instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UserOwnedDrydockNote instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote): google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote;
+
+ /**
+ * Encodes the specified UserOwnedDrydockNote message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.verify|verify} messages.
+ * @param message UserOwnedDrydockNote message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UserOwnedDrydockNote message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.verify|verify} messages.
+ * @param message UserOwnedDrydockNote message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UserOwnedDrydockNote message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UserOwnedDrydockNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote;
+
+ /**
+ * Decodes a UserOwnedDrydockNote message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UserOwnedDrydockNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote;
+
+ /**
+ * Verifies a UserOwnedDrydockNote message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UserOwnedDrydockNote message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UserOwnedDrydockNote
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote;
+
+ /**
+ * Creates a plain object from a UserOwnedDrydockNote message. Also converts values to other types if specified.
+ * @param message UserOwnedDrydockNote
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UserOwnedDrydockNote to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UserOwnedDrydockNote
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PkixPublicKey. */
+ interface IPkixPublicKey {
+
+ /** PkixPublicKey publicKeyPem */
+ publicKeyPem?: (string|null);
+
+ /** PkixPublicKey signatureAlgorithm */
+ signatureAlgorithm?: (google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm|keyof typeof google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm|null);
+ }
+
+ /** Represents a PkixPublicKey. */
+ class PkixPublicKey implements IPkixPublicKey {
+
+ /**
+ * Constructs a new PkixPublicKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IPkixPublicKey);
+
+ /** PkixPublicKey publicKeyPem. */
+ public publicKeyPem: string;
+
+ /** PkixPublicKey signatureAlgorithm. */
+ public signatureAlgorithm: (google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm|keyof typeof google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm);
+
+ /**
+ * Creates a new PkixPublicKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PkixPublicKey instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IPkixPublicKey): google.cloud.binaryauthorization.v1beta1.PkixPublicKey;
+
+ /**
+ * Encodes the specified PkixPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.PkixPublicKey.verify|verify} messages.
+ * @param message PkixPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IPkixPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PkixPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.PkixPublicKey.verify|verify} messages.
+ * @param message PkixPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IPkixPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.PkixPublicKey;
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.PkixPublicKey;
+
+ /**
+ * Verifies a PkixPublicKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PkixPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PkixPublicKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.PkixPublicKey;
+
+ /**
+ * Creates a plain object from a PkixPublicKey message. Also converts values to other types if specified.
+ * @param message PkixPublicKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.PkixPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PkixPublicKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PkixPublicKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PkixPublicKey {
+
+ /** SignatureAlgorithm enum. */
+ enum SignatureAlgorithm {
+ SIGNATURE_ALGORITHM_UNSPECIFIED = 0,
+ RSA_PSS_2048_SHA256 = 1,
+ RSA_PSS_3072_SHA256 = 2,
+ RSA_PSS_4096_SHA256 = 3,
+ RSA_PSS_4096_SHA512 = 4,
+ RSA_SIGN_PKCS1_2048_SHA256 = 5,
+ RSA_SIGN_PKCS1_3072_SHA256 = 6,
+ RSA_SIGN_PKCS1_4096_SHA256 = 7,
+ RSA_SIGN_PKCS1_4096_SHA512 = 8,
+ ECDSA_P256_SHA256 = 9,
+ EC_SIGN_P256_SHA256 = 9,
+ ECDSA_P384_SHA384 = 10,
+ EC_SIGN_P384_SHA384 = 10,
+ ECDSA_P521_SHA512 = 11,
+ EC_SIGN_P521_SHA512 = 11
+ }
+ }
+
+ /** Properties of an AttestorPublicKey. */
+ interface IAttestorPublicKey {
+
+ /** AttestorPublicKey comment */
+ comment?: (string|null);
+
+ /** AttestorPublicKey id */
+ id?: (string|null);
+
+ /** AttestorPublicKey asciiArmoredPgpPublicKey */
+ asciiArmoredPgpPublicKey?: (string|null);
+
+ /** AttestorPublicKey pkixPublicKey */
+ pkixPublicKey?: (google.cloud.binaryauthorization.v1beta1.IPkixPublicKey|null);
+ }
+
+ /** Represents an AttestorPublicKey. */
+ class AttestorPublicKey implements IAttestorPublicKey {
+
+ /**
+ * Constructs a new AttestorPublicKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey);
+
+ /** AttestorPublicKey comment. */
+ public comment: string;
+
+ /** AttestorPublicKey id. */
+ public id: string;
+
+ /** AttestorPublicKey asciiArmoredPgpPublicKey. */
+ public asciiArmoredPgpPublicKey?: (string|null);
+
+ /** AttestorPublicKey pkixPublicKey. */
+ public pkixPublicKey?: (google.cloud.binaryauthorization.v1beta1.IPkixPublicKey|null);
+
+ /** AttestorPublicKey publicKey. */
+ public publicKey?: ("asciiArmoredPgpPublicKey"|"pkixPublicKey");
+
+ /**
+ * Creates a new AttestorPublicKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttestorPublicKey instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey): google.cloud.binaryauthorization.v1beta1.AttestorPublicKey;
+
+ /**
+ * Encodes the specified AttestorPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.verify|verify} messages.
+ * @param message AttestorPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttestorPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.verify|verify} messages.
+ * @param message AttestorPublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.AttestorPublicKey;
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.AttestorPublicKey;
+
+ /**
+ * Verifies an AttestorPublicKey message.
+ * @param message Plain 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 AttestorPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttestorPublicKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.AttestorPublicKey;
+
+ /**
+ * Creates a plain object from an AttestorPublicKey message. Also converts values to other types if specified.
+ * @param message AttestorPublicKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.AttestorPublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttestorPublicKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttestorPublicKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a BinauthzManagementServiceV1Beta1 */
+ class BinauthzManagementServiceV1Beta1 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new BinauthzManagementServiceV1Beta1 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 BinauthzManagementServiceV1Beta1 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): BinauthzManagementServiceV1Beta1;
+
+ /**
+ * Calls GetPolicy.
+ * @param request GetPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public getPolicy(request: google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest, callback: google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.GetPolicyCallback): void;
+
+ /**
+ * Calls GetPolicy.
+ * @param request GetPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getPolicy(request: google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest): Promise;
+
+ /**
+ * Calls UpdatePolicy.
+ * @param request UpdatePolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public updatePolicy(request: google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest, callback: google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.UpdatePolicyCallback): void;
+
+ /**
+ * Calls UpdatePolicy.
+ * @param request UpdatePolicyRequest message or plain object
+ * @returns Promise
+ */
+ public updatePolicy(request: google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest): Promise;
+
+ /**
+ * Calls CreateAttestor.
+ * @param request CreateAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Attestor
+ */
+ public createAttestor(request: google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest, callback: google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.CreateAttestorCallback): void;
+
+ /**
+ * Calls CreateAttestor.
+ * @param request CreateAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public createAttestor(request: google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest): Promise;
+
+ /**
+ * Calls GetAttestor.
+ * @param request GetAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Attestor
+ */
+ public getAttestor(request: google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest, callback: google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.GetAttestorCallback): void;
+
+ /**
+ * Calls GetAttestor.
+ * @param request GetAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public getAttestor(request: google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest): Promise;
+
+ /**
+ * Calls UpdateAttestor.
+ * @param request UpdateAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Attestor
+ */
+ public updateAttestor(request: google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest, callback: google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.UpdateAttestorCallback): void;
+
+ /**
+ * Calls UpdateAttestor.
+ * @param request UpdateAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public updateAttestor(request: google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest): Promise;
+
+ /**
+ * Calls ListAttestors.
+ * @param request ListAttestorsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListAttestorsResponse
+ */
+ public listAttestors(request: google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest, callback: google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.ListAttestorsCallback): void;
+
+ /**
+ * Calls ListAttestors.
+ * @param request ListAttestorsRequest message or plain object
+ * @returns Promise
+ */
+ public listAttestors(request: google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest): Promise;
+
+ /**
+ * Calls DeleteAttestor.
+ * @param request DeleteAttestorRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteAttestor(request: google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest, callback: google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.DeleteAttestorCallback): void;
+
+ /**
+ * Calls DeleteAttestor.
+ * @param request DeleteAttestorRequest message or plain object
+ * @returns Promise
+ */
+ public deleteAttestor(request: google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest): Promise;
+ }
+
+ namespace BinauthzManagementServiceV1Beta1 {
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|getPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type GetPolicyCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1beta1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|updatePolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type UpdatePolicyCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1beta1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|createAttestor}.
+ * @param error Error, if any
+ * @param [response] Attestor
+ */
+ type CreateAttestorCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1beta1.Attestor) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|getAttestor}.
+ * @param error Error, if any
+ * @param [response] Attestor
+ */
+ type GetAttestorCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1beta1.Attestor) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|updateAttestor}.
+ * @param error Error, if any
+ * @param [response] Attestor
+ */
+ type UpdateAttestorCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1beta1.Attestor) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|listAttestors}.
+ * @param error Error, if any
+ * @param [response] ListAttestorsResponse
+ */
+ type ListAttestorsCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|deleteAttestor}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteAttestorCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of a GetPolicyRequest. */
+ interface IGetPolicyRequest {
+
+ /** GetPolicyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetPolicyRequest. */
+ class GetPolicyRequest implements IGetPolicyRequest {
+
+ /**
+ * Constructs a new GetPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest);
+
+ /** GetPolicyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetPolicyRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest): google.cloud.binaryauthorization.v1beta1.GetPolicyRequest;
+
+ /**
+ * Encodes the specified GetPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetPolicyRequest.verify|verify} messages.
+ * @param message GetPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetPolicyRequest.verify|verify} messages.
+ * @param message GetPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.GetPolicyRequest;
+
+ /**
+ * Decodes a GetPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.GetPolicyRequest;
+
+ /**
+ * Verifies a GetPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.GetPolicyRequest;
+
+ /**
+ * Creates a plain object from a GetPolicyRequest message. Also converts values to other types if specified.
+ * @param message GetPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.GetPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a SystemPolicyV1Beta1 */
+ class SystemPolicyV1Beta1 extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new SystemPolicyV1Beta1 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 SystemPolicyV1Beta1 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): SystemPolicyV1Beta1;
+
+ /**
+ * Calls GetSystemPolicy.
+ * @param request GetSystemPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public getSystemPolicy(request: google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest, callback: google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1.GetSystemPolicyCallback): void;
+
+ /**
+ * Calls GetSystemPolicy.
+ * @param request GetSystemPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getSystemPolicy(request: google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest): Promise;
+ }
+
+ namespace SystemPolicyV1Beta1 {
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1|getSystemPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type GetSystemPolicyCallback = (error: (Error|null), response?: google.cloud.binaryauthorization.v1beta1.Policy) => void;
+ }
+
+ /** Properties of an UpdatePolicyRequest. */
+ interface IUpdatePolicyRequest {
+
+ /** UpdatePolicyRequest policy */
+ policy?: (google.cloud.binaryauthorization.v1beta1.IPolicy|null);
+ }
+
+ /** Represents an UpdatePolicyRequest. */
+ class UpdatePolicyRequest implements IUpdatePolicyRequest {
+
+ /**
+ * Constructs a new UpdatePolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest);
+
+ /** UpdatePolicyRequest policy. */
+ public policy?: (google.cloud.binaryauthorization.v1beta1.IPolicy|null);
+
+ /**
+ * Creates a new UpdatePolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdatePolicyRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest): google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest;
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest.verify|verify} messages.
+ * @param message UpdatePolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest.verify|verify} messages.
+ * @param message UpdatePolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest;
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest;
+
+ /**
+ * Verifies an UpdatePolicyRequest message.
+ * @param message Plain 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 UpdatePolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdatePolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest;
+
+ /**
+ * Creates a plain object from an UpdatePolicyRequest message. Also converts values to other types if specified.
+ * @param message UpdatePolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdatePolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdatePolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateAttestorRequest. */
+ interface ICreateAttestorRequest {
+
+ /** CreateAttestorRequest parent */
+ parent?: (string|null);
+
+ /** CreateAttestorRequest attestorId */
+ attestorId?: (string|null);
+
+ /** CreateAttestorRequest attestor */
+ attestor?: (google.cloud.binaryauthorization.v1beta1.IAttestor|null);
+ }
+
+ /** Represents a CreateAttestorRequest. */
+ class CreateAttestorRequest implements ICreateAttestorRequest {
+
+ /**
+ * Constructs a new CreateAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest);
+
+ /** CreateAttestorRequest parent. */
+ public parent: string;
+
+ /** CreateAttestorRequest attestorId. */
+ public attestorId: string;
+
+ /** CreateAttestorRequest attestor. */
+ public attestor?: (google.cloud.binaryauthorization.v1beta1.IAttestor|null);
+
+ /**
+ * Creates a new CreateAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest): google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest;
+
+ /**
+ * Encodes the specified CreateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest.verify|verify} messages.
+ * @param message CreateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest.verify|verify} messages.
+ * @param message CreateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest;
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest;
+
+ /**
+ * Verifies a CreateAttestorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest;
+
+ /**
+ * Creates a plain object from a CreateAttestorRequest message. Also converts values to other types if specified.
+ * @param message CreateAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetAttestorRequest. */
+ interface IGetAttestorRequest {
+
+ /** GetAttestorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetAttestorRequest. */
+ class GetAttestorRequest implements IGetAttestorRequest {
+
+ /**
+ * Constructs a new GetAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest);
+
+ /** GetAttestorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest): google.cloud.binaryauthorization.v1beta1.GetAttestorRequest;
+
+ /**
+ * Encodes the specified GetAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetAttestorRequest.verify|verify} messages.
+ * @param message GetAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetAttestorRequest.verify|verify} messages.
+ * @param message GetAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.GetAttestorRequest;
+
+ /**
+ * Decodes a GetAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.GetAttestorRequest;
+
+ /**
+ * Verifies a GetAttestorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.GetAttestorRequest;
+
+ /**
+ * Creates a plain object from a GetAttestorRequest message. Also converts values to other types if specified.
+ * @param message GetAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.GetAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateAttestorRequest. */
+ interface IUpdateAttestorRequest {
+
+ /** UpdateAttestorRequest attestor */
+ attestor?: (google.cloud.binaryauthorization.v1beta1.IAttestor|null);
+ }
+
+ /** Represents an UpdateAttestorRequest. */
+ class UpdateAttestorRequest implements IUpdateAttestorRequest {
+
+ /**
+ * Constructs a new UpdateAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest);
+
+ /** UpdateAttestorRequest attestor. */
+ public attestor?: (google.cloud.binaryauthorization.v1beta1.IAttestor|null);
+
+ /**
+ * Creates a new UpdateAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest): google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest;
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest.verify|verify} messages.
+ * @param message UpdateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest.verify|verify} messages.
+ * @param message UpdateAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest;
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest;
+
+ /**
+ * Verifies an UpdateAttestorRequest message.
+ * @param message Plain 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 UpdateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest;
+
+ /**
+ * Creates a plain object from an UpdateAttestorRequest message. Also converts values to other types if specified.
+ * @param message UpdateAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAttestorsRequest. */
+ interface IListAttestorsRequest {
+
+ /** ListAttestorsRequest parent */
+ parent?: (string|null);
+
+ /** ListAttestorsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListAttestorsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListAttestorsRequest. */
+ class ListAttestorsRequest implements IListAttestorsRequest {
+
+ /**
+ * Constructs a new ListAttestorsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest);
+
+ /** ListAttestorsRequest parent. */
+ public parent: string;
+
+ /** ListAttestorsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListAttestorsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListAttestorsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAttestorsRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest): google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest;
+
+ /**
+ * Encodes the specified ListAttestorsRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest.verify|verify} messages.
+ * @param message ListAttestorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAttestorsRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest.verify|verify} messages.
+ * @param message ListAttestorsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest;
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest;
+
+ /**
+ * Verifies a ListAttestorsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAttestorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAttestorsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest;
+
+ /**
+ * Creates a plain object from a ListAttestorsRequest message. Also converts values to other types if specified.
+ * @param message ListAttestorsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAttestorsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAttestorsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListAttestorsResponse. */
+ interface IListAttestorsResponse {
+
+ /** ListAttestorsResponse attestors */
+ attestors?: (google.cloud.binaryauthorization.v1beta1.IAttestor[]|null);
+
+ /** ListAttestorsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListAttestorsResponse. */
+ class ListAttestorsResponse implements IListAttestorsResponse {
+
+ /**
+ * Constructs a new ListAttestorsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse);
+
+ /** ListAttestorsResponse attestors. */
+ public attestors: google.cloud.binaryauthorization.v1beta1.IAttestor[];
+
+ /** ListAttestorsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListAttestorsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListAttestorsResponse instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse): google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse;
+
+ /**
+ * Encodes the specified ListAttestorsResponse message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.verify|verify} messages.
+ * @param message ListAttestorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListAttestorsResponse message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.verify|verify} messages.
+ * @param message ListAttestorsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse;
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse;
+
+ /**
+ * Verifies a ListAttestorsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListAttestorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListAttestorsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse;
+
+ /**
+ * Creates a plain object from a ListAttestorsResponse message. Also converts values to other types if specified.
+ * @param message ListAttestorsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListAttestorsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListAttestorsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteAttestorRequest. */
+ interface IDeleteAttestorRequest {
+
+ /** DeleteAttestorRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteAttestorRequest. */
+ class DeleteAttestorRequest implements IDeleteAttestorRequest {
+
+ /**
+ * Constructs a new DeleteAttestorRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest);
+
+ /** DeleteAttestorRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteAttestorRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteAttestorRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest): google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest;
+
+ /**
+ * Encodes the specified DeleteAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest.verify|verify} messages.
+ * @param message DeleteAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest.verify|verify} messages.
+ * @param message DeleteAttestorRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteAttestorRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest;
+
+ /**
+ * Decodes a DeleteAttestorRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest;
+
+ /**
+ * Verifies a DeleteAttestorRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteAttestorRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest;
+
+ /**
+ * Creates a plain object from a DeleteAttestorRequest message. Also converts values to other types if specified.
+ * @param message DeleteAttestorRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteAttestorRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteAttestorRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetSystemPolicyRequest. */
+ interface IGetSystemPolicyRequest {
+
+ /** GetSystemPolicyRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetSystemPolicyRequest. */
+ class GetSystemPolicyRequest implements IGetSystemPolicyRequest {
+
+ /**
+ * Constructs a new GetSystemPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest);
+
+ /** GetSystemPolicyRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetSystemPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetSystemPolicyRequest instance
+ */
+ public static create(properties?: google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest): google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest;
+
+ /**
+ * Encodes the specified GetSystemPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest.verify|verify} messages.
+ * @param message GetSystemPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetSystemPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest.verify|verify} messages.
+ * @param message GetSystemPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetSystemPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest;
+
+ /**
+ * Decodes a GetSystemPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest;
+
+ /**
+ * Verifies a GetSystemPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetSystemPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetSystemPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest;
+
+ /**
+ * Creates a plain object from a GetSystemPolicyRequest message. Also converts values to other types if specified.
+ * @param message GetSystemPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetSystemPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetSystemPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (string|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: string;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions phpGenericServices */
+ phpGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions phpGenericServices. */
+ public phpGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+ }
+
+ /** 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 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 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;
+ }
+ }
+}
+
+/** Namespace grafeas. */
+export namespace grafeas {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of an AttestationNote. */
+ interface IAttestationNote {
+
+ /** AttestationNote hint */
+ hint?: (grafeas.v1.AttestationNote.IHint|null);
+ }
+
+ /** Represents an AttestationNote. */
+ class AttestationNote implements IAttestationNote {
+
+ /**
+ * Constructs a new AttestationNote.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IAttestationNote);
+
+ /** AttestationNote hint. */
+ public hint?: (grafeas.v1.AttestationNote.IHint|null);
+
+ /**
+ * Creates a new AttestationNote instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttestationNote instance
+ */
+ public static create(properties?: grafeas.v1.IAttestationNote): grafeas.v1.AttestationNote;
+
+ /**
+ * Encodes the specified AttestationNote message. Does not implicitly {@link grafeas.v1.AttestationNote.verify|verify} messages.
+ * @param message AttestationNote message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IAttestationNote, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttestationNote message, length delimited. Does not implicitly {@link grafeas.v1.AttestationNote.verify|verify} messages.
+ * @param message AttestationNote message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IAttestationNote, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttestationNote message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttestationNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.AttestationNote;
+
+ /**
+ * Decodes an AttestationNote message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttestationNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.AttestationNote;
+
+ /**
+ * Verifies an AttestationNote message.
+ * @param message Plain 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 AttestationNote message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttestationNote
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.AttestationNote;
+
+ /**
+ * Creates a plain object from an AttestationNote message. Also converts values to other types if specified.
+ * @param message AttestationNote
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.AttestationNote, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttestationNote to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttestationNote
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AttestationNote {
+
+ /** Properties of a Hint. */
+ interface IHint {
+
+ /** Hint humanReadableName */
+ humanReadableName?: (string|null);
+ }
+
+ /** Represents a Hint. */
+ class Hint implements IHint {
+
+ /**
+ * Constructs a new Hint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.AttestationNote.IHint);
+
+ /** Hint humanReadableName. */
+ public humanReadableName: string;
+
+ /**
+ * Creates a new Hint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Hint instance
+ */
+ public static create(properties?: grafeas.v1.AttestationNote.IHint): grafeas.v1.AttestationNote.Hint;
+
+ /**
+ * Encodes the specified Hint message. Does not implicitly {@link grafeas.v1.AttestationNote.Hint.verify|verify} messages.
+ * @param message Hint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.AttestationNote.IHint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Hint message, length delimited. Does not implicitly {@link grafeas.v1.AttestationNote.Hint.verify|verify} messages.
+ * @param message Hint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.AttestationNote.IHint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Hint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Hint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.AttestationNote.Hint;
+
+ /**
+ * Decodes a Hint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Hint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.AttestationNote.Hint;
+
+ /**
+ * Verifies a Hint message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Hint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Hint
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.AttestationNote.Hint;
+
+ /**
+ * Creates a plain object from a Hint message. Also converts values to other types if specified.
+ * @param message Hint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.AttestationNote.Hint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Hint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Hint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Jwt. */
+ interface IJwt {
+
+ /** Jwt compactJwt */
+ compactJwt?: (string|null);
+ }
+
+ /** Represents a Jwt. */
+ class Jwt implements IJwt {
+
+ /**
+ * Constructs a new Jwt.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IJwt);
+
+ /** Jwt compactJwt. */
+ public compactJwt: string;
+
+ /**
+ * Creates a new Jwt instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Jwt instance
+ */
+ public static create(properties?: grafeas.v1.IJwt): grafeas.v1.Jwt;
+
+ /**
+ * Encodes the specified Jwt message. Does not implicitly {@link grafeas.v1.Jwt.verify|verify} messages.
+ * @param message Jwt message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IJwt, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Jwt message, length delimited. Does not implicitly {@link grafeas.v1.Jwt.verify|verify} messages.
+ * @param message Jwt message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IJwt, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Jwt message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Jwt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.Jwt;
+
+ /**
+ * Decodes a Jwt message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Jwt
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.Jwt;
+
+ /**
+ * Verifies a Jwt message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Jwt message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Jwt
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.Jwt;
+
+ /**
+ * Creates a plain object from a Jwt message. Also converts values to other types if specified.
+ * @param message Jwt
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.Jwt, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Jwt to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Jwt
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AttestationOccurrence. */
+ interface IAttestationOccurrence {
+
+ /** AttestationOccurrence serializedPayload */
+ serializedPayload?: (Uint8Array|string|null);
+
+ /** AttestationOccurrence signatures */
+ signatures?: (grafeas.v1.ISignature[]|null);
+
+ /** AttestationOccurrence jwts */
+ jwts?: (grafeas.v1.IJwt[]|null);
+ }
+
+ /** Represents an AttestationOccurrence. */
+ class AttestationOccurrence implements IAttestationOccurrence {
+
+ /**
+ * Constructs a new AttestationOccurrence.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IAttestationOccurrence);
+
+ /** AttestationOccurrence serializedPayload. */
+ public serializedPayload: (Uint8Array|string);
+
+ /** AttestationOccurrence signatures. */
+ public signatures: grafeas.v1.ISignature[];
+
+ /** AttestationOccurrence jwts. */
+ public jwts: grafeas.v1.IJwt[];
+
+ /**
+ * Creates a new AttestationOccurrence instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AttestationOccurrence instance
+ */
+ public static create(properties?: grafeas.v1.IAttestationOccurrence): grafeas.v1.AttestationOccurrence;
+
+ /**
+ * Encodes the specified AttestationOccurrence message. Does not implicitly {@link grafeas.v1.AttestationOccurrence.verify|verify} messages.
+ * @param message AttestationOccurrence message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IAttestationOccurrence, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AttestationOccurrence message, length delimited. Does not implicitly {@link grafeas.v1.AttestationOccurrence.verify|verify} messages.
+ * @param message AttestationOccurrence message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IAttestationOccurrence, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AttestationOccurrence message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AttestationOccurrence
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.AttestationOccurrence;
+
+ /**
+ * Decodes an AttestationOccurrence message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AttestationOccurrence
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.AttestationOccurrence;
+
+ /**
+ * Verifies an AttestationOccurrence message.
+ * @param message Plain 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 AttestationOccurrence message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AttestationOccurrence
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.AttestationOccurrence;
+
+ /**
+ * Creates a plain object from an AttestationOccurrence message. Also converts values to other types if specified.
+ * @param message AttestationOccurrence
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.AttestationOccurrence, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AttestationOccurrence to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AttestationOccurrence
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** NoteKind enum. */
+ enum NoteKind {
+ NOTE_KIND_UNSPECIFIED = 0,
+ VULNERABILITY = 1,
+ BUILD = 2,
+ IMAGE = 3,
+ PACKAGE = 4,
+ DEPLOYMENT = 5,
+ DISCOVERY = 6,
+ ATTESTATION = 7,
+ UPGRADE = 8,
+ COMPLIANCE = 9,
+ DSSE_ATTESTATION = 10
+ }
+
+ /** Properties of a RelatedUrl. */
+ interface IRelatedUrl {
+
+ /** RelatedUrl url */
+ url?: (string|null);
+
+ /** RelatedUrl label */
+ label?: (string|null);
+ }
+
+ /** Represents a RelatedUrl. */
+ class RelatedUrl implements IRelatedUrl {
+
+ /**
+ * Constructs a new RelatedUrl.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IRelatedUrl);
+
+ /** RelatedUrl url. */
+ public url: string;
+
+ /** RelatedUrl label. */
+ public label: string;
+
+ /**
+ * Creates a new RelatedUrl instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RelatedUrl instance
+ */
+ public static create(properties?: grafeas.v1.IRelatedUrl): grafeas.v1.RelatedUrl;
+
+ /**
+ * Encodes the specified RelatedUrl message. Does not implicitly {@link grafeas.v1.RelatedUrl.verify|verify} messages.
+ * @param message RelatedUrl message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IRelatedUrl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RelatedUrl message, length delimited. Does not implicitly {@link grafeas.v1.RelatedUrl.verify|verify} messages.
+ * @param message RelatedUrl message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IRelatedUrl, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RelatedUrl message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RelatedUrl
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.RelatedUrl;
+
+ /**
+ * Decodes a RelatedUrl message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RelatedUrl
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.RelatedUrl;
+
+ /**
+ * Verifies a RelatedUrl message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RelatedUrl message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RelatedUrl
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.RelatedUrl;
+
+ /**
+ * Creates a plain object from a RelatedUrl message. Also converts values to other types if specified.
+ * @param message RelatedUrl
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.RelatedUrl, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RelatedUrl to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RelatedUrl
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Signature. */
+ interface ISignature {
+
+ /** Signature signature */
+ signature?: (Uint8Array|string|null);
+
+ /** Signature publicKeyId */
+ publicKeyId?: (string|null);
+ }
+
+ /** Represents a Signature. */
+ class Signature implements ISignature {
+
+ /**
+ * Constructs a new Signature.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.ISignature);
+
+ /** Signature signature. */
+ public signature: (Uint8Array|string);
+
+ /** Signature publicKeyId. */
+ public publicKeyId: string;
+
+ /**
+ * Creates a new Signature instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Signature instance
+ */
+ public static create(properties?: grafeas.v1.ISignature): grafeas.v1.Signature;
+
+ /**
+ * Encodes the specified Signature message. Does not implicitly {@link grafeas.v1.Signature.verify|verify} messages.
+ * @param message Signature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.ISignature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Signature message, length delimited. Does not implicitly {@link grafeas.v1.Signature.verify|verify} messages.
+ * @param message Signature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.ISignature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Signature message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Signature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.Signature;
+
+ /**
+ * Decodes a Signature message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Signature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.Signature;
+
+ /**
+ * Verifies a Signature message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Signature message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Signature
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.Signature;
+
+ /**
+ * Creates a plain object from a Signature message. Also converts values to other types if specified.
+ * @param message Signature
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.Signature, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Signature to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Signature
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Envelope. */
+ interface IEnvelope {
+
+ /** Envelope payload */
+ payload?: (Uint8Array|string|null);
+
+ /** Envelope payloadType */
+ payloadType?: (string|null);
+
+ /** Envelope signatures */
+ signatures?: (grafeas.v1.IEnvelopeSignature[]|null);
+ }
+
+ /** Represents an Envelope. */
+ class Envelope implements IEnvelope {
+
+ /**
+ * Constructs a new Envelope.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IEnvelope);
+
+ /** Envelope payload. */
+ public payload: (Uint8Array|string);
+
+ /** Envelope payloadType. */
+ public payloadType: string;
+
+ /** Envelope signatures. */
+ public signatures: grafeas.v1.IEnvelopeSignature[];
+
+ /**
+ * Creates a new Envelope instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Envelope instance
+ */
+ public static create(properties?: grafeas.v1.IEnvelope): grafeas.v1.Envelope;
+
+ /**
+ * Encodes the specified Envelope message. Does not implicitly {@link grafeas.v1.Envelope.verify|verify} messages.
+ * @param message Envelope message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IEnvelope, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Envelope message, length delimited. Does not implicitly {@link grafeas.v1.Envelope.verify|verify} messages.
+ * @param message Envelope message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IEnvelope, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Envelope message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Envelope
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.Envelope;
+
+ /**
+ * Decodes an Envelope message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Envelope
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.Envelope;
+
+ /**
+ * Verifies an Envelope message.
+ * @param message Plain 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 Envelope message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Envelope
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.Envelope;
+
+ /**
+ * Creates a plain object from an Envelope message. Also converts values to other types if specified.
+ * @param message Envelope
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.Envelope, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Envelope to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Envelope
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnvelopeSignature. */
+ interface IEnvelopeSignature {
+
+ /** EnvelopeSignature sig */
+ sig?: (Uint8Array|string|null);
+
+ /** EnvelopeSignature keyid */
+ keyid?: (string|null);
+ }
+
+ /** Represents an EnvelopeSignature. */
+ class EnvelopeSignature implements IEnvelopeSignature {
+
+ /**
+ * Constructs a new EnvelopeSignature.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IEnvelopeSignature);
+
+ /** EnvelopeSignature sig. */
+ public sig: (Uint8Array|string);
+
+ /** EnvelopeSignature keyid. */
+ public keyid: string;
+
+ /**
+ * Creates a new EnvelopeSignature instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnvelopeSignature instance
+ */
+ public static create(properties?: grafeas.v1.IEnvelopeSignature): grafeas.v1.EnvelopeSignature;
+
+ /**
+ * Encodes the specified EnvelopeSignature message. Does not implicitly {@link grafeas.v1.EnvelopeSignature.verify|verify} messages.
+ * @param message EnvelopeSignature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IEnvelopeSignature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnvelopeSignature message, length delimited. Does not implicitly {@link grafeas.v1.EnvelopeSignature.verify|verify} messages.
+ * @param message EnvelopeSignature message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IEnvelopeSignature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnvelopeSignature message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnvelopeSignature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.EnvelopeSignature;
+
+ /**
+ * Decodes an EnvelopeSignature message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnvelopeSignature
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.EnvelopeSignature;
+
+ /**
+ * Verifies an EnvelopeSignature message.
+ * @param message Plain 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 EnvelopeSignature message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnvelopeSignature
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.EnvelopeSignature;
+
+ /**
+ * Creates a plain object from an EnvelopeSignature message. Also converts values to other types if specified.
+ * @param message EnvelopeSignature
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.EnvelopeSignature, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnvelopeSignature to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnvelopeSignature
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileLocation. */
+ interface IFileLocation {
+
+ /** FileLocation filePath */
+ filePath?: (string|null);
+ }
+
+ /** Represents a FileLocation. */
+ class FileLocation implements IFileLocation {
+
+ /**
+ * Constructs a new FileLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IFileLocation);
+
+ /** FileLocation filePath. */
+ public filePath: string;
+
+ /**
+ * Creates a new FileLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileLocation instance
+ */
+ public static create(properties?: grafeas.v1.IFileLocation): grafeas.v1.FileLocation;
+
+ /**
+ * Encodes the specified FileLocation message. Does not implicitly {@link grafeas.v1.FileLocation.verify|verify} messages.
+ * @param message FileLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IFileLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileLocation message, length delimited. Does not implicitly {@link grafeas.v1.FileLocation.verify|verify} messages.
+ * @param message FileLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IFileLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.FileLocation;
+
+ /**
+ * Decodes a FileLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.FileLocation;
+
+ /**
+ * Verifies a FileLocation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileLocation
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.FileLocation;
+
+ /**
+ * Creates a plain object from a FileLocation message. Also converts values to other types if specified.
+ * @param message FileLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.FileLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileLocation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a License. */
+ interface ILicense {
+
+ /** License expression */
+ expression?: (string|null);
+
+ /** License comments */
+ comments?: (string|null);
+ }
+
+ /** Represents a License. */
+ class License implements ILicense {
+
+ /**
+ * Constructs a new License.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.ILicense);
+
+ /** License expression. */
+ public expression: string;
+
+ /** License comments. */
+ public comments: string;
+
+ /**
+ * Creates a new License instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns License instance
+ */
+ public static create(properties?: grafeas.v1.ILicense): grafeas.v1.License;
+
+ /**
+ * Encodes the specified License message. Does not implicitly {@link grafeas.v1.License.verify|verify} messages.
+ * @param message License message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.ILicense, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified License message, length delimited. Does not implicitly {@link grafeas.v1.License.verify|verify} messages.
+ * @param message License message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.ILicense, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a License message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns License
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.License;
+
+ /**
+ * Decodes a License message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns License
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.License;
+
+ /**
+ * Verifies a License message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a License message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns License
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.License;
+
+ /**
+ * Creates a plain object from a License message. Also converts values to other types if specified.
+ * @param message License
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.License, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this License to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for License
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Digest. */
+ interface IDigest {
+
+ /** Digest algo */
+ algo?: (string|null);
+
+ /** Digest digestBytes */
+ digestBytes?: (Uint8Array|string|null);
+ }
+
+ /** Represents a Digest. */
+ class Digest implements IDigest {
+
+ /**
+ * Constructs a new Digest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: grafeas.v1.IDigest);
+
+ /** Digest algo. */
+ public algo: string;
+
+ /** Digest digestBytes. */
+ public digestBytes: (Uint8Array|string);
+
+ /**
+ * Creates a new Digest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Digest instance
+ */
+ public static create(properties?: grafeas.v1.IDigest): grafeas.v1.Digest;
+
+ /**
+ * Encodes the specified Digest message. Does not implicitly {@link grafeas.v1.Digest.verify|verify} messages.
+ * @param message Digest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: grafeas.v1.IDigest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Digest message, length delimited. Does not implicitly {@link grafeas.v1.Digest.verify|verify} messages.
+ * @param message Digest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: grafeas.v1.IDigest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Digest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Digest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): grafeas.v1.Digest;
+
+ /**
+ * Decodes a Digest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Digest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): grafeas.v1.Digest;
+
+ /**
+ * Verifies a Digest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Digest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Digest
+ */
+ public static fromObject(object: { [k: string]: any }): grafeas.v1.Digest;
+
+ /**
+ * Creates a plain object from a Digest message. Also converts values to other types if specified.
+ * @param message Digest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: grafeas.v1.Digest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Digest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Digest
+ * @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-binaryauthorization/protos/protos.js b/packages/google-cloud-binaryauthorization/protos/protos.js
new file mode 100644
index 00000000000..fbbfd4f087a
--- /dev/null
+++ b/packages/google-cloud-binaryauthorization/protos/protos.js
@@ -0,0 +1,25453 @@
+// 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_binary_authorization_protos || ($protobuf.roots._google_cloud_binary_authorization_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.binaryauthorization = (function() {
+
+ /**
+ * Namespace binaryauthorization.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var binaryauthorization = {};
+
+ binaryauthorization.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.binaryauthorization
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.Policy = (function() {
+
+ /**
+ * Properties of a Policy.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IPolicy
+ * @property {string|null} [name] Policy name
+ * @property {string|null} [description] Policy description
+ * @property {google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode|null} [globalPolicyEvaluationMode] Policy globalPolicyEvaluationMode
+ * @property {Array.|null} [admissionWhitelistPatterns] Policy admissionWhitelistPatterns
+ * @property {Object.|null} [clusterAdmissionRules] Policy clusterAdmissionRules
+ * @property {Object.|null} [kubernetesNamespaceAdmissionRules] Policy kubernetesNamespaceAdmissionRules
+ * @property {Object.|null} [kubernetesServiceAccountAdmissionRules] Policy kubernetesServiceAccountAdmissionRules
+ * @property {Object.|null} [istioServiceIdentityAdmissionRules] Policy istioServiceIdentityAdmissionRules
+ * @property {google.cloud.binaryauthorization.v1.IAdmissionRule|null} [defaultAdmissionRule] Policy defaultAdmissionRule
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Policy updateTime
+ */
+
+ /**
+ * Constructs a new Policy.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a Policy.
+ * @implements IPolicy
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IPolicy=} [properties] Properties to set
+ */
+ function Policy(properties) {
+ this.admissionWhitelistPatterns = [];
+ this.clusterAdmissionRules = {};
+ this.kubernetesNamespaceAdmissionRules = {};
+ this.kubernetesServiceAccountAdmissionRules = {};
+ this.istioServiceIdentityAdmissionRules = {};
+ 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]];
+ }
+
+ /**
+ * Policy name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.name = "";
+
+ /**
+ * Policy description.
+ * @member {string} description
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.description = "";
+
+ /**
+ * Policy globalPolicyEvaluationMode.
+ * @member {google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode} globalPolicyEvaluationMode
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.globalPolicyEvaluationMode = 0;
+
+ /**
+ * Policy admissionWhitelistPatterns.
+ * @member {Array.} admissionWhitelistPatterns
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.admissionWhitelistPatterns = $util.emptyArray;
+
+ /**
+ * Policy clusterAdmissionRules.
+ * @member {Object.} clusterAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.clusterAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy kubernetesNamespaceAdmissionRules.
+ * @member {Object.} kubernetesNamespaceAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.kubernetesNamespaceAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy kubernetesServiceAccountAdmissionRules.
+ * @member {Object.} kubernetesServiceAccountAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.kubernetesServiceAccountAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy istioServiceIdentityAdmissionRules.
+ * @member {Object.} istioServiceIdentityAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.istioServiceIdentityAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy defaultAdmissionRule.
+ * @member {google.cloud.binaryauthorization.v1.IAdmissionRule|null|undefined} defaultAdmissionRule
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.defaultAdmissionRule = null;
+
+ /**
+ * Policy updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ */
+ Policy.prototype.updateTime = null;
+
+ /**
+ * Creates a new Policy instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IPolicy=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.Policy} Policy instance
+ */
+ Policy.create = function create(properties) {
+ return new Policy(properties);
+ };
+
+ /**
+ * Encodes the specified Policy message. Does not implicitly {@link google.cloud.binaryauthorization.v1.Policy.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IPolicy} message Policy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Policy.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.admissionWhitelistPatterns != null && message.admissionWhitelistPatterns.length)
+ for (var i = 0; i < message.admissionWhitelistPatterns.length; ++i)
+ $root.google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.encode(message.admissionWhitelistPatterns[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.clusterAdmissionRules != null && Object.hasOwnProperty.call(message, "clusterAdmissionRules"))
+ for (var keys = Object.keys(message.clusterAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1.AdmissionRule.encode(message.clusterAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.defaultAdmissionRule != null && Object.hasOwnProperty.call(message, "defaultAdmissionRule"))
+ $root.google.cloud.binaryauthorization.v1.AdmissionRule.encode(message.defaultAdmissionRule, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.description);
+ if (message.globalPolicyEvaluationMode != null && Object.hasOwnProperty.call(message, "globalPolicyEvaluationMode"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.globalPolicyEvaluationMode);
+ if (message.kubernetesServiceAccountAdmissionRules != null && Object.hasOwnProperty.call(message, "kubernetesServiceAccountAdmissionRules"))
+ for (var keys = Object.keys(message.kubernetesServiceAccountAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 8, wireType 2 =*/66).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1.AdmissionRule.encode(message.kubernetesServiceAccountAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.istioServiceIdentityAdmissionRules != null && Object.hasOwnProperty.call(message, "istioServiceIdentityAdmissionRules"))
+ for (var keys = Object.keys(message.istioServiceIdentityAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 9, wireType 2 =*/74).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1.AdmissionRule.encode(message.istioServiceIdentityAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.kubernetesNamespaceAdmissionRules != null && Object.hasOwnProperty.call(message, "kubernetesNamespaceAdmissionRules"))
+ for (var keys = Object.keys(message.kubernetesNamespaceAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 10, wireType 2 =*/82).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1.AdmissionRule.encode(message.kubernetesNamespaceAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.Policy.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IPolicy} message Policy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Policy.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.Policy} Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Policy.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.binaryauthorization.v1.Policy(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 6: {
+ message.description = reader.string();
+ break;
+ }
+ case 7: {
+ message.globalPolicyEvaluationMode = reader.int32();
+ break;
+ }
+ case 2: {
+ if (!(message.admissionWhitelistPatterns && message.admissionWhitelistPatterns.length))
+ message.admissionWhitelistPatterns = [];
+ message.admissionWhitelistPatterns.push($root.google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (message.clusterAdmissionRules === $util.emptyObject)
+ message.clusterAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.clusterAdmissionRules[key] = value;
+ break;
+ }
+ case 10: {
+ if (message.kubernetesNamespaceAdmissionRules === $util.emptyObject)
+ message.kubernetesNamespaceAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.kubernetesNamespaceAdmissionRules[key] = value;
+ break;
+ }
+ case 8: {
+ if (message.kubernetesServiceAccountAdmissionRules === $util.emptyObject)
+ message.kubernetesServiceAccountAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.kubernetesServiceAccountAdmissionRules[key] = value;
+ break;
+ }
+ case 9: {
+ if (message.istioServiceIdentityAdmissionRules === $util.emptyObject)
+ message.istioServiceIdentityAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.istioServiceIdentityAdmissionRules[key] = value;
+ break;
+ }
+ case 4: {
+ message.defaultAdmissionRule = $root.google.cloud.binaryauthorization.v1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.Policy} Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Policy.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Policy message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Policy.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.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.globalPolicyEvaluationMode != null && message.hasOwnProperty("globalPolicyEvaluationMode"))
+ switch (message.globalPolicyEvaluationMode) {
+ default:
+ return "globalPolicyEvaluationMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.admissionWhitelistPatterns != null && message.hasOwnProperty("admissionWhitelistPatterns")) {
+ if (!Array.isArray(message.admissionWhitelistPatterns))
+ return "admissionWhitelistPatterns: array expected";
+ for (var i = 0; i < message.admissionWhitelistPatterns.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.verify(message.admissionWhitelistPatterns[i]);
+ if (error)
+ return "admissionWhitelistPatterns." + error;
+ }
+ }
+ if (message.clusterAdmissionRules != null && message.hasOwnProperty("clusterAdmissionRules")) {
+ if (!$util.isObject(message.clusterAdmissionRules))
+ return "clusterAdmissionRules: object expected";
+ var key = Object.keys(message.clusterAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1.AdmissionRule.verify(message.clusterAdmissionRules[key[i]]);
+ if (error)
+ return "clusterAdmissionRules." + error;
+ }
+ }
+ if (message.kubernetesNamespaceAdmissionRules != null && message.hasOwnProperty("kubernetesNamespaceAdmissionRules")) {
+ if (!$util.isObject(message.kubernetesNamespaceAdmissionRules))
+ return "kubernetesNamespaceAdmissionRules: object expected";
+ var key = Object.keys(message.kubernetesNamespaceAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1.AdmissionRule.verify(message.kubernetesNamespaceAdmissionRules[key[i]]);
+ if (error)
+ return "kubernetesNamespaceAdmissionRules." + error;
+ }
+ }
+ if (message.kubernetesServiceAccountAdmissionRules != null && message.hasOwnProperty("kubernetesServiceAccountAdmissionRules")) {
+ if (!$util.isObject(message.kubernetesServiceAccountAdmissionRules))
+ return "kubernetesServiceAccountAdmissionRules: object expected";
+ var key = Object.keys(message.kubernetesServiceAccountAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1.AdmissionRule.verify(message.kubernetesServiceAccountAdmissionRules[key[i]]);
+ if (error)
+ return "kubernetesServiceAccountAdmissionRules." + error;
+ }
+ }
+ if (message.istioServiceIdentityAdmissionRules != null && message.hasOwnProperty("istioServiceIdentityAdmissionRules")) {
+ if (!$util.isObject(message.istioServiceIdentityAdmissionRules))
+ return "istioServiceIdentityAdmissionRules: object expected";
+ var key = Object.keys(message.istioServiceIdentityAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1.AdmissionRule.verify(message.istioServiceIdentityAdmissionRules[key[i]]);
+ if (error)
+ return "istioServiceIdentityAdmissionRules." + error;
+ }
+ }
+ if (message.defaultAdmissionRule != null && message.hasOwnProperty("defaultAdmissionRule")) {
+ var error = $root.google.cloud.binaryauthorization.v1.AdmissionRule.verify(message.defaultAdmissionRule);
+ if (error)
+ return "defaultAdmissionRule." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Policy message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.Policy} Policy
+ */
+ Policy.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.Policy)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.Policy();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.description != null)
+ message.description = String(object.description);
+ switch (object.globalPolicyEvaluationMode) {
+ default:
+ if (typeof object.globalPolicyEvaluationMode === "number") {
+ message.globalPolicyEvaluationMode = object.globalPolicyEvaluationMode;
+ break;
+ }
+ break;
+ case "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED":
+ case 0:
+ message.globalPolicyEvaluationMode = 0;
+ break;
+ case "ENABLE":
+ case 1:
+ message.globalPolicyEvaluationMode = 1;
+ break;
+ case "DISABLE":
+ case 2:
+ message.globalPolicyEvaluationMode = 2;
+ break;
+ }
+ if (object.admissionWhitelistPatterns) {
+ if (!Array.isArray(object.admissionWhitelistPatterns))
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.admissionWhitelistPatterns: array expected");
+ message.admissionWhitelistPatterns = [];
+ for (var i = 0; i < object.admissionWhitelistPatterns.length; ++i) {
+ if (typeof object.admissionWhitelistPatterns[i] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.admissionWhitelistPatterns: object expected");
+ message.admissionWhitelistPatterns[i] = $root.google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.fromObject(object.admissionWhitelistPatterns[i]);
+ }
+ }
+ if (object.clusterAdmissionRules) {
+ if (typeof object.clusterAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.clusterAdmissionRules: object expected");
+ message.clusterAdmissionRules = {};
+ for (var keys = Object.keys(object.clusterAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.clusterAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.clusterAdmissionRules: object expected");
+ message.clusterAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.fromObject(object.clusterAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.kubernetesNamespaceAdmissionRules) {
+ if (typeof object.kubernetesNamespaceAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.kubernetesNamespaceAdmissionRules: object expected");
+ message.kubernetesNamespaceAdmissionRules = {};
+ for (var keys = Object.keys(object.kubernetesNamespaceAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.kubernetesNamespaceAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.kubernetesNamespaceAdmissionRules: object expected");
+ message.kubernetesNamespaceAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.fromObject(object.kubernetesNamespaceAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.kubernetesServiceAccountAdmissionRules) {
+ if (typeof object.kubernetesServiceAccountAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.kubernetesServiceAccountAdmissionRules: object expected");
+ message.kubernetesServiceAccountAdmissionRules = {};
+ for (var keys = Object.keys(object.kubernetesServiceAccountAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.kubernetesServiceAccountAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.kubernetesServiceAccountAdmissionRules: object expected");
+ message.kubernetesServiceAccountAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.fromObject(object.kubernetesServiceAccountAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.istioServiceIdentityAdmissionRules) {
+ if (typeof object.istioServiceIdentityAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.istioServiceIdentityAdmissionRules: object expected");
+ message.istioServiceIdentityAdmissionRules = {};
+ for (var keys = Object.keys(object.istioServiceIdentityAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.istioServiceIdentityAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.istioServiceIdentityAdmissionRules: object expected");
+ message.istioServiceIdentityAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.fromObject(object.istioServiceIdentityAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.defaultAdmissionRule != null) {
+ if (typeof object.defaultAdmissionRule !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.defaultAdmissionRule: object expected");
+ message.defaultAdmissionRule = $root.google.cloud.binaryauthorization.v1.AdmissionRule.fromObject(object.defaultAdmissionRule);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Policy.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Policy message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.Policy} message Policy
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Policy.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.admissionWhitelistPatterns = [];
+ if (options.objects || options.defaults) {
+ object.clusterAdmissionRules = {};
+ object.kubernetesServiceAccountAdmissionRules = {};
+ object.istioServiceIdentityAdmissionRules = {};
+ object.kubernetesNamespaceAdmissionRules = {};
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.defaultAdmissionRule = null;
+ object.updateTime = null;
+ object.description = "";
+ object.globalPolicyEvaluationMode = options.enums === String ? "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.admissionWhitelistPatterns && message.admissionWhitelistPatterns.length) {
+ object.admissionWhitelistPatterns = [];
+ for (var j = 0; j < message.admissionWhitelistPatterns.length; ++j)
+ object.admissionWhitelistPatterns[j] = $root.google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.toObject(message.admissionWhitelistPatterns[j], options);
+ }
+ var keys2;
+ if (message.clusterAdmissionRules && (keys2 = Object.keys(message.clusterAdmissionRules)).length) {
+ object.clusterAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.clusterAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.toObject(message.clusterAdmissionRules[keys2[j]], options);
+ }
+ if (message.defaultAdmissionRule != null && message.hasOwnProperty("defaultAdmissionRule"))
+ object.defaultAdmissionRule = $root.google.cloud.binaryauthorization.v1.AdmissionRule.toObject(message.defaultAdmissionRule, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.globalPolicyEvaluationMode != null && message.hasOwnProperty("globalPolicyEvaluationMode"))
+ object.globalPolicyEvaluationMode = options.enums === String ? $root.google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode[message.globalPolicyEvaluationMode] === undefined ? message.globalPolicyEvaluationMode : $root.google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode[message.globalPolicyEvaluationMode] : message.globalPolicyEvaluationMode;
+ if (message.kubernetesServiceAccountAdmissionRules && (keys2 = Object.keys(message.kubernetesServiceAccountAdmissionRules)).length) {
+ object.kubernetesServiceAccountAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.kubernetesServiceAccountAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.toObject(message.kubernetesServiceAccountAdmissionRules[keys2[j]], options);
+ }
+ if (message.istioServiceIdentityAdmissionRules && (keys2 = Object.keys(message.istioServiceIdentityAdmissionRules)).length) {
+ object.istioServiceIdentityAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.istioServiceIdentityAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.toObject(message.istioServiceIdentityAdmissionRules[keys2[j]], options);
+ }
+ if (message.kubernetesNamespaceAdmissionRules && (keys2 = Object.keys(message.kubernetesNamespaceAdmissionRules)).length) {
+ object.kubernetesNamespaceAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.kubernetesNamespaceAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1.AdmissionRule.toObject(message.kubernetesNamespaceAdmissionRules[keys2[j]], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Policy to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Policy.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Policy
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.Policy
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Policy.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.Policy";
+ };
+
+ /**
+ * GlobalPolicyEvaluationMode enum.
+ * @name google.cloud.binaryauthorization.v1.Policy.GlobalPolicyEvaluationMode
+ * @enum {number}
+ * @property {number} GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED=0 GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED value
+ * @property {number} ENABLE=1 ENABLE value
+ * @property {number} DISABLE=2 DISABLE value
+ */
+ Policy.GlobalPolicyEvaluationMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ENABLE"] = 1;
+ values[valuesById[2] = "DISABLE"] = 2;
+ return values;
+ })();
+
+ return Policy;
+ })();
+
+ v1.AdmissionWhitelistPattern = (function() {
+
+ /**
+ * Properties of an AdmissionWhitelistPattern.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IAdmissionWhitelistPattern
+ * @property {string|null} [namePattern] AdmissionWhitelistPattern namePattern
+ */
+
+ /**
+ * Constructs a new AdmissionWhitelistPattern.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents an AdmissionWhitelistPattern.
+ * @implements IAdmissionWhitelistPattern
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern=} [properties] Properties to set
+ */
+ function AdmissionWhitelistPattern(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]];
+ }
+
+ /**
+ * AdmissionWhitelistPattern namePattern.
+ * @member {string} namePattern
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @instance
+ */
+ AdmissionWhitelistPattern.prototype.namePattern = "";
+
+ /**
+ * Creates a new AdmissionWhitelistPattern instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern} AdmissionWhitelistPattern instance
+ */
+ AdmissionWhitelistPattern.create = function create(properties) {
+ return new AdmissionWhitelistPattern(properties);
+ };
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern} message AdmissionWhitelistPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionWhitelistPattern.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.namePattern != null && Object.hasOwnProperty.call(message, "namePattern"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePattern);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionWhitelistPattern} message AdmissionWhitelistPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionWhitelistPattern.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern} AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionWhitelistPattern.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.binaryauthorization.v1.AdmissionWhitelistPattern();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.namePattern = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern} AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionWhitelistPattern.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AdmissionWhitelistPattern message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AdmissionWhitelistPattern.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.namePattern != null && message.hasOwnProperty("namePattern"))
+ if (!$util.isString(message.namePattern))
+ return "namePattern: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AdmissionWhitelistPattern message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern} AdmissionWhitelistPattern
+ */
+ AdmissionWhitelistPattern.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern();
+ if (object.namePattern != null)
+ message.namePattern = String(object.namePattern);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AdmissionWhitelistPattern message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern} message AdmissionWhitelistPattern
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AdmissionWhitelistPattern.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.namePattern = "";
+ if (message.namePattern != null && message.hasOwnProperty("namePattern"))
+ object.namePattern = message.namePattern;
+ return object;
+ };
+
+ /**
+ * Converts this AdmissionWhitelistPattern to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AdmissionWhitelistPattern.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AdmissionWhitelistPattern
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AdmissionWhitelistPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.AdmissionWhitelistPattern";
+ };
+
+ return AdmissionWhitelistPattern;
+ })();
+
+ v1.AdmissionRule = (function() {
+
+ /**
+ * Properties of an AdmissionRule.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IAdmissionRule
+ * @property {google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode|null} [evaluationMode] AdmissionRule evaluationMode
+ * @property {Array.|null} [requireAttestationsBy] AdmissionRule requireAttestationsBy
+ * @property {google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode|null} [enforcementMode] AdmissionRule enforcementMode
+ */
+
+ /**
+ * Constructs a new AdmissionRule.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents an AdmissionRule.
+ * @implements IAdmissionRule
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionRule=} [properties] Properties to set
+ */
+ function AdmissionRule(properties) {
+ this.requireAttestationsBy = [];
+ 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]];
+ }
+
+ /**
+ * AdmissionRule evaluationMode.
+ * @member {google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode} evaluationMode
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @instance
+ */
+ AdmissionRule.prototype.evaluationMode = 0;
+
+ /**
+ * AdmissionRule requireAttestationsBy.
+ * @member {Array.} requireAttestationsBy
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @instance
+ */
+ AdmissionRule.prototype.requireAttestationsBy = $util.emptyArray;
+
+ /**
+ * AdmissionRule enforcementMode.
+ * @member {google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode} enforcementMode
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @instance
+ */
+ AdmissionRule.prototype.enforcementMode = 0;
+
+ /**
+ * Creates a new AdmissionRule instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionRule=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionRule} AdmissionRule instance
+ */
+ AdmissionRule.create = function create(properties) {
+ return new AdmissionRule(properties);
+ };
+
+ /**
+ * Encodes the specified AdmissionRule message. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionRule} message AdmissionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.evaluationMode != null && Object.hasOwnProperty.call(message, "evaluationMode"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.evaluationMode);
+ if (message.requireAttestationsBy != null && message.requireAttestationsBy.length)
+ for (var i = 0; i < message.requireAttestationsBy.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requireAttestationsBy[i]);
+ if (message.enforcementMode != null && Object.hasOwnProperty.call(message, "enforcementMode"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.enforcementMode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AdmissionRule message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.AdmissionRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAdmissionRule} message AdmissionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionRule} AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionRule.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.binaryauthorization.v1.AdmissionRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.evaluationMode = reader.int32();
+ break;
+ }
+ case 2: {
+ if (!(message.requireAttestationsBy && message.requireAttestationsBy.length))
+ message.requireAttestationsBy = [];
+ message.requireAttestationsBy.push(reader.string());
+ break;
+ }
+ case 3: {
+ message.enforcementMode = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionRule} AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AdmissionRule message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AdmissionRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.evaluationMode != null && message.hasOwnProperty("evaluationMode"))
+ switch (message.evaluationMode) {
+ default:
+ return "evaluationMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.requireAttestationsBy != null && message.hasOwnProperty("requireAttestationsBy")) {
+ if (!Array.isArray(message.requireAttestationsBy))
+ return "requireAttestationsBy: array expected";
+ for (var i = 0; i < message.requireAttestationsBy.length; ++i)
+ if (!$util.isString(message.requireAttestationsBy[i]))
+ return "requireAttestationsBy: string[] expected";
+ }
+ if (message.enforcementMode != null && message.hasOwnProperty("enforcementMode"))
+ switch (message.enforcementMode) {
+ default:
+ return "enforcementMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AdmissionRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.AdmissionRule} AdmissionRule
+ */
+ AdmissionRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.AdmissionRule)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.AdmissionRule();
+ switch (object.evaluationMode) {
+ default:
+ if (typeof object.evaluationMode === "number") {
+ message.evaluationMode = object.evaluationMode;
+ break;
+ }
+ break;
+ case "EVALUATION_MODE_UNSPECIFIED":
+ case 0:
+ message.evaluationMode = 0;
+ break;
+ case "ALWAYS_ALLOW":
+ case 1:
+ message.evaluationMode = 1;
+ break;
+ case "REQUIRE_ATTESTATION":
+ case 2:
+ message.evaluationMode = 2;
+ break;
+ case "ALWAYS_DENY":
+ case 3:
+ message.evaluationMode = 3;
+ break;
+ }
+ if (object.requireAttestationsBy) {
+ if (!Array.isArray(object.requireAttestationsBy))
+ throw TypeError(".google.cloud.binaryauthorization.v1.AdmissionRule.requireAttestationsBy: array expected");
+ message.requireAttestationsBy = [];
+ for (var i = 0; i < object.requireAttestationsBy.length; ++i)
+ message.requireAttestationsBy[i] = String(object.requireAttestationsBy[i]);
+ }
+ switch (object.enforcementMode) {
+ default:
+ if (typeof object.enforcementMode === "number") {
+ message.enforcementMode = object.enforcementMode;
+ break;
+ }
+ break;
+ case "ENFORCEMENT_MODE_UNSPECIFIED":
+ case 0:
+ message.enforcementMode = 0;
+ break;
+ case "ENFORCED_BLOCK_AND_AUDIT_LOG":
+ case 1:
+ message.enforcementMode = 1;
+ break;
+ case "DRYRUN_AUDIT_LOG_ONLY":
+ case 2:
+ message.enforcementMode = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AdmissionRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.AdmissionRule} message AdmissionRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AdmissionRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.requireAttestationsBy = [];
+ if (options.defaults) {
+ object.evaluationMode = options.enums === String ? "EVALUATION_MODE_UNSPECIFIED" : 0;
+ object.enforcementMode = options.enums === String ? "ENFORCEMENT_MODE_UNSPECIFIED" : 0;
+ }
+ if (message.evaluationMode != null && message.hasOwnProperty("evaluationMode"))
+ object.evaluationMode = options.enums === String ? $root.google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode[message.evaluationMode] === undefined ? message.evaluationMode : $root.google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode[message.evaluationMode] : message.evaluationMode;
+ if (message.requireAttestationsBy && message.requireAttestationsBy.length) {
+ object.requireAttestationsBy = [];
+ for (var j = 0; j < message.requireAttestationsBy.length; ++j)
+ object.requireAttestationsBy[j] = message.requireAttestationsBy[j];
+ }
+ if (message.enforcementMode != null && message.hasOwnProperty("enforcementMode"))
+ object.enforcementMode = options.enums === String ? $root.google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode[message.enforcementMode] === undefined ? message.enforcementMode : $root.google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode[message.enforcementMode] : message.enforcementMode;
+ return object;
+ };
+
+ /**
+ * Converts this AdmissionRule to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AdmissionRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AdmissionRule
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.AdmissionRule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AdmissionRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.AdmissionRule";
+ };
+
+ /**
+ * EvaluationMode enum.
+ * @name google.cloud.binaryauthorization.v1.AdmissionRule.EvaluationMode
+ * @enum {number}
+ * @property {number} EVALUATION_MODE_UNSPECIFIED=0 EVALUATION_MODE_UNSPECIFIED value
+ * @property {number} ALWAYS_ALLOW=1 ALWAYS_ALLOW value
+ * @property {number} REQUIRE_ATTESTATION=2 REQUIRE_ATTESTATION value
+ * @property {number} ALWAYS_DENY=3 ALWAYS_DENY value
+ */
+ AdmissionRule.EvaluationMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "EVALUATION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ALWAYS_ALLOW"] = 1;
+ values[valuesById[2] = "REQUIRE_ATTESTATION"] = 2;
+ values[valuesById[3] = "ALWAYS_DENY"] = 3;
+ return values;
+ })();
+
+ /**
+ * EnforcementMode enum.
+ * @name google.cloud.binaryauthorization.v1.AdmissionRule.EnforcementMode
+ * @enum {number}
+ * @property {number} ENFORCEMENT_MODE_UNSPECIFIED=0 ENFORCEMENT_MODE_UNSPECIFIED value
+ * @property {number} ENFORCED_BLOCK_AND_AUDIT_LOG=1 ENFORCED_BLOCK_AND_AUDIT_LOG value
+ * @property {number} DRYRUN_AUDIT_LOG_ONLY=2 DRYRUN_AUDIT_LOG_ONLY value
+ */
+ AdmissionRule.EnforcementMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ENFORCEMENT_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ENFORCED_BLOCK_AND_AUDIT_LOG"] = 1;
+ values[valuesById[2] = "DRYRUN_AUDIT_LOG_ONLY"] = 2;
+ return values;
+ })();
+
+ return AdmissionRule;
+ })();
+
+ v1.Attestor = (function() {
+
+ /**
+ * Properties of an Attestor.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IAttestor
+ * @property {string|null} [name] Attestor name
+ * @property {string|null} [description] Attestor description
+ * @property {google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote|null} [userOwnedGrafeasNote] Attestor userOwnedGrafeasNote
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Attestor updateTime
+ */
+
+ /**
+ * Constructs a new Attestor.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents an Attestor.
+ * @implements IAttestor
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IAttestor=} [properties] Properties to set
+ */
+ function Attestor(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]];
+ }
+
+ /**
+ * Attestor name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @instance
+ */
+ Attestor.prototype.name = "";
+
+ /**
+ * Attestor description.
+ * @member {string} description
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @instance
+ */
+ Attestor.prototype.description = "";
+
+ /**
+ * Attestor userOwnedGrafeasNote.
+ * @member {google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote|null|undefined} userOwnedGrafeasNote
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @instance
+ */
+ Attestor.prototype.userOwnedGrafeasNote = null;
+
+ /**
+ * Attestor updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @instance
+ */
+ Attestor.prototype.updateTime = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Attestor attestorType.
+ * @member {"userOwnedGrafeasNote"|undefined} attestorType
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @instance
+ */
+ Object.defineProperty(Attestor.prototype, "attestorType", {
+ get: $util.oneOfGetter($oneOfFields = ["userOwnedGrafeasNote"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Attestor instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAttestor=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.Attestor} Attestor instance
+ */
+ Attestor.create = function create(properties) {
+ return new Attestor(properties);
+ };
+
+ /**
+ * Encodes the specified Attestor message. Does not implicitly {@link google.cloud.binaryauthorization.v1.Attestor.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAttestor} message Attestor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Attestor.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.userOwnedGrafeasNote != null && Object.hasOwnProperty.call(message, "userOwnedGrafeasNote"))
+ $root.google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.encode(message.userOwnedGrafeasNote, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.description);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Attestor message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.Attestor.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAttestor} message Attestor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Attestor.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.Attestor} Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Attestor.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.binaryauthorization.v1.Attestor();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 6: {
+ message.description = reader.string();
+ break;
+ }
+ case 3: {
+ message.userOwnedGrafeasNote = $root.google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.Attestor} Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Attestor.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Attestor message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Attestor.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.userOwnedGrafeasNote != null && message.hasOwnProperty("userOwnedGrafeasNote")) {
+ properties.attestorType = 1;
+ {
+ var error = $root.google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.verify(message.userOwnedGrafeasNote);
+ if (error)
+ return "userOwnedGrafeasNote." + error;
+ }
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Attestor message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.Attestor} Attestor
+ */
+ Attestor.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.Attestor)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.Attestor();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.userOwnedGrafeasNote != null) {
+ if (typeof object.userOwnedGrafeasNote !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Attestor.userOwnedGrafeasNote: object expected");
+ message.userOwnedGrafeasNote = $root.google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.fromObject(object.userOwnedGrafeasNote);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.Attestor.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Attestor message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.Attestor} message Attestor
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Attestor.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.updateTime = null;
+ object.description = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.userOwnedGrafeasNote != null && message.hasOwnProperty("userOwnedGrafeasNote")) {
+ object.userOwnedGrafeasNote = $root.google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.toObject(message.userOwnedGrafeasNote, options);
+ if (options.oneofs)
+ object.attestorType = "userOwnedGrafeasNote";
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ return object;
+ };
+
+ /**
+ * Converts this Attestor to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Attestor.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Attestor
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.Attestor
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Attestor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.Attestor";
+ };
+
+ return Attestor;
+ })();
+
+ v1.UserOwnedGrafeasNote = (function() {
+
+ /**
+ * Properties of a UserOwnedGrafeasNote.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IUserOwnedGrafeasNote
+ * @property {string|null} [noteReference] UserOwnedGrafeasNote noteReference
+ * @property {Array.|null} [publicKeys] UserOwnedGrafeasNote publicKeys
+ * @property {string|null} [delegationServiceAccountEmail] UserOwnedGrafeasNote delegationServiceAccountEmail
+ */
+
+ /**
+ * Constructs a new UserOwnedGrafeasNote.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a UserOwnedGrafeasNote.
+ * @implements IUserOwnedGrafeasNote
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote=} [properties] Properties to set
+ */
+ function UserOwnedGrafeasNote(properties) {
+ this.publicKeys = [];
+ 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]];
+ }
+
+ /**
+ * UserOwnedGrafeasNote noteReference.
+ * @member {string} noteReference
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @instance
+ */
+ UserOwnedGrafeasNote.prototype.noteReference = "";
+
+ /**
+ * UserOwnedGrafeasNote publicKeys.
+ * @member {Array.} publicKeys
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @instance
+ */
+ UserOwnedGrafeasNote.prototype.publicKeys = $util.emptyArray;
+
+ /**
+ * UserOwnedGrafeasNote delegationServiceAccountEmail.
+ * @member {string} delegationServiceAccountEmail
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @instance
+ */
+ UserOwnedGrafeasNote.prototype.delegationServiceAccountEmail = "";
+
+ /**
+ * Creates a new UserOwnedGrafeasNote instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote} UserOwnedGrafeasNote instance
+ */
+ UserOwnedGrafeasNote.create = function create(properties) {
+ return new UserOwnedGrafeasNote(properties);
+ };
+
+ /**
+ * Encodes the specified UserOwnedGrafeasNote message. Does not implicitly {@link google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote} message UserOwnedGrafeasNote message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UserOwnedGrafeasNote.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.noteReference != null && Object.hasOwnProperty.call(message, "noteReference"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.noteReference);
+ if (message.publicKeys != null && message.publicKeys.length)
+ for (var i = 0; i < message.publicKeys.length; ++i)
+ $root.google.cloud.binaryauthorization.v1.AttestorPublicKey.encode(message.publicKeys[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.delegationServiceAccountEmail != null && Object.hasOwnProperty.call(message, "delegationServiceAccountEmail"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.delegationServiceAccountEmail);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UserOwnedGrafeasNote message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUserOwnedGrafeasNote} message UserOwnedGrafeasNote message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UserOwnedGrafeasNote.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a UserOwnedGrafeasNote message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote} UserOwnedGrafeasNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UserOwnedGrafeasNote.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.binaryauthorization.v1.UserOwnedGrafeasNote();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.noteReference = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.publicKeys && message.publicKeys.length))
+ message.publicKeys = [];
+ message.publicKeys.push($root.google.cloud.binaryauthorization.v1.AttestorPublicKey.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.delegationServiceAccountEmail = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a UserOwnedGrafeasNote message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote} UserOwnedGrafeasNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UserOwnedGrafeasNote.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a UserOwnedGrafeasNote message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UserOwnedGrafeasNote.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.noteReference != null && message.hasOwnProperty("noteReference"))
+ if (!$util.isString(message.noteReference))
+ return "noteReference: string expected";
+ if (message.publicKeys != null && message.hasOwnProperty("publicKeys")) {
+ if (!Array.isArray(message.publicKeys))
+ return "publicKeys: array expected";
+ for (var i = 0; i < message.publicKeys.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1.AttestorPublicKey.verify(message.publicKeys[i]);
+ if (error)
+ return "publicKeys." + error;
+ }
+ }
+ if (message.delegationServiceAccountEmail != null && message.hasOwnProperty("delegationServiceAccountEmail"))
+ if (!$util.isString(message.delegationServiceAccountEmail))
+ return "delegationServiceAccountEmail: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a UserOwnedGrafeasNote message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote} UserOwnedGrafeasNote
+ */
+ UserOwnedGrafeasNote.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote();
+ if (object.noteReference != null)
+ message.noteReference = String(object.noteReference);
+ if (object.publicKeys) {
+ if (!Array.isArray(object.publicKeys))
+ throw TypeError(".google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.publicKeys: array expected");
+ message.publicKeys = [];
+ for (var i = 0; i < object.publicKeys.length; ++i) {
+ if (typeof object.publicKeys[i] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote.publicKeys: object expected");
+ message.publicKeys[i] = $root.google.cloud.binaryauthorization.v1.AttestorPublicKey.fromObject(object.publicKeys[i]);
+ }
+ }
+ if (object.delegationServiceAccountEmail != null)
+ message.delegationServiceAccountEmail = String(object.delegationServiceAccountEmail);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a UserOwnedGrafeasNote message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote} message UserOwnedGrafeasNote
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UserOwnedGrafeasNote.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.publicKeys = [];
+ if (options.defaults) {
+ object.noteReference = "";
+ object.delegationServiceAccountEmail = "";
+ }
+ if (message.noteReference != null && message.hasOwnProperty("noteReference"))
+ object.noteReference = message.noteReference;
+ if (message.publicKeys && message.publicKeys.length) {
+ object.publicKeys = [];
+ for (var j = 0; j < message.publicKeys.length; ++j)
+ object.publicKeys[j] = $root.google.cloud.binaryauthorization.v1.AttestorPublicKey.toObject(message.publicKeys[j], options);
+ }
+ if (message.delegationServiceAccountEmail != null && message.hasOwnProperty("delegationServiceAccountEmail"))
+ object.delegationServiceAccountEmail = message.delegationServiceAccountEmail;
+ return object;
+ };
+
+ /**
+ * Converts this UserOwnedGrafeasNote to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UserOwnedGrafeasNote.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UserOwnedGrafeasNote
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UserOwnedGrafeasNote.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.UserOwnedGrafeasNote";
+ };
+
+ return UserOwnedGrafeasNote;
+ })();
+
+ v1.PkixPublicKey = (function() {
+
+ /**
+ * Properties of a PkixPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IPkixPublicKey
+ * @property {string|null} [publicKeyPem] PkixPublicKey publicKeyPem
+ * @property {google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm|null} [signatureAlgorithm] PkixPublicKey signatureAlgorithm
+ */
+
+ /**
+ * Constructs a new PkixPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a PkixPublicKey.
+ * @implements IPkixPublicKey
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IPkixPublicKey=} [properties] Properties to set
+ */
+ function PkixPublicKey(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]];
+ }
+
+ /**
+ * PkixPublicKey publicKeyPem.
+ * @member {string} publicKeyPem
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @instance
+ */
+ PkixPublicKey.prototype.publicKeyPem = "";
+
+ /**
+ * PkixPublicKey signatureAlgorithm.
+ * @member {google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm} signatureAlgorithm
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @instance
+ */
+ PkixPublicKey.prototype.signatureAlgorithm = 0;
+
+ /**
+ * Creates a new PkixPublicKey instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IPkixPublicKey=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.PkixPublicKey} PkixPublicKey instance
+ */
+ PkixPublicKey.create = function create(properties) {
+ return new PkixPublicKey(properties);
+ };
+
+ /**
+ * Encodes the specified PkixPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1.PkixPublicKey.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IPkixPublicKey} message PkixPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PkixPublicKey.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.publicKeyPem != null && Object.hasOwnProperty.call(message, "publicKeyPem"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.publicKeyPem);
+ if (message.signatureAlgorithm != null && Object.hasOwnProperty.call(message, "signatureAlgorithm"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.signatureAlgorithm);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PkixPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.PkixPublicKey.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IPkixPublicKey} message PkixPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PkixPublicKey.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.PkixPublicKey} PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PkixPublicKey.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.binaryauthorization.v1.PkixPublicKey();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.publicKeyPem = reader.string();
+ break;
+ }
+ case 2: {
+ message.signatureAlgorithm = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.PkixPublicKey} PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PkixPublicKey.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PkixPublicKey message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PkixPublicKey.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.publicKeyPem != null && message.hasOwnProperty("publicKeyPem"))
+ if (!$util.isString(message.publicKeyPem))
+ return "publicKeyPem: string expected";
+ if (message.signatureAlgorithm != null && message.hasOwnProperty("signatureAlgorithm"))
+ switch (message.signatureAlgorithm) {
+ default:
+ return "signatureAlgorithm: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 9:
+ case 10:
+ case 10:
+ case 11:
+ case 11:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PkixPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.PkixPublicKey} PkixPublicKey
+ */
+ PkixPublicKey.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.PkixPublicKey)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.PkixPublicKey();
+ if (object.publicKeyPem != null)
+ message.publicKeyPem = String(object.publicKeyPem);
+ switch (object.signatureAlgorithm) {
+ default:
+ if (typeof object.signatureAlgorithm === "number") {
+ message.signatureAlgorithm = object.signatureAlgorithm;
+ break;
+ }
+ break;
+ case "SIGNATURE_ALGORITHM_UNSPECIFIED":
+ case 0:
+ message.signatureAlgorithm = 0;
+ break;
+ case "RSA_PSS_2048_SHA256":
+ case 1:
+ message.signatureAlgorithm = 1;
+ break;
+ case "RSA_PSS_3072_SHA256":
+ case 2:
+ message.signatureAlgorithm = 2;
+ break;
+ case "RSA_PSS_4096_SHA256":
+ case 3:
+ message.signatureAlgorithm = 3;
+ break;
+ case "RSA_PSS_4096_SHA512":
+ case 4:
+ message.signatureAlgorithm = 4;
+ break;
+ case "RSA_SIGN_PKCS1_2048_SHA256":
+ case 5:
+ message.signatureAlgorithm = 5;
+ break;
+ case "RSA_SIGN_PKCS1_3072_SHA256":
+ case 6:
+ message.signatureAlgorithm = 6;
+ break;
+ case "RSA_SIGN_PKCS1_4096_SHA256":
+ case 7:
+ message.signatureAlgorithm = 7;
+ break;
+ case "RSA_SIGN_PKCS1_4096_SHA512":
+ case 8:
+ message.signatureAlgorithm = 8;
+ break;
+ case "ECDSA_P256_SHA256":
+ case 9:
+ message.signatureAlgorithm = 9;
+ break;
+ case "EC_SIGN_P256_SHA256":
+ case 9:
+ message.signatureAlgorithm = 9;
+ break;
+ case "ECDSA_P384_SHA384":
+ case 10:
+ message.signatureAlgorithm = 10;
+ break;
+ case "EC_SIGN_P384_SHA384":
+ case 10:
+ message.signatureAlgorithm = 10;
+ break;
+ case "ECDSA_P521_SHA512":
+ case 11:
+ message.signatureAlgorithm = 11;
+ break;
+ case "EC_SIGN_P521_SHA512":
+ case 11:
+ message.signatureAlgorithm = 11;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PkixPublicKey message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.PkixPublicKey} message PkixPublicKey
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PkixPublicKey.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.publicKeyPem = "";
+ object.signatureAlgorithm = options.enums === String ? "SIGNATURE_ALGORITHM_UNSPECIFIED" : 0;
+ }
+ if (message.publicKeyPem != null && message.hasOwnProperty("publicKeyPem"))
+ object.publicKeyPem = message.publicKeyPem;
+ if (message.signatureAlgorithm != null && message.hasOwnProperty("signatureAlgorithm"))
+ object.signatureAlgorithm = options.enums === String ? $root.google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm[message.signatureAlgorithm] === undefined ? message.signatureAlgorithm : $root.google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm[message.signatureAlgorithm] : message.signatureAlgorithm;
+ return object;
+ };
+
+ /**
+ * Converts this PkixPublicKey to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PkixPublicKey.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PkixPublicKey
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.PkixPublicKey
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PkixPublicKey.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.PkixPublicKey";
+ };
+
+ /**
+ * SignatureAlgorithm enum.
+ * @name google.cloud.binaryauthorization.v1.PkixPublicKey.SignatureAlgorithm
+ * @enum {number}
+ * @property {number} SIGNATURE_ALGORITHM_UNSPECIFIED=0 SIGNATURE_ALGORITHM_UNSPECIFIED value
+ * @property {number} RSA_PSS_2048_SHA256=1 RSA_PSS_2048_SHA256 value
+ * @property {number} RSA_PSS_3072_SHA256=2 RSA_PSS_3072_SHA256 value
+ * @property {number} RSA_PSS_4096_SHA256=3 RSA_PSS_4096_SHA256 value
+ * @property {number} RSA_PSS_4096_SHA512=4 RSA_PSS_4096_SHA512 value
+ * @property {number} RSA_SIGN_PKCS1_2048_SHA256=5 RSA_SIGN_PKCS1_2048_SHA256 value
+ * @property {number} RSA_SIGN_PKCS1_3072_SHA256=6 RSA_SIGN_PKCS1_3072_SHA256 value
+ * @property {number} RSA_SIGN_PKCS1_4096_SHA256=7 RSA_SIGN_PKCS1_4096_SHA256 value
+ * @property {number} RSA_SIGN_PKCS1_4096_SHA512=8 RSA_SIGN_PKCS1_4096_SHA512 value
+ * @property {number} ECDSA_P256_SHA256=9 ECDSA_P256_SHA256 value
+ * @property {number} EC_SIGN_P256_SHA256=9 EC_SIGN_P256_SHA256 value
+ * @property {number} ECDSA_P384_SHA384=10 ECDSA_P384_SHA384 value
+ * @property {number} EC_SIGN_P384_SHA384=10 EC_SIGN_P384_SHA384 value
+ * @property {number} ECDSA_P521_SHA512=11 ECDSA_P521_SHA512 value
+ * @property {number} EC_SIGN_P521_SHA512=11 EC_SIGN_P521_SHA512 value
+ */
+ PkixPublicKey.SignatureAlgorithm = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SIGNATURE_ALGORITHM_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "RSA_PSS_2048_SHA256"] = 1;
+ values[valuesById[2] = "RSA_PSS_3072_SHA256"] = 2;
+ values[valuesById[3] = "RSA_PSS_4096_SHA256"] = 3;
+ values[valuesById[4] = "RSA_PSS_4096_SHA512"] = 4;
+ values[valuesById[5] = "RSA_SIGN_PKCS1_2048_SHA256"] = 5;
+ values[valuesById[6] = "RSA_SIGN_PKCS1_3072_SHA256"] = 6;
+ values[valuesById[7] = "RSA_SIGN_PKCS1_4096_SHA256"] = 7;
+ values[valuesById[8] = "RSA_SIGN_PKCS1_4096_SHA512"] = 8;
+ values[valuesById[9] = "ECDSA_P256_SHA256"] = 9;
+ values["EC_SIGN_P256_SHA256"] = 9;
+ values[valuesById[10] = "ECDSA_P384_SHA384"] = 10;
+ values["EC_SIGN_P384_SHA384"] = 10;
+ values[valuesById[11] = "ECDSA_P521_SHA512"] = 11;
+ values["EC_SIGN_P521_SHA512"] = 11;
+ return values;
+ })();
+
+ return PkixPublicKey;
+ })();
+
+ v1.AttestorPublicKey = (function() {
+
+ /**
+ * Properties of an AttestorPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IAttestorPublicKey
+ * @property {string|null} [comment] AttestorPublicKey comment
+ * @property {string|null} [id] AttestorPublicKey id
+ * @property {string|null} [asciiArmoredPgpPublicKey] AttestorPublicKey asciiArmoredPgpPublicKey
+ * @property {google.cloud.binaryauthorization.v1.IPkixPublicKey|null} [pkixPublicKey] AttestorPublicKey pkixPublicKey
+ */
+
+ /**
+ * Constructs a new AttestorPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents an AttestorPublicKey.
+ * @implements IAttestorPublicKey
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IAttestorPublicKey=} [properties] Properties to set
+ */
+ function AttestorPublicKey(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]];
+ }
+
+ /**
+ * AttestorPublicKey comment.
+ * @member {string} comment
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.comment = "";
+
+ /**
+ * AttestorPublicKey id.
+ * @member {string} id
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.id = "";
+
+ /**
+ * AttestorPublicKey asciiArmoredPgpPublicKey.
+ * @member {string|null|undefined} asciiArmoredPgpPublicKey
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.asciiArmoredPgpPublicKey = null;
+
+ /**
+ * AttestorPublicKey pkixPublicKey.
+ * @member {google.cloud.binaryauthorization.v1.IPkixPublicKey|null|undefined} pkixPublicKey
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.pkixPublicKey = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AttestorPublicKey publicKey.
+ * @member {"asciiArmoredPgpPublicKey"|"pkixPublicKey"|undefined} publicKey
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @instance
+ */
+ Object.defineProperty(AttestorPublicKey.prototype, "publicKey", {
+ get: $util.oneOfGetter($oneOfFields = ["asciiArmoredPgpPublicKey", "pkixPublicKey"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AttestorPublicKey instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAttestorPublicKey=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.AttestorPublicKey} AttestorPublicKey instance
+ */
+ AttestorPublicKey.create = function create(properties) {
+ return new AttestorPublicKey(properties);
+ };
+
+ /**
+ * Encodes the specified AttestorPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1.AttestorPublicKey.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAttestorPublicKey} message AttestorPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttestorPublicKey.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.comment != null && Object.hasOwnProperty.call(message, "comment"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.comment);
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.id);
+ if (message.asciiArmoredPgpPublicKey != null && Object.hasOwnProperty.call(message, "asciiArmoredPgpPublicKey"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.asciiArmoredPgpPublicKey);
+ if (message.pkixPublicKey != null && Object.hasOwnProperty.call(message, "pkixPublicKey"))
+ $root.google.cloud.binaryauthorization.v1.PkixPublicKey.encode(message.pkixPublicKey, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AttestorPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.AttestorPublicKey.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IAttestorPublicKey} message AttestorPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttestorPublicKey.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.AttestorPublicKey} AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttestorPublicKey.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.binaryauthorization.v1.AttestorPublicKey();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.comment = reader.string();
+ break;
+ }
+ case 2: {
+ message.id = reader.string();
+ break;
+ }
+ case 3: {
+ message.asciiArmoredPgpPublicKey = reader.string();
+ break;
+ }
+ case 5: {
+ message.pkixPublicKey = $root.google.cloud.binaryauthorization.v1.PkixPublicKey.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.AttestorPublicKey} AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttestorPublicKey.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AttestorPublicKey message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AttestorPublicKey.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.comment != null && message.hasOwnProperty("comment"))
+ if (!$util.isString(message.comment))
+ return "comment: string expected";
+ if (message.id != null && message.hasOwnProperty("id"))
+ if (!$util.isString(message.id))
+ return "id: string expected";
+ if (message.asciiArmoredPgpPublicKey != null && message.hasOwnProperty("asciiArmoredPgpPublicKey")) {
+ properties.publicKey = 1;
+ if (!$util.isString(message.asciiArmoredPgpPublicKey))
+ return "asciiArmoredPgpPublicKey: string expected";
+ }
+ if (message.pkixPublicKey != null && message.hasOwnProperty("pkixPublicKey")) {
+ if (properties.publicKey === 1)
+ return "publicKey: multiple values";
+ properties.publicKey = 1;
+ {
+ var error = $root.google.cloud.binaryauthorization.v1.PkixPublicKey.verify(message.pkixPublicKey);
+ if (error)
+ return "pkixPublicKey." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AttestorPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.AttestorPublicKey} AttestorPublicKey
+ */
+ AttestorPublicKey.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.AttestorPublicKey)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.AttestorPublicKey();
+ if (object.comment != null)
+ message.comment = String(object.comment);
+ if (object.id != null)
+ message.id = String(object.id);
+ if (object.asciiArmoredPgpPublicKey != null)
+ message.asciiArmoredPgpPublicKey = String(object.asciiArmoredPgpPublicKey);
+ if (object.pkixPublicKey != null) {
+ if (typeof object.pkixPublicKey !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.AttestorPublicKey.pkixPublicKey: object expected");
+ message.pkixPublicKey = $root.google.cloud.binaryauthorization.v1.PkixPublicKey.fromObject(object.pkixPublicKey);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AttestorPublicKey message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.AttestorPublicKey} message AttestorPublicKey
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AttestorPublicKey.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.comment = "";
+ object.id = "";
+ }
+ if (message.comment != null && message.hasOwnProperty("comment"))
+ object.comment = message.comment;
+ if (message.id != null && message.hasOwnProperty("id"))
+ object.id = message.id;
+ if (message.asciiArmoredPgpPublicKey != null && message.hasOwnProperty("asciiArmoredPgpPublicKey")) {
+ object.asciiArmoredPgpPublicKey = message.asciiArmoredPgpPublicKey;
+ if (options.oneofs)
+ object.publicKey = "asciiArmoredPgpPublicKey";
+ }
+ if (message.pkixPublicKey != null && message.hasOwnProperty("pkixPublicKey")) {
+ object.pkixPublicKey = $root.google.cloud.binaryauthorization.v1.PkixPublicKey.toObject(message.pkixPublicKey, options);
+ if (options.oneofs)
+ object.publicKey = "pkixPublicKey";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AttestorPublicKey to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AttestorPublicKey.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AttestorPublicKey
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.AttestorPublicKey
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AttestorPublicKey.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.AttestorPublicKey";
+ };
+
+ return AttestorPublicKey;
+ })();
+
+ v1.BinauthzManagementServiceV1 = (function() {
+
+ /**
+ * Constructs a new BinauthzManagementServiceV1 service.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a BinauthzManagementServiceV1
+ * @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 BinauthzManagementServiceV1(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (BinauthzManagementServiceV1.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = BinauthzManagementServiceV1;
+
+ /**
+ * Creates new BinauthzManagementServiceV1 service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @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 {BinauthzManagementServiceV1} RPC service. Useful where requests and/or responses are streamed.
+ */
+ BinauthzManagementServiceV1.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|getPolicy}.
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @typedef GetPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls GetPolicy.
+ * @function getPolicy
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IGetPolicyRequest} request GetPolicyRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.GetPolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1.prototype.getPolicy = function getPolicy(request, callback) {
+ return this.rpcCall(getPolicy, $root.google.cloud.binaryauthorization.v1.GetPolicyRequest, $root.google.cloud.binaryauthorization.v1.Policy, request, callback);
+ }, "name", { value: "GetPolicy" });
+
+ /**
+ * Calls GetPolicy.
+ * @function getPolicy
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IGetPolicyRequest} request GetPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|updatePolicy}.
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @typedef UpdatePolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls UpdatePolicy.
+ * @function updatePolicy
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IUpdatePolicyRequest} request UpdatePolicyRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.UpdatePolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1.prototype.updatePolicy = function updatePolicy(request, callback) {
+ return this.rpcCall(updatePolicy, $root.google.cloud.binaryauthorization.v1.UpdatePolicyRequest, $root.google.cloud.binaryauthorization.v1.Policy, request, callback);
+ }, "name", { value: "UpdatePolicy" });
+
+ /**
+ * Calls UpdatePolicy.
+ * @function updatePolicy
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IUpdatePolicyRequest} request UpdatePolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|createAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @typedef CreateAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.Attestor} [response] Attestor
+ */
+
+ /**
+ * Calls CreateAttestor.
+ * @function createAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.ICreateAttestorRequest} request CreateAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.CreateAttestorCallback} callback Node-style callback called with the error, if any, and Attestor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1.prototype.createAttestor = function createAttestor(request, callback) {
+ return this.rpcCall(createAttestor, $root.google.cloud.binaryauthorization.v1.CreateAttestorRequest, $root.google.cloud.binaryauthorization.v1.Attestor, request, callback);
+ }, "name", { value: "CreateAttestor" });
+
+ /**
+ * Calls CreateAttestor.
+ * @function createAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.ICreateAttestorRequest} request CreateAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|getAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @typedef GetAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.Attestor} [response] Attestor
+ */
+
+ /**
+ * Calls GetAttestor.
+ * @function getAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IGetAttestorRequest} request GetAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.GetAttestorCallback} callback Node-style callback called with the error, if any, and Attestor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1.prototype.getAttestor = function getAttestor(request, callback) {
+ return this.rpcCall(getAttestor, $root.google.cloud.binaryauthorization.v1.GetAttestorRequest, $root.google.cloud.binaryauthorization.v1.Attestor, request, callback);
+ }, "name", { value: "GetAttestor" });
+
+ /**
+ * Calls GetAttestor.
+ * @function getAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IGetAttestorRequest} request GetAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|updateAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @typedef UpdateAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.Attestor} [response] Attestor
+ */
+
+ /**
+ * Calls UpdateAttestor.
+ * @function updateAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IUpdateAttestorRequest} request UpdateAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.UpdateAttestorCallback} callback Node-style callback called with the error, if any, and Attestor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1.prototype.updateAttestor = function updateAttestor(request, callback) {
+ return this.rpcCall(updateAttestor, $root.google.cloud.binaryauthorization.v1.UpdateAttestorRequest, $root.google.cloud.binaryauthorization.v1.Attestor, request, callback);
+ }, "name", { value: "UpdateAttestor" });
+
+ /**
+ * Calls UpdateAttestor.
+ * @function updateAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IUpdateAttestorRequest} request UpdateAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|listAttestors}.
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @typedef ListAttestorsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.ListAttestorsResponse} [response] ListAttestorsResponse
+ */
+
+ /**
+ * Calls ListAttestors.
+ * @function listAttestors
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsRequest} request ListAttestorsRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.ListAttestorsCallback} callback Node-style callback called with the error, if any, and ListAttestorsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1.prototype.listAttestors = function listAttestors(request, callback) {
+ return this.rpcCall(listAttestors, $root.google.cloud.binaryauthorization.v1.ListAttestorsRequest, $root.google.cloud.binaryauthorization.v1.ListAttestorsResponse, request, callback);
+ }, "name", { value: "ListAttestors" });
+
+ /**
+ * Calls ListAttestors.
+ * @function listAttestors
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsRequest} request ListAttestorsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1|deleteAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @typedef DeleteAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteAttestor.
+ * @function deleteAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IDeleteAttestorRequest} request DeleteAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1.DeleteAttestorCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1.prototype.deleteAttestor = function deleteAttestor(request, callback) {
+ return this.rpcCall(deleteAttestor, $root.google.cloud.binaryauthorization.v1.DeleteAttestorRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteAttestor" });
+
+ /**
+ * Calls DeleteAttestor.
+ * @function deleteAttestor
+ * @memberof google.cloud.binaryauthorization.v1.BinauthzManagementServiceV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IDeleteAttestorRequest} request DeleteAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return BinauthzManagementServiceV1;
+ })();
+
+ v1.SystemPolicyV1 = (function() {
+
+ /**
+ * Constructs a new SystemPolicyV1 service.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a SystemPolicyV1
+ * @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 SystemPolicyV1(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (SystemPolicyV1.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = SystemPolicyV1;
+
+ /**
+ * Creates new SystemPolicyV1 service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.SystemPolicyV1
+ * @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 {SystemPolicyV1} RPC service. Useful where requests and/or responses are streamed.
+ */
+ SystemPolicyV1.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.SystemPolicyV1|getSystemPolicy}.
+ * @memberof google.cloud.binaryauthorization.v1.SystemPolicyV1
+ * @typedef GetSystemPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls GetSystemPolicy.
+ * @function getSystemPolicy
+ * @memberof google.cloud.binaryauthorization.v1.SystemPolicyV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest} request GetSystemPolicyRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.SystemPolicyV1.GetSystemPolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(SystemPolicyV1.prototype.getSystemPolicy = function getSystemPolicy(request, callback) {
+ return this.rpcCall(getSystemPolicy, $root.google.cloud.binaryauthorization.v1.GetSystemPolicyRequest, $root.google.cloud.binaryauthorization.v1.Policy, request, callback);
+ }, "name", { value: "GetSystemPolicy" });
+
+ /**
+ * Calls GetSystemPolicy.
+ * @function getSystemPolicy
+ * @memberof google.cloud.binaryauthorization.v1.SystemPolicyV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest} request GetSystemPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return SystemPolicyV1;
+ })();
+
+ v1.ValidationHelperV1 = (function() {
+
+ /**
+ * Constructs a new ValidationHelperV1 service.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a ValidationHelperV1
+ * @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 ValidationHelperV1(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (ValidationHelperV1.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ValidationHelperV1;
+
+ /**
+ * Creates new ValidationHelperV1 service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.ValidationHelperV1
+ * @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 {ValidationHelperV1} RPC service. Useful where requests and/or responses are streamed.
+ */
+ ValidationHelperV1.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1.ValidationHelperV1|validateAttestationOccurrence}.
+ * @memberof google.cloud.binaryauthorization.v1.ValidationHelperV1
+ * @typedef ValidateAttestationOccurrenceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse} [response] ValidateAttestationOccurrenceResponse
+ */
+
+ /**
+ * Calls ValidateAttestationOccurrence.
+ * @function validateAttestationOccurrence
+ * @memberof google.cloud.binaryauthorization.v1.ValidationHelperV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest} request ValidateAttestationOccurrenceRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1.ValidationHelperV1.ValidateAttestationOccurrenceCallback} callback Node-style callback called with the error, if any, and ValidateAttestationOccurrenceResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(ValidationHelperV1.prototype.validateAttestationOccurrence = function validateAttestationOccurrence(request, callback) {
+ return this.rpcCall(validateAttestationOccurrence, $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest, $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse, request, callback);
+ }, "name", { value: "ValidateAttestationOccurrence" });
+
+ /**
+ * Calls ValidateAttestationOccurrence.
+ * @function validateAttestationOccurrence
+ * @memberof google.cloud.binaryauthorization.v1.ValidationHelperV1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest} request ValidateAttestationOccurrenceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return ValidationHelperV1;
+ })();
+
+ v1.GetPolicyRequest = (function() {
+
+ /**
+ * Properties of a GetPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IGetPolicyRequest
+ * @property {string|null} [name] GetPolicyRequest name
+ */
+
+ /**
+ * Constructs a new GetPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a GetPolicyRequest.
+ * @implements IGetPolicyRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IGetPolicyRequest=} [properties] Properties to set
+ */
+ function GetPolicyRequest(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]];
+ }
+
+ /**
+ * GetPolicyRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @instance
+ */
+ GetPolicyRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetPolicyRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.GetPolicyRequest} GetPolicyRequest instance
+ */
+ GetPolicyRequest.create = function create(properties) {
+ return new GetPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetPolicyRequest} message GetPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetPolicyRequest.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 GetPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetPolicyRequest} message GetPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.GetPolicyRequest} GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetPolicyRequest.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.binaryauthorization.v1.GetPolicyRequest();
+ 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 GetPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.GetPolicyRequest} GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetPolicyRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetPolicyRequest.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 GetPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.GetPolicyRequest} GetPolicyRequest
+ */
+ GetPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.GetPolicyRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.GetPolicyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.GetPolicyRequest} message GetPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetPolicyRequest.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 GetPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.GetPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.GetPolicyRequest";
+ };
+
+ return GetPolicyRequest;
+ })();
+
+ v1.UpdatePolicyRequest = (function() {
+
+ /**
+ * Properties of an UpdatePolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IUpdatePolicyRequest
+ * @property {google.cloud.binaryauthorization.v1.IPolicy|null} [policy] UpdatePolicyRequest policy
+ */
+
+ /**
+ * Constructs a new UpdatePolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents an UpdatePolicyRequest.
+ * @implements IUpdatePolicyRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IUpdatePolicyRequest=} [properties] Properties to set
+ */
+ function UpdatePolicyRequest(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]];
+ }
+
+ /**
+ * UpdatePolicyRequest policy.
+ * @member {google.cloud.binaryauthorization.v1.IPolicy|null|undefined} policy
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @instance
+ */
+ UpdatePolicyRequest.prototype.policy = null;
+
+ /**
+ * Creates a new UpdatePolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUpdatePolicyRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.UpdatePolicyRequest} UpdatePolicyRequest instance
+ */
+ UpdatePolicyRequest.create = function create(properties) {
+ return new UpdatePolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdatePolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUpdatePolicyRequest} message UpdatePolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdatePolicyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.policy != null && Object.hasOwnProperty.call(message, "policy"))
+ $root.google.cloud.binaryauthorization.v1.Policy.encode(message.policy, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdatePolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUpdatePolicyRequest} message UpdatePolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdatePolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.UpdatePolicyRequest} UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdatePolicyRequest.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.binaryauthorization.v1.UpdatePolicyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.policy = $root.google.cloud.binaryauthorization.v1.Policy.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.UpdatePolicyRequest} UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdatePolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdatePolicyRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdatePolicyRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.policy != null && message.hasOwnProperty("policy")) {
+ var error = $root.google.cloud.binaryauthorization.v1.Policy.verify(message.policy);
+ if (error)
+ return "policy." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdatePolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.UpdatePolicyRequest} UpdatePolicyRequest
+ */
+ UpdatePolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.UpdatePolicyRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.UpdatePolicyRequest();
+ if (object.policy != null) {
+ if (typeof object.policy !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.UpdatePolicyRequest.policy: object expected");
+ message.policy = $root.google.cloud.binaryauthorization.v1.Policy.fromObject(object.policy);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdatePolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.UpdatePolicyRequest} message UpdatePolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdatePolicyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.policy = null;
+ if (message.policy != null && message.hasOwnProperty("policy"))
+ object.policy = $root.google.cloud.binaryauthorization.v1.Policy.toObject(message.policy, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdatePolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdatePolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdatePolicyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.UpdatePolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdatePolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.UpdatePolicyRequest";
+ };
+
+ return UpdatePolicyRequest;
+ })();
+
+ v1.CreateAttestorRequest = (function() {
+
+ /**
+ * Properties of a CreateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface ICreateAttestorRequest
+ * @property {string|null} [parent] CreateAttestorRequest parent
+ * @property {string|null} [attestorId] CreateAttestorRequest attestorId
+ * @property {google.cloud.binaryauthorization.v1.IAttestor|null} [attestor] CreateAttestorRequest attestor
+ */
+
+ /**
+ * Constructs a new CreateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a CreateAttestorRequest.
+ * @implements ICreateAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.ICreateAttestorRequest=} [properties] Properties to set
+ */
+ function CreateAttestorRequest(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]];
+ }
+
+ /**
+ * CreateAttestorRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @instance
+ */
+ CreateAttestorRequest.prototype.parent = "";
+
+ /**
+ * CreateAttestorRequest attestorId.
+ * @member {string} attestorId
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @instance
+ */
+ CreateAttestorRequest.prototype.attestorId = "";
+
+ /**
+ * CreateAttestorRequest attestor.
+ * @member {google.cloud.binaryauthorization.v1.IAttestor|null|undefined} attestor
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @instance
+ */
+ CreateAttestorRequest.prototype.attestor = null;
+
+ /**
+ * Creates a new CreateAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.ICreateAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.CreateAttestorRequest} CreateAttestorRequest instance
+ */
+ CreateAttestorRequest.create = function create(properties) {
+ return new CreateAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.CreateAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.ICreateAttestorRequest} message CreateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateAttestorRequest.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.attestorId != null && Object.hasOwnProperty.call(message, "attestorId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.attestorId);
+ if (message.attestor != null && Object.hasOwnProperty.call(message, "attestor"))
+ $root.google.cloud.binaryauthorization.v1.Attestor.encode(message.attestor, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.CreateAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.ICreateAttestorRequest} message CreateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.CreateAttestorRequest} CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateAttestorRequest.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.binaryauthorization.v1.CreateAttestorRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.attestorId = reader.string();
+ break;
+ }
+ case 3: {
+ message.attestor = $root.google.cloud.binaryauthorization.v1.Attestor.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.CreateAttestorRequest} CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateAttestorRequest.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.attestorId != null && message.hasOwnProperty("attestorId"))
+ if (!$util.isString(message.attestorId))
+ return "attestorId: string expected";
+ if (message.attestor != null && message.hasOwnProperty("attestor")) {
+ var error = $root.google.cloud.binaryauthorization.v1.Attestor.verify(message.attestor);
+ if (error)
+ return "attestor." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.CreateAttestorRequest} CreateAttestorRequest
+ */
+ CreateAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.CreateAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.CreateAttestorRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.attestorId != null)
+ message.attestorId = String(object.attestorId);
+ if (object.attestor != null) {
+ if (typeof object.attestor !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.CreateAttestorRequest.attestor: object expected");
+ message.attestor = $root.google.cloud.binaryauthorization.v1.Attestor.fromObject(object.attestor);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.CreateAttestorRequest} message CreateAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateAttestorRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.attestorId = "";
+ object.attestor = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.attestorId != null && message.hasOwnProperty("attestorId"))
+ object.attestorId = message.attestorId;
+ if (message.attestor != null && message.hasOwnProperty("attestor"))
+ object.attestor = $root.google.cloud.binaryauthorization.v1.Attestor.toObject(message.attestor, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.CreateAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.CreateAttestorRequest";
+ };
+
+ return CreateAttestorRequest;
+ })();
+
+ v1.GetAttestorRequest = (function() {
+
+ /**
+ * Properties of a GetAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IGetAttestorRequest
+ * @property {string|null} [name] GetAttestorRequest name
+ */
+
+ /**
+ * Constructs a new GetAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a GetAttestorRequest.
+ * @implements IGetAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IGetAttestorRequest=} [properties] Properties to set
+ */
+ function GetAttestorRequest(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]];
+ }
+
+ /**
+ * GetAttestorRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @instance
+ */
+ GetAttestorRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.GetAttestorRequest} GetAttestorRequest instance
+ */
+ GetAttestorRequest.create = function create(properties) {
+ return new GetAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetAttestorRequest} message GetAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAttestorRequest.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 GetAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetAttestorRequest} message GetAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.GetAttestorRequest} GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAttestorRequest.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.binaryauthorization.v1.GetAttestorRequest();
+ 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 GetAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.GetAttestorRequest} GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetAttestorRequest.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 GetAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.GetAttestorRequest} GetAttestorRequest
+ */
+ GetAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.GetAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.GetAttestorRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.GetAttestorRequest} message GetAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetAttestorRequest.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 GetAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.GetAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.GetAttestorRequest";
+ };
+
+ return GetAttestorRequest;
+ })();
+
+ v1.UpdateAttestorRequest = (function() {
+
+ /**
+ * Properties of an UpdateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IUpdateAttestorRequest
+ * @property {google.cloud.binaryauthorization.v1.IAttestor|null} [attestor] UpdateAttestorRequest attestor
+ */
+
+ /**
+ * Constructs a new UpdateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents an UpdateAttestorRequest.
+ * @implements IUpdateAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IUpdateAttestorRequest=} [properties] Properties to set
+ */
+ function UpdateAttestorRequest(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]];
+ }
+
+ /**
+ * UpdateAttestorRequest attestor.
+ * @member {google.cloud.binaryauthorization.v1.IAttestor|null|undefined} attestor
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @instance
+ */
+ UpdateAttestorRequest.prototype.attestor = null;
+
+ /**
+ * Creates a new UpdateAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUpdateAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.UpdateAttestorRequest} UpdateAttestorRequest instance
+ */
+ UpdateAttestorRequest.create = function create(properties) {
+ return new UpdateAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdateAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUpdateAttestorRequest} message UpdateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateAttestorRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.attestor != null && Object.hasOwnProperty.call(message, "attestor"))
+ $root.google.cloud.binaryauthorization.v1.Attestor.encode(message.attestor, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.UpdateAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IUpdateAttestorRequest} message UpdateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.UpdateAttestorRequest} UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateAttestorRequest.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.binaryauthorization.v1.UpdateAttestorRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.attestor = $root.google.cloud.binaryauthorization.v1.Attestor.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.UpdateAttestorRequest} UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateAttestorRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.attestor != null && message.hasOwnProperty("attestor")) {
+ var error = $root.google.cloud.binaryauthorization.v1.Attestor.verify(message.attestor);
+ if (error)
+ return "attestor." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.UpdateAttestorRequest} UpdateAttestorRequest
+ */
+ UpdateAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.UpdateAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.UpdateAttestorRequest();
+ if (object.attestor != null) {
+ if (typeof object.attestor !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.UpdateAttestorRequest.attestor: object expected");
+ message.attestor = $root.google.cloud.binaryauthorization.v1.Attestor.fromObject(object.attestor);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.UpdateAttestorRequest} message UpdateAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateAttestorRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.attestor = null;
+ if (message.attestor != null && message.hasOwnProperty("attestor"))
+ object.attestor = $root.google.cloud.binaryauthorization.v1.Attestor.toObject(message.attestor, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.UpdateAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.UpdateAttestorRequest";
+ };
+
+ return UpdateAttestorRequest;
+ })();
+
+ v1.ListAttestorsRequest = (function() {
+
+ /**
+ * Properties of a ListAttestorsRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IListAttestorsRequest
+ * @property {string|null} [parent] ListAttestorsRequest parent
+ * @property {number|null} [pageSize] ListAttestorsRequest pageSize
+ * @property {string|null} [pageToken] ListAttestorsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListAttestorsRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a ListAttestorsRequest.
+ * @implements IListAttestorsRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsRequest=} [properties] Properties to set
+ */
+ function ListAttestorsRequest(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]];
+ }
+
+ /**
+ * ListAttestorsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @instance
+ */
+ ListAttestorsRequest.prototype.parent = "";
+
+ /**
+ * ListAttestorsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @instance
+ */
+ ListAttestorsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListAttestorsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @instance
+ */
+ ListAttestorsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListAttestorsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsRequest} ListAttestorsRequest instance
+ */
+ ListAttestorsRequest.create = function create(properties) {
+ return new ListAttestorsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListAttestorsRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsRequest} message ListAttestorsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListAttestorsRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsRequest} message ListAttestorsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsRequest} ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsRequest.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.binaryauthorization.v1.ListAttestorsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsRequest} ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAttestorsRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAttestorsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListAttestorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsRequest} ListAttestorsRequest
+ */
+ ListAttestorsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.ListAttestorsRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.ListAttestorsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListAttestorsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.ListAttestorsRequest} message ListAttestorsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAttestorsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListAttestorsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAttestorsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAttestorsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAttestorsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.ListAttestorsRequest";
+ };
+
+ return ListAttestorsRequest;
+ })();
+
+ v1.ListAttestorsResponse = (function() {
+
+ /**
+ * Properties of a ListAttestorsResponse.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IListAttestorsResponse
+ * @property {Array.|null} [attestors] ListAttestorsResponse attestors
+ * @property {string|null} [nextPageToken] ListAttestorsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListAttestorsResponse.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a ListAttestorsResponse.
+ * @implements IListAttestorsResponse
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsResponse=} [properties] Properties to set
+ */
+ function ListAttestorsResponse(properties) {
+ this.attestors = [];
+ 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]];
+ }
+
+ /**
+ * ListAttestorsResponse attestors.
+ * @member {Array.} attestors
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @instance
+ */
+ ListAttestorsResponse.prototype.attestors = $util.emptyArray;
+
+ /**
+ * ListAttestorsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @instance
+ */
+ ListAttestorsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListAttestorsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsResponse=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsResponse} ListAttestorsResponse instance
+ */
+ ListAttestorsResponse.create = function create(properties) {
+ return new ListAttestorsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListAttestorsResponse message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsResponse} message ListAttestorsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.attestors != null && message.attestors.length)
+ for (var i = 0; i < message.attestors.length; ++i)
+ $root.google.cloud.binaryauthorization.v1.Attestor.encode(message.attestors[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 ListAttestorsResponse message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ListAttestorsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IListAttestorsResponse} message ListAttestorsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsResponse} ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsResponse.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.binaryauthorization.v1.ListAttestorsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.attestors && message.attestors.length))
+ message.attestors = [];
+ message.attestors.push($root.google.cloud.binaryauthorization.v1.Attestor.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsResponse} ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAttestorsResponse message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAttestorsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.attestors != null && message.hasOwnProperty("attestors")) {
+ if (!Array.isArray(message.attestors))
+ return "attestors: array expected";
+ for (var i = 0; i < message.attestors.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1.Attestor.verify(message.attestors[i]);
+ if (error)
+ return "attestors." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListAttestorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.ListAttestorsResponse} ListAttestorsResponse
+ */
+ ListAttestorsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.ListAttestorsResponse)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.ListAttestorsResponse();
+ if (object.attestors) {
+ if (!Array.isArray(object.attestors))
+ throw TypeError(".google.cloud.binaryauthorization.v1.ListAttestorsResponse.attestors: array expected");
+ message.attestors = [];
+ for (var i = 0; i < object.attestors.length; ++i) {
+ if (typeof object.attestors[i] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.ListAttestorsResponse.attestors: object expected");
+ message.attestors[i] = $root.google.cloud.binaryauthorization.v1.Attestor.fromObject(object.attestors[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListAttestorsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.ListAttestorsResponse} message ListAttestorsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAttestorsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.attestors = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.attestors && message.attestors.length) {
+ object.attestors = [];
+ for (var j = 0; j < message.attestors.length; ++j)
+ object.attestors[j] = $root.google.cloud.binaryauthorization.v1.Attestor.toObject(message.attestors[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListAttestorsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAttestorsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAttestorsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.ListAttestorsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAttestorsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.ListAttestorsResponse";
+ };
+
+ return ListAttestorsResponse;
+ })();
+
+ v1.DeleteAttestorRequest = (function() {
+
+ /**
+ * Properties of a DeleteAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IDeleteAttestorRequest
+ * @property {string|null} [name] DeleteAttestorRequest name
+ */
+
+ /**
+ * Constructs a new DeleteAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a DeleteAttestorRequest.
+ * @implements IDeleteAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IDeleteAttestorRequest=} [properties] Properties to set
+ */
+ function DeleteAttestorRequest(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]];
+ }
+
+ /**
+ * DeleteAttestorRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @instance
+ */
+ DeleteAttestorRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IDeleteAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.DeleteAttestorRequest} DeleteAttestorRequest instance
+ */
+ DeleteAttestorRequest.create = function create(properties) {
+ return new DeleteAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.DeleteAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IDeleteAttestorRequest} message DeleteAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteAttestorRequest.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 DeleteAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.DeleteAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IDeleteAttestorRequest} message DeleteAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.DeleteAttestorRequest} DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteAttestorRequest.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.binaryauthorization.v1.DeleteAttestorRequest();
+ 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 DeleteAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.DeleteAttestorRequest} DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteAttestorRequest.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 DeleteAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.DeleteAttestorRequest} DeleteAttestorRequest
+ */
+ DeleteAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.DeleteAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.DeleteAttestorRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.DeleteAttestorRequest} message DeleteAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteAttestorRequest.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 DeleteAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.DeleteAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.DeleteAttestorRequest";
+ };
+
+ return DeleteAttestorRequest;
+ })();
+
+ v1.GetSystemPolicyRequest = (function() {
+
+ /**
+ * Properties of a GetSystemPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IGetSystemPolicyRequest
+ * @property {string|null} [name] GetSystemPolicyRequest name
+ */
+
+ /**
+ * Constructs a new GetSystemPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a GetSystemPolicyRequest.
+ * @implements IGetSystemPolicyRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest=} [properties] Properties to set
+ */
+ function GetSystemPolicyRequest(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]];
+ }
+
+ /**
+ * GetSystemPolicyRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @instance
+ */
+ GetSystemPolicyRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetSystemPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.GetSystemPolicyRequest} GetSystemPolicyRequest instance
+ */
+ GetSystemPolicyRequest.create = function create(properties) {
+ return new GetSystemPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetSystemPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetSystemPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest} message GetSystemPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetSystemPolicyRequest.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 GetSystemPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.GetSystemPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IGetSystemPolicyRequest} message GetSystemPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetSystemPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetSystemPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.GetSystemPolicyRequest} GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetSystemPolicyRequest.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.binaryauthorization.v1.GetSystemPolicyRequest();
+ 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 GetSystemPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.GetSystemPolicyRequest} GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetSystemPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetSystemPolicyRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetSystemPolicyRequest.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 GetSystemPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.GetSystemPolicyRequest} GetSystemPolicyRequest
+ */
+ GetSystemPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.GetSystemPolicyRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.GetSystemPolicyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetSystemPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.GetSystemPolicyRequest} message GetSystemPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetSystemPolicyRequest.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 GetSystemPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetSystemPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetSystemPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.GetSystemPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetSystemPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.GetSystemPolicyRequest";
+ };
+
+ return GetSystemPolicyRequest;
+ })();
+
+ v1.ValidateAttestationOccurrenceRequest = (function() {
+
+ /**
+ * Properties of a ValidateAttestationOccurrenceRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IValidateAttestationOccurrenceRequest
+ * @property {string|null} [attestor] ValidateAttestationOccurrenceRequest attestor
+ * @property {grafeas.v1.IAttestationOccurrence|null} [attestation] ValidateAttestationOccurrenceRequest attestation
+ * @property {string|null} [occurrenceNote] ValidateAttestationOccurrenceRequest occurrenceNote
+ * @property {string|null} [occurrenceResourceUri] ValidateAttestationOccurrenceRequest occurrenceResourceUri
+ */
+
+ /**
+ * Constructs a new ValidateAttestationOccurrenceRequest.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a ValidateAttestationOccurrenceRequest.
+ * @implements IValidateAttestationOccurrenceRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest=} [properties] Properties to set
+ */
+ function ValidateAttestationOccurrenceRequest(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]];
+ }
+
+ /**
+ * ValidateAttestationOccurrenceRequest attestor.
+ * @member {string} attestor
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @instance
+ */
+ ValidateAttestationOccurrenceRequest.prototype.attestor = "";
+
+ /**
+ * ValidateAttestationOccurrenceRequest attestation.
+ * @member {grafeas.v1.IAttestationOccurrence|null|undefined} attestation
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @instance
+ */
+ ValidateAttestationOccurrenceRequest.prototype.attestation = null;
+
+ /**
+ * ValidateAttestationOccurrenceRequest occurrenceNote.
+ * @member {string} occurrenceNote
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @instance
+ */
+ ValidateAttestationOccurrenceRequest.prototype.occurrenceNote = "";
+
+ /**
+ * ValidateAttestationOccurrenceRequest occurrenceResourceUri.
+ * @member {string} occurrenceResourceUri
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @instance
+ */
+ ValidateAttestationOccurrenceRequest.prototype.occurrenceResourceUri = "";
+
+ /**
+ * Creates a new ValidateAttestationOccurrenceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest} ValidateAttestationOccurrenceRequest instance
+ */
+ ValidateAttestationOccurrenceRequest.create = function create(properties) {
+ return new ValidateAttestationOccurrenceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest} message ValidateAttestationOccurrenceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ValidateAttestationOccurrenceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.attestor != null && Object.hasOwnProperty.call(message, "attestor"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.attestor);
+ if (message.attestation != null && Object.hasOwnProperty.call(message, "attestation"))
+ $root.grafeas.v1.AttestationOccurrence.encode(message.attestation, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.occurrenceNote != null && Object.hasOwnProperty.call(message, "occurrenceNote"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.occurrenceNote);
+ if (message.occurrenceResourceUri != null && Object.hasOwnProperty.call(message, "occurrenceResourceUri"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.occurrenceResourceUri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceRequest} message ValidateAttestationOccurrenceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ValidateAttestationOccurrenceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest} ValidateAttestationOccurrenceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ValidateAttestationOccurrenceRequest.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.binaryauthorization.v1.ValidateAttestationOccurrenceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.attestor = reader.string();
+ break;
+ }
+ case 2: {
+ message.attestation = $root.grafeas.v1.AttestationOccurrence.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.occurrenceNote = reader.string();
+ break;
+ }
+ case 4: {
+ message.occurrenceResourceUri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest} ValidateAttestationOccurrenceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ValidateAttestationOccurrenceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ValidateAttestationOccurrenceRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ValidateAttestationOccurrenceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.attestor != null && message.hasOwnProperty("attestor"))
+ if (!$util.isString(message.attestor))
+ return "attestor: string expected";
+ if (message.attestation != null && message.hasOwnProperty("attestation")) {
+ var error = $root.grafeas.v1.AttestationOccurrence.verify(message.attestation);
+ if (error)
+ return "attestation." + error;
+ }
+ if (message.occurrenceNote != null && message.hasOwnProperty("occurrenceNote"))
+ if (!$util.isString(message.occurrenceNote))
+ return "occurrenceNote: string expected";
+ if (message.occurrenceResourceUri != null && message.hasOwnProperty("occurrenceResourceUri"))
+ if (!$util.isString(message.occurrenceResourceUri))
+ return "occurrenceResourceUri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ValidateAttestationOccurrenceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest} ValidateAttestationOccurrenceRequest
+ */
+ ValidateAttestationOccurrenceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest();
+ if (object.attestor != null)
+ message.attestor = String(object.attestor);
+ if (object.attestation != null) {
+ if (typeof object.attestation !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest.attestation: object expected");
+ message.attestation = $root.grafeas.v1.AttestationOccurrence.fromObject(object.attestation);
+ }
+ if (object.occurrenceNote != null)
+ message.occurrenceNote = String(object.occurrenceNote);
+ if (object.occurrenceResourceUri != null)
+ message.occurrenceResourceUri = String(object.occurrenceResourceUri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ValidateAttestationOccurrenceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest} message ValidateAttestationOccurrenceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ValidateAttestationOccurrenceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.attestor = "";
+ object.attestation = null;
+ object.occurrenceNote = "";
+ object.occurrenceResourceUri = "";
+ }
+ if (message.attestor != null && message.hasOwnProperty("attestor"))
+ object.attestor = message.attestor;
+ if (message.attestation != null && message.hasOwnProperty("attestation"))
+ object.attestation = $root.grafeas.v1.AttestationOccurrence.toObject(message.attestation, options);
+ if (message.occurrenceNote != null && message.hasOwnProperty("occurrenceNote"))
+ object.occurrenceNote = message.occurrenceNote;
+ if (message.occurrenceResourceUri != null && message.hasOwnProperty("occurrenceResourceUri"))
+ object.occurrenceResourceUri = message.occurrenceResourceUri;
+ return object;
+ };
+
+ /**
+ * Converts this ValidateAttestationOccurrenceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ValidateAttestationOccurrenceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ValidateAttestationOccurrenceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ValidateAttestationOccurrenceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceRequest";
+ };
+
+ return ValidateAttestationOccurrenceRequest;
+ })();
+
+ v1.ValidateAttestationOccurrenceResponse = (function() {
+
+ /**
+ * Properties of a ValidateAttestationOccurrenceResponse.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @interface IValidateAttestationOccurrenceResponse
+ * @property {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result|null} [result] ValidateAttestationOccurrenceResponse result
+ * @property {string|null} [denialReason] ValidateAttestationOccurrenceResponse denialReason
+ */
+
+ /**
+ * Constructs a new ValidateAttestationOccurrenceResponse.
+ * @memberof google.cloud.binaryauthorization.v1
+ * @classdesc Represents a ValidateAttestationOccurrenceResponse.
+ * @implements IValidateAttestationOccurrenceResponse
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse=} [properties] Properties to set
+ */
+ function ValidateAttestationOccurrenceResponse(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]];
+ }
+
+ /**
+ * ValidateAttestationOccurrenceResponse result.
+ * @member {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result} result
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @instance
+ */
+ ValidateAttestationOccurrenceResponse.prototype.result = 0;
+
+ /**
+ * ValidateAttestationOccurrenceResponse denialReason.
+ * @member {string} denialReason
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @instance
+ */
+ ValidateAttestationOccurrenceResponse.prototype.denialReason = "";
+
+ /**
+ * Creates a new ValidateAttestationOccurrenceResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse} ValidateAttestationOccurrenceResponse instance
+ */
+ ValidateAttestationOccurrenceResponse.create = function create(properties) {
+ return new ValidateAttestationOccurrenceResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceResponse message. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse} message ValidateAttestationOccurrenceResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ValidateAttestationOccurrenceResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.result != null && Object.hasOwnProperty.call(message, "result"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.result);
+ if (message.denialReason != null && Object.hasOwnProperty.call(message, "denialReason"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.denialReason);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ValidateAttestationOccurrenceResponse message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.IValidateAttestationOccurrenceResponse} message ValidateAttestationOccurrenceResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ValidateAttestationOccurrenceResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse} ValidateAttestationOccurrenceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ValidateAttestationOccurrenceResponse.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.binaryauthorization.v1.ValidateAttestationOccurrenceResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.result = reader.int32();
+ break;
+ }
+ case 2: {
+ message.denialReason = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ValidateAttestationOccurrenceResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse} ValidateAttestationOccurrenceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ValidateAttestationOccurrenceResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ValidateAttestationOccurrenceResponse message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ValidateAttestationOccurrenceResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.result != null && message.hasOwnProperty("result"))
+ switch (message.result) {
+ default:
+ return "result: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.denialReason != null && message.hasOwnProperty("denialReason"))
+ if (!$util.isString(message.denialReason))
+ return "denialReason: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ValidateAttestationOccurrenceResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse} ValidateAttestationOccurrenceResponse
+ */
+ ValidateAttestationOccurrenceResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse();
+ switch (object.result) {
+ default:
+ if (typeof object.result === "number") {
+ message.result = object.result;
+ break;
+ }
+ break;
+ case "RESULT_UNSPECIFIED":
+ case 0:
+ message.result = 0;
+ break;
+ case "VERIFIED":
+ case 1:
+ message.result = 1;
+ break;
+ case "ATTESTATION_NOT_VERIFIABLE":
+ case 2:
+ message.result = 2;
+ break;
+ }
+ if (object.denialReason != null)
+ message.denialReason = String(object.denialReason);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ValidateAttestationOccurrenceResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse} message ValidateAttestationOccurrenceResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ValidateAttestationOccurrenceResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.result = options.enums === String ? "RESULT_UNSPECIFIED" : 0;
+ object.denialReason = "";
+ }
+ if (message.result != null && message.hasOwnProperty("result"))
+ object.result = options.enums === String ? $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result[message.result] === undefined ? message.result : $root.google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result[message.result] : message.result;
+ if (message.denialReason != null && message.hasOwnProperty("denialReason"))
+ object.denialReason = message.denialReason;
+ return object;
+ };
+
+ /**
+ * Converts this ValidateAttestationOccurrenceResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ValidateAttestationOccurrenceResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ValidateAttestationOccurrenceResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ValidateAttestationOccurrenceResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse";
+ };
+
+ /**
+ * Result enum.
+ * @name google.cloud.binaryauthorization.v1.ValidateAttestationOccurrenceResponse.Result
+ * @enum {number}
+ * @property {number} RESULT_UNSPECIFIED=0 RESULT_UNSPECIFIED value
+ * @property {number} VERIFIED=1 VERIFIED value
+ * @property {number} ATTESTATION_NOT_VERIFIABLE=2 ATTESTATION_NOT_VERIFIABLE value
+ */
+ ValidateAttestationOccurrenceResponse.Result = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "RESULT_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "VERIFIED"] = 1;
+ values[valuesById[2] = "ATTESTATION_NOT_VERIFIABLE"] = 2;
+ return values;
+ })();
+
+ return ValidateAttestationOccurrenceResponse;
+ })();
+
+ return v1;
+ })();
+
+ binaryauthorization.v1beta1 = (function() {
+
+ /**
+ * Namespace v1beta1.
+ * @memberof google.cloud.binaryauthorization
+ * @namespace
+ */
+ var v1beta1 = {};
+
+ v1beta1.ContinuousValidationEvent = (function() {
+
+ /**
+ * Properties of a ContinuousValidationEvent.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IContinuousValidationEvent
+ * @property {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent|null} [podEvent] ContinuousValidationEvent podEvent
+ * @property {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent|null} [unsupportedPolicyEvent] ContinuousValidationEvent unsupportedPolicyEvent
+ */
+
+ /**
+ * Constructs a new ContinuousValidationEvent.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a ContinuousValidationEvent.
+ * @implements IContinuousValidationEvent
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent=} [properties] Properties to set
+ */
+ function ContinuousValidationEvent(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]];
+ }
+
+ /**
+ * ContinuousValidationEvent podEvent.
+ * @member {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent|null|undefined} podEvent
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @instance
+ */
+ ContinuousValidationEvent.prototype.podEvent = null;
+
+ /**
+ * ContinuousValidationEvent unsupportedPolicyEvent.
+ * @member {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent|null|undefined} unsupportedPolicyEvent
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @instance
+ */
+ ContinuousValidationEvent.prototype.unsupportedPolicyEvent = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ContinuousValidationEvent eventType.
+ * @member {"podEvent"|"unsupportedPolicyEvent"|undefined} eventType
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @instance
+ */
+ Object.defineProperty(ContinuousValidationEvent.prototype, "eventType", {
+ get: $util.oneOfGetter($oneOfFields = ["podEvent", "unsupportedPolicyEvent"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ContinuousValidationEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent} ContinuousValidationEvent instance
+ */
+ ContinuousValidationEvent.create = function create(properties) {
+ return new ContinuousValidationEvent(properties);
+ };
+
+ /**
+ * Encodes the specified ContinuousValidationEvent message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent} message ContinuousValidationEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContinuousValidationEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.podEvent != null && Object.hasOwnProperty.call(message, "podEvent"))
+ $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.encode(message.podEvent, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.unsupportedPolicyEvent != null && Object.hasOwnProperty.call(message, "unsupportedPolicyEvent"))
+ $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.encode(message.unsupportedPolicyEvent, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContinuousValidationEvent message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IContinuousValidationEvent} message ContinuousValidationEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContinuousValidationEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContinuousValidationEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent} ContinuousValidationEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContinuousValidationEvent.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.binaryauthorization.v1beta1.ContinuousValidationEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.podEvent = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.unsupportedPolicyEvent = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContinuousValidationEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent} ContinuousValidationEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContinuousValidationEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContinuousValidationEvent message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContinuousValidationEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.podEvent != null && message.hasOwnProperty("podEvent")) {
+ properties.eventType = 1;
+ {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.verify(message.podEvent);
+ if (error)
+ return "podEvent." + error;
+ }
+ }
+ if (message.unsupportedPolicyEvent != null && message.hasOwnProperty("unsupportedPolicyEvent")) {
+ if (properties.eventType === 1)
+ return "eventType: multiple values";
+ properties.eventType = 1;
+ {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.verify(message.unsupportedPolicyEvent);
+ if (error)
+ return "unsupportedPolicyEvent." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ContinuousValidationEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent} ContinuousValidationEvent
+ */
+ ContinuousValidationEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent();
+ if (object.podEvent != null) {
+ if (typeof object.podEvent !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.podEvent: object expected");
+ message.podEvent = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.fromObject(object.podEvent);
+ }
+ if (object.unsupportedPolicyEvent != null) {
+ if (typeof object.unsupportedPolicyEvent !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.unsupportedPolicyEvent: object expected");
+ message.unsupportedPolicyEvent = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.fromObject(object.unsupportedPolicyEvent);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContinuousValidationEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent} message ContinuousValidationEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContinuousValidationEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.podEvent != null && message.hasOwnProperty("podEvent")) {
+ object.podEvent = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.toObject(message.podEvent, options);
+ if (options.oneofs)
+ object.eventType = "podEvent";
+ }
+ if (message.unsupportedPolicyEvent != null && message.hasOwnProperty("unsupportedPolicyEvent")) {
+ object.unsupportedPolicyEvent = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.toObject(message.unsupportedPolicyEvent, options);
+ if (options.oneofs)
+ object.eventType = "unsupportedPolicyEvent";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ContinuousValidationEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContinuousValidationEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ContinuousValidationEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ContinuousValidationEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent";
+ };
+
+ ContinuousValidationEvent.ContinuousValidationPodEvent = (function() {
+
+ /**
+ * Properties of a ContinuousValidationPodEvent.
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @interface IContinuousValidationPodEvent
+ * @property {string|null} [podNamespace] ContinuousValidationPodEvent podNamespace
+ * @property {string|null} [pod] ContinuousValidationPodEvent pod
+ * @property {google.protobuf.ITimestamp|null} [deployTime] ContinuousValidationPodEvent deployTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] ContinuousValidationPodEvent endTime
+ * @property {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict|null} [verdict] ContinuousValidationPodEvent verdict
+ * @property {Array.|null} [images] ContinuousValidationPodEvent images
+ */
+
+ /**
+ * Constructs a new ContinuousValidationPodEvent.
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @classdesc Represents a ContinuousValidationPodEvent.
+ * @implements IContinuousValidationPodEvent
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent=} [properties] Properties to set
+ */
+ function ContinuousValidationPodEvent(properties) {
+ this.images = [];
+ 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]];
+ }
+
+ /**
+ * ContinuousValidationPodEvent podNamespace.
+ * @member {string} podNamespace
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @instance
+ */
+ ContinuousValidationPodEvent.prototype.podNamespace = "";
+
+ /**
+ * ContinuousValidationPodEvent pod.
+ * @member {string} pod
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @instance
+ */
+ ContinuousValidationPodEvent.prototype.pod = "";
+
+ /**
+ * ContinuousValidationPodEvent deployTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} deployTime
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @instance
+ */
+ ContinuousValidationPodEvent.prototype.deployTime = null;
+
+ /**
+ * ContinuousValidationPodEvent endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @instance
+ */
+ ContinuousValidationPodEvent.prototype.endTime = null;
+
+ /**
+ * ContinuousValidationPodEvent verdict.
+ * @member {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict} verdict
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @instance
+ */
+ ContinuousValidationPodEvent.prototype.verdict = 0;
+
+ /**
+ * ContinuousValidationPodEvent images.
+ * @member {Array.} images
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @instance
+ */
+ ContinuousValidationPodEvent.prototype.images = $util.emptyArray;
+
+ /**
+ * Creates a new ContinuousValidationPodEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent} ContinuousValidationPodEvent instance
+ */
+ ContinuousValidationPodEvent.create = function create(properties) {
+ return new ContinuousValidationPodEvent(properties);
+ };
+
+ /**
+ * Encodes the specified ContinuousValidationPodEvent message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent} message ContinuousValidationPodEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContinuousValidationPodEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pod != null && Object.hasOwnProperty.call(message, "pod"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.pod);
+ if (message.deployTime != null && Object.hasOwnProperty.call(message, "deployTime"))
+ $root.google.protobuf.Timestamp.encode(message.deployTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.verdict != null && Object.hasOwnProperty.call(message, "verdict"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.verdict);
+ if (message.images != null && message.images.length)
+ for (var i = 0; i < message.images.length; ++i)
+ $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.encode(message.images[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.podNamespace != null && Object.hasOwnProperty.call(message, "podNamespace"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.podNamespace);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContinuousValidationPodEvent message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IContinuousValidationPodEvent} message ContinuousValidationPodEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContinuousValidationPodEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContinuousValidationPodEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent} ContinuousValidationPodEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContinuousValidationPodEvent.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.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 7: {
+ message.podNamespace = reader.string();
+ break;
+ }
+ case 1: {
+ message.pod = reader.string();
+ break;
+ }
+ case 2: {
+ message.deployTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.verdict = reader.int32();
+ break;
+ }
+ case 5: {
+ if (!(message.images && message.images.length))
+ message.images = [];
+ message.images.push($root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContinuousValidationPodEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent} ContinuousValidationPodEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContinuousValidationPodEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContinuousValidationPodEvent message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContinuousValidationPodEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.podNamespace != null && message.hasOwnProperty("podNamespace"))
+ if (!$util.isString(message.podNamespace))
+ return "podNamespace: string expected";
+ if (message.pod != null && message.hasOwnProperty("pod"))
+ if (!$util.isString(message.pod))
+ return "pod: string expected";
+ if (message.deployTime != null && message.hasOwnProperty("deployTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.deployTime);
+ if (error)
+ return "deployTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.verdict != null && message.hasOwnProperty("verdict"))
+ switch (message.verdict) {
+ default:
+ return "verdict: enum value expected";
+ case 0:
+ case 1:
+ break;
+ }
+ if (message.images != null && message.hasOwnProperty("images")) {
+ if (!Array.isArray(message.images))
+ return "images: array expected";
+ for (var i = 0; i < message.images.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.verify(message.images[i]);
+ if (error)
+ return "images." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ContinuousValidationPodEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent} ContinuousValidationPodEvent
+ */
+ ContinuousValidationPodEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent();
+ if (object.podNamespace != null)
+ message.podNamespace = String(object.podNamespace);
+ if (object.pod != null)
+ message.pod = String(object.pod);
+ if (object.deployTime != null) {
+ if (typeof object.deployTime !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.deployTime: object expected");
+ message.deployTime = $root.google.protobuf.Timestamp.fromObject(object.deployTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ switch (object.verdict) {
+ default:
+ if (typeof object.verdict === "number") {
+ message.verdict = object.verdict;
+ break;
+ }
+ break;
+ case "POLICY_CONFORMANCE_VERDICT_UNSPECIFIED":
+ case 0:
+ message.verdict = 0;
+ break;
+ case "VIOLATES_POLICY":
+ case 1:
+ message.verdict = 1;
+ break;
+ }
+ if (object.images) {
+ if (!Array.isArray(object.images))
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.images: array expected");
+ message.images = [];
+ for (var i = 0; i < object.images.length; ++i) {
+ if (typeof object.images[i] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.images: object expected");
+ message.images[i] = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.fromObject(object.images[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContinuousValidationPodEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent} message ContinuousValidationPodEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContinuousValidationPodEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.images = [];
+ if (options.defaults) {
+ object.pod = "";
+ object.deployTime = null;
+ object.endTime = null;
+ object.verdict = options.enums === String ? "POLICY_CONFORMANCE_VERDICT_UNSPECIFIED" : 0;
+ object.podNamespace = "";
+ }
+ if (message.pod != null && message.hasOwnProperty("pod"))
+ object.pod = message.pod;
+ if (message.deployTime != null && message.hasOwnProperty("deployTime"))
+ object.deployTime = $root.google.protobuf.Timestamp.toObject(message.deployTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.verdict != null && message.hasOwnProperty("verdict"))
+ object.verdict = options.enums === String ? $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict[message.verdict] === undefined ? message.verdict : $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict[message.verdict] : message.verdict;
+ if (message.images && message.images.length) {
+ object.images = [];
+ for (var j = 0; j < message.images.length; ++j)
+ object.images[j] = $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.toObject(message.images[j], options);
+ }
+ if (message.podNamespace != null && message.hasOwnProperty("podNamespace"))
+ object.podNamespace = message.podNamespace;
+ return object;
+ };
+
+ /**
+ * Converts this ContinuousValidationPodEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContinuousValidationPodEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ContinuousValidationPodEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ContinuousValidationPodEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent";
+ };
+
+ /**
+ * PolicyConformanceVerdict enum.
+ * @name google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.PolicyConformanceVerdict
+ * @enum {number}
+ * @property {number} POLICY_CONFORMANCE_VERDICT_UNSPECIFIED=0 POLICY_CONFORMANCE_VERDICT_UNSPECIFIED value
+ * @property {number} VIOLATES_POLICY=1 VIOLATES_POLICY value
+ */
+ ContinuousValidationPodEvent.PolicyConformanceVerdict = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "POLICY_CONFORMANCE_VERDICT_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "VIOLATES_POLICY"] = 1;
+ return values;
+ })();
+
+ ContinuousValidationPodEvent.ImageDetails = (function() {
+
+ /**
+ * Properties of an ImageDetails.
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @interface IImageDetails
+ * @property {string|null} [image] ImageDetails image
+ * @property {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult|null} [result] ImageDetails result
+ * @property {string|null} [description] ImageDetails description
+ */
+
+ /**
+ * Constructs a new ImageDetails.
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent
+ * @classdesc Represents an ImageDetails.
+ * @implements IImageDetails
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails=} [properties] Properties to set
+ */
+ function ImageDetails(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]];
+ }
+
+ /**
+ * ImageDetails image.
+ * @member {string} image
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @instance
+ */
+ ImageDetails.prototype.image = "";
+
+ /**
+ * ImageDetails result.
+ * @member {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult} result
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @instance
+ */
+ ImageDetails.prototype.result = 0;
+
+ /**
+ * ImageDetails description.
+ * @member {string} description
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @instance
+ */
+ ImageDetails.prototype.description = "";
+
+ /**
+ * Creates a new ImageDetails instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails} ImageDetails instance
+ */
+ ImageDetails.create = function create(properties) {
+ return new ImageDetails(properties);
+ };
+
+ /**
+ * Encodes the specified ImageDetails message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails} message ImageDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImageDetails.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.image != null && Object.hasOwnProperty.call(message, "image"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.image);
+ if (message.result != null && Object.hasOwnProperty.call(message, "result"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.result);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.description);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ImageDetails message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.IImageDetails} message ImageDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ImageDetails.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ImageDetails message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails} ImageDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImageDetails.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.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.image = reader.string();
+ break;
+ }
+ case 2: {
+ message.result = reader.int32();
+ break;
+ }
+ case 3: {
+ message.description = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ImageDetails message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails} ImageDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ImageDetails.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ImageDetails message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ImageDetails.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.image != null && message.hasOwnProperty("image"))
+ if (!$util.isString(message.image))
+ return "image: string expected";
+ if (message.result != null && message.hasOwnProperty("result"))
+ switch (message.result) {
+ default:
+ return "result: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an ImageDetails message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails} ImageDetails
+ */
+ ImageDetails.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails();
+ if (object.image != null)
+ message.image = String(object.image);
+ switch (object.result) {
+ default:
+ if (typeof object.result === "number") {
+ message.result = object.result;
+ break;
+ }
+ break;
+ case "AUDIT_RESULT_UNSPECIFIED":
+ case 0:
+ message.result = 0;
+ break;
+ case "ALLOW":
+ case 1:
+ message.result = 1;
+ break;
+ case "DENY":
+ case 2:
+ message.result = 2;
+ break;
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ImageDetails message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails} message ImageDetails
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ImageDetails.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.image = "";
+ object.result = options.enums === String ? "AUDIT_RESULT_UNSPECIFIED" : 0;
+ object.description = "";
+ }
+ if (message.image != null && message.hasOwnProperty("image"))
+ object.image = message.image;
+ if (message.result != null && message.hasOwnProperty("result"))
+ object.result = options.enums === String ? $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult[message.result] === undefined ? message.result : $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult[message.result] : message.result;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ return object;
+ };
+
+ /**
+ * Converts this ImageDetails to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ImageDetails.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ImageDetails
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ImageDetails.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails";
+ };
+
+ /**
+ * AuditResult enum.
+ * @name google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.ContinuousValidationPodEvent.ImageDetails.AuditResult
+ * @enum {number}
+ * @property {number} AUDIT_RESULT_UNSPECIFIED=0 AUDIT_RESULT_UNSPECIFIED value
+ * @property {number} ALLOW=1 ALLOW value
+ * @property {number} DENY=2 DENY value
+ */
+ ImageDetails.AuditResult = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "AUDIT_RESULT_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ALLOW"] = 1;
+ values[valuesById[2] = "DENY"] = 2;
+ return values;
+ })();
+
+ return ImageDetails;
+ })();
+
+ return ContinuousValidationPodEvent;
+ })();
+
+ ContinuousValidationEvent.UnsupportedPolicyEvent = (function() {
+
+ /**
+ * Properties of an UnsupportedPolicyEvent.
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @interface IUnsupportedPolicyEvent
+ * @property {string|null} [description] UnsupportedPolicyEvent description
+ */
+
+ /**
+ * Constructs a new UnsupportedPolicyEvent.
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent
+ * @classdesc Represents an UnsupportedPolicyEvent.
+ * @implements IUnsupportedPolicyEvent
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent=} [properties] Properties to set
+ */
+ function UnsupportedPolicyEvent(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]];
+ }
+
+ /**
+ * UnsupportedPolicyEvent description.
+ * @member {string} description
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @instance
+ */
+ UnsupportedPolicyEvent.prototype.description = "";
+
+ /**
+ * Creates a new UnsupportedPolicyEvent instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent} UnsupportedPolicyEvent instance
+ */
+ UnsupportedPolicyEvent.create = function create(properties) {
+ return new UnsupportedPolicyEvent(properties);
+ };
+
+ /**
+ * Encodes the specified UnsupportedPolicyEvent message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent} message UnsupportedPolicyEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UnsupportedPolicyEvent.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.description);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UnsupportedPolicyEvent message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.IUnsupportedPolicyEvent} message UnsupportedPolicyEvent message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UnsupportedPolicyEvent.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UnsupportedPolicyEvent message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent} UnsupportedPolicyEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UnsupportedPolicyEvent.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.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.description = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UnsupportedPolicyEvent message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent} UnsupportedPolicyEvent
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UnsupportedPolicyEvent.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UnsupportedPolicyEvent message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UnsupportedPolicyEvent.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an UnsupportedPolicyEvent message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent} UnsupportedPolicyEvent
+ */
+ UnsupportedPolicyEvent.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent();
+ if (object.description != null)
+ message.description = String(object.description);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UnsupportedPolicyEvent message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent} message UnsupportedPolicyEvent
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UnsupportedPolicyEvent.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.description = "";
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ return object;
+ };
+
+ /**
+ * Converts this UnsupportedPolicyEvent to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UnsupportedPolicyEvent.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UnsupportedPolicyEvent
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UnsupportedPolicyEvent.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.ContinuousValidationEvent.UnsupportedPolicyEvent";
+ };
+
+ return UnsupportedPolicyEvent;
+ })();
+
+ return ContinuousValidationEvent;
+ })();
+
+ v1beta1.Policy = (function() {
+
+ /**
+ * Properties of a Policy.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IPolicy
+ * @property {string|null} [name] Policy name
+ * @property {string|null} [description] Policy description
+ * @property {google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode|null} [globalPolicyEvaluationMode] Policy globalPolicyEvaluationMode
+ * @property {Array.|null} [admissionWhitelistPatterns] Policy admissionWhitelistPatterns
+ * @property {Object.|null} [clusterAdmissionRules] Policy clusterAdmissionRules
+ * @property {Object.|null} [kubernetesNamespaceAdmissionRules] Policy kubernetesNamespaceAdmissionRules
+ * @property {Object.|null} [kubernetesServiceAccountAdmissionRules] Policy kubernetesServiceAccountAdmissionRules
+ * @property {Object.|null} [istioServiceIdentityAdmissionRules] Policy istioServiceIdentityAdmissionRules
+ * @property {google.cloud.binaryauthorization.v1beta1.IAdmissionRule|null} [defaultAdmissionRule] Policy defaultAdmissionRule
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Policy updateTime
+ */
+
+ /**
+ * Constructs a new Policy.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a Policy.
+ * @implements IPolicy
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IPolicy=} [properties] Properties to set
+ */
+ function Policy(properties) {
+ this.admissionWhitelistPatterns = [];
+ this.clusterAdmissionRules = {};
+ this.kubernetesNamespaceAdmissionRules = {};
+ this.kubernetesServiceAccountAdmissionRules = {};
+ this.istioServiceIdentityAdmissionRules = {};
+ 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]];
+ }
+
+ /**
+ * Policy name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.name = "";
+
+ /**
+ * Policy description.
+ * @member {string} description
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.description = "";
+
+ /**
+ * Policy globalPolicyEvaluationMode.
+ * @member {google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode} globalPolicyEvaluationMode
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.globalPolicyEvaluationMode = 0;
+
+ /**
+ * Policy admissionWhitelistPatterns.
+ * @member {Array.} admissionWhitelistPatterns
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.admissionWhitelistPatterns = $util.emptyArray;
+
+ /**
+ * Policy clusterAdmissionRules.
+ * @member {Object.} clusterAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.clusterAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy kubernetesNamespaceAdmissionRules.
+ * @member {Object.} kubernetesNamespaceAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.kubernetesNamespaceAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy kubernetesServiceAccountAdmissionRules.
+ * @member {Object.} kubernetesServiceAccountAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.kubernetesServiceAccountAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy istioServiceIdentityAdmissionRules.
+ * @member {Object.} istioServiceIdentityAdmissionRules
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.istioServiceIdentityAdmissionRules = $util.emptyObject;
+
+ /**
+ * Policy defaultAdmissionRule.
+ * @member {google.cloud.binaryauthorization.v1beta1.IAdmissionRule|null|undefined} defaultAdmissionRule
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.defaultAdmissionRule = null;
+
+ /**
+ * Policy updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ */
+ Policy.prototype.updateTime = null;
+
+ /**
+ * Creates a new Policy instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IPolicy=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.Policy} Policy instance
+ */
+ Policy.create = function create(properties) {
+ return new Policy(properties);
+ };
+
+ /**
+ * Encodes the specified Policy message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.Policy.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IPolicy} message Policy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Policy.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.admissionWhitelistPatterns != null && message.admissionWhitelistPatterns.length)
+ for (var i = 0; i < message.admissionWhitelistPatterns.length; ++i)
+ $root.google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.encode(message.admissionWhitelistPatterns[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.clusterAdmissionRules != null && Object.hasOwnProperty.call(message, "clusterAdmissionRules"))
+ for (var keys = Object.keys(message.clusterAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.encode(message.clusterAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.defaultAdmissionRule != null && Object.hasOwnProperty.call(message, "defaultAdmissionRule"))
+ $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.encode(message.defaultAdmissionRule, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.description);
+ if (message.globalPolicyEvaluationMode != null && Object.hasOwnProperty.call(message, "globalPolicyEvaluationMode"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.globalPolicyEvaluationMode);
+ if (message.kubernetesServiceAccountAdmissionRules != null && Object.hasOwnProperty.call(message, "kubernetesServiceAccountAdmissionRules"))
+ for (var keys = Object.keys(message.kubernetesServiceAccountAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 8, wireType 2 =*/66).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.encode(message.kubernetesServiceAccountAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.istioServiceIdentityAdmissionRules != null && Object.hasOwnProperty.call(message, "istioServiceIdentityAdmissionRules"))
+ for (var keys = Object.keys(message.istioServiceIdentityAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 9, wireType 2 =*/74).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.encode(message.istioServiceIdentityAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ if (message.kubernetesNamespaceAdmissionRules != null && Object.hasOwnProperty.call(message, "kubernetesNamespaceAdmissionRules"))
+ for (var keys = Object.keys(message.kubernetesNamespaceAdmissionRules), i = 0; i < keys.length; ++i) {
+ writer.uint32(/* id 10, wireType 2 =*/82).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]);
+ $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.encode(message.kubernetesNamespaceAdmissionRules[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.Policy.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IPolicy} message Policy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Policy.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.Policy} Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Policy.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.binaryauthorization.v1beta1.Policy(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 6: {
+ message.description = reader.string();
+ break;
+ }
+ case 7: {
+ message.globalPolicyEvaluationMode = reader.int32();
+ break;
+ }
+ case 2: {
+ if (!(message.admissionWhitelistPatterns && message.admissionWhitelistPatterns.length))
+ message.admissionWhitelistPatterns = [];
+ message.admissionWhitelistPatterns.push($root.google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ if (message.clusterAdmissionRules === $util.emptyObject)
+ message.clusterAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.clusterAdmissionRules[key] = value;
+ break;
+ }
+ case 10: {
+ if (message.kubernetesNamespaceAdmissionRules === $util.emptyObject)
+ message.kubernetesNamespaceAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.kubernetesNamespaceAdmissionRules[key] = value;
+ break;
+ }
+ case 8: {
+ if (message.kubernetesServiceAccountAdmissionRules === $util.emptyObject)
+ message.kubernetesServiceAccountAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.kubernetesServiceAccountAdmissionRules[key] = value;
+ break;
+ }
+ case 9: {
+ if (message.istioServiceIdentityAdmissionRules === $util.emptyObject)
+ message.istioServiceIdentityAdmissionRules = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = null;
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.istioServiceIdentityAdmissionRules[key] = value;
+ break;
+ }
+ case 4: {
+ message.defaultAdmissionRule = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.Policy} Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Policy.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Policy message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Policy.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.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.globalPolicyEvaluationMode != null && message.hasOwnProperty("globalPolicyEvaluationMode"))
+ switch (message.globalPolicyEvaluationMode) {
+ default:
+ return "globalPolicyEvaluationMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.admissionWhitelistPatterns != null && message.hasOwnProperty("admissionWhitelistPatterns")) {
+ if (!Array.isArray(message.admissionWhitelistPatterns))
+ return "admissionWhitelistPatterns: array expected";
+ for (var i = 0; i < message.admissionWhitelistPatterns.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.verify(message.admissionWhitelistPatterns[i]);
+ if (error)
+ return "admissionWhitelistPatterns." + error;
+ }
+ }
+ if (message.clusterAdmissionRules != null && message.hasOwnProperty("clusterAdmissionRules")) {
+ if (!$util.isObject(message.clusterAdmissionRules))
+ return "clusterAdmissionRules: object expected";
+ var key = Object.keys(message.clusterAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify(message.clusterAdmissionRules[key[i]]);
+ if (error)
+ return "clusterAdmissionRules." + error;
+ }
+ }
+ if (message.kubernetesNamespaceAdmissionRules != null && message.hasOwnProperty("kubernetesNamespaceAdmissionRules")) {
+ if (!$util.isObject(message.kubernetesNamespaceAdmissionRules))
+ return "kubernetesNamespaceAdmissionRules: object expected";
+ var key = Object.keys(message.kubernetesNamespaceAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify(message.kubernetesNamespaceAdmissionRules[key[i]]);
+ if (error)
+ return "kubernetesNamespaceAdmissionRules." + error;
+ }
+ }
+ if (message.kubernetesServiceAccountAdmissionRules != null && message.hasOwnProperty("kubernetesServiceAccountAdmissionRules")) {
+ if (!$util.isObject(message.kubernetesServiceAccountAdmissionRules))
+ return "kubernetesServiceAccountAdmissionRules: object expected";
+ var key = Object.keys(message.kubernetesServiceAccountAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify(message.kubernetesServiceAccountAdmissionRules[key[i]]);
+ if (error)
+ return "kubernetesServiceAccountAdmissionRules." + error;
+ }
+ }
+ if (message.istioServiceIdentityAdmissionRules != null && message.hasOwnProperty("istioServiceIdentityAdmissionRules")) {
+ if (!$util.isObject(message.istioServiceIdentityAdmissionRules))
+ return "istioServiceIdentityAdmissionRules: object expected";
+ var key = Object.keys(message.istioServiceIdentityAdmissionRules);
+ for (var i = 0; i < key.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify(message.istioServiceIdentityAdmissionRules[key[i]]);
+ if (error)
+ return "istioServiceIdentityAdmissionRules." + error;
+ }
+ }
+ if (message.defaultAdmissionRule != null && message.hasOwnProperty("defaultAdmissionRule")) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify(message.defaultAdmissionRule);
+ if (error)
+ return "defaultAdmissionRule." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Policy message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.Policy} Policy
+ */
+ Policy.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.Policy)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.Policy();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.description != null)
+ message.description = String(object.description);
+ switch (object.globalPolicyEvaluationMode) {
+ default:
+ if (typeof object.globalPolicyEvaluationMode === "number") {
+ message.globalPolicyEvaluationMode = object.globalPolicyEvaluationMode;
+ break;
+ }
+ break;
+ case "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED":
+ case 0:
+ message.globalPolicyEvaluationMode = 0;
+ break;
+ case "ENABLE":
+ case 1:
+ message.globalPolicyEvaluationMode = 1;
+ break;
+ case "DISABLE":
+ case 2:
+ message.globalPolicyEvaluationMode = 2;
+ break;
+ }
+ if (object.admissionWhitelistPatterns) {
+ if (!Array.isArray(object.admissionWhitelistPatterns))
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.admissionWhitelistPatterns: array expected");
+ message.admissionWhitelistPatterns = [];
+ for (var i = 0; i < object.admissionWhitelistPatterns.length; ++i) {
+ if (typeof object.admissionWhitelistPatterns[i] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.admissionWhitelistPatterns: object expected");
+ message.admissionWhitelistPatterns[i] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.fromObject(object.admissionWhitelistPatterns[i]);
+ }
+ }
+ if (object.clusterAdmissionRules) {
+ if (typeof object.clusterAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.clusterAdmissionRules: object expected");
+ message.clusterAdmissionRules = {};
+ for (var keys = Object.keys(object.clusterAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.clusterAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.clusterAdmissionRules: object expected");
+ message.clusterAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.fromObject(object.clusterAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.kubernetesNamespaceAdmissionRules) {
+ if (typeof object.kubernetesNamespaceAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.kubernetesNamespaceAdmissionRules: object expected");
+ message.kubernetesNamespaceAdmissionRules = {};
+ for (var keys = Object.keys(object.kubernetesNamespaceAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.kubernetesNamespaceAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.kubernetesNamespaceAdmissionRules: object expected");
+ message.kubernetesNamespaceAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.fromObject(object.kubernetesNamespaceAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.kubernetesServiceAccountAdmissionRules) {
+ if (typeof object.kubernetesServiceAccountAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.kubernetesServiceAccountAdmissionRules: object expected");
+ message.kubernetesServiceAccountAdmissionRules = {};
+ for (var keys = Object.keys(object.kubernetesServiceAccountAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.kubernetesServiceAccountAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.kubernetesServiceAccountAdmissionRules: object expected");
+ message.kubernetesServiceAccountAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.fromObject(object.kubernetesServiceAccountAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.istioServiceIdentityAdmissionRules) {
+ if (typeof object.istioServiceIdentityAdmissionRules !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.istioServiceIdentityAdmissionRules: object expected");
+ message.istioServiceIdentityAdmissionRules = {};
+ for (var keys = Object.keys(object.istioServiceIdentityAdmissionRules), i = 0; i < keys.length; ++i) {
+ if (typeof object.istioServiceIdentityAdmissionRules[keys[i]] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.istioServiceIdentityAdmissionRules: object expected");
+ message.istioServiceIdentityAdmissionRules[keys[i]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.fromObject(object.istioServiceIdentityAdmissionRules[keys[i]]);
+ }
+ }
+ if (object.defaultAdmissionRule != null) {
+ if (typeof object.defaultAdmissionRule !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.defaultAdmissionRule: object expected");
+ message.defaultAdmissionRule = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.fromObject(object.defaultAdmissionRule);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Policy.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Policy message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.Policy} message Policy
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Policy.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.admissionWhitelistPatterns = [];
+ if (options.objects || options.defaults) {
+ object.clusterAdmissionRules = {};
+ object.kubernetesServiceAccountAdmissionRules = {};
+ object.istioServiceIdentityAdmissionRules = {};
+ object.kubernetesNamespaceAdmissionRules = {};
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.defaultAdmissionRule = null;
+ object.updateTime = null;
+ object.description = "";
+ object.globalPolicyEvaluationMode = options.enums === String ? "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED" : 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.admissionWhitelistPatterns && message.admissionWhitelistPatterns.length) {
+ object.admissionWhitelistPatterns = [];
+ for (var j = 0; j < message.admissionWhitelistPatterns.length; ++j)
+ object.admissionWhitelistPatterns[j] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.toObject(message.admissionWhitelistPatterns[j], options);
+ }
+ var keys2;
+ if (message.clusterAdmissionRules && (keys2 = Object.keys(message.clusterAdmissionRules)).length) {
+ object.clusterAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.clusterAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.toObject(message.clusterAdmissionRules[keys2[j]], options);
+ }
+ if (message.defaultAdmissionRule != null && message.hasOwnProperty("defaultAdmissionRule"))
+ object.defaultAdmissionRule = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.toObject(message.defaultAdmissionRule, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.globalPolicyEvaluationMode != null && message.hasOwnProperty("globalPolicyEvaluationMode"))
+ object.globalPolicyEvaluationMode = options.enums === String ? $root.google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode[message.globalPolicyEvaluationMode] === undefined ? message.globalPolicyEvaluationMode : $root.google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode[message.globalPolicyEvaluationMode] : message.globalPolicyEvaluationMode;
+ if (message.kubernetesServiceAccountAdmissionRules && (keys2 = Object.keys(message.kubernetesServiceAccountAdmissionRules)).length) {
+ object.kubernetesServiceAccountAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.kubernetesServiceAccountAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.toObject(message.kubernetesServiceAccountAdmissionRules[keys2[j]], options);
+ }
+ if (message.istioServiceIdentityAdmissionRules && (keys2 = Object.keys(message.istioServiceIdentityAdmissionRules)).length) {
+ object.istioServiceIdentityAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.istioServiceIdentityAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.toObject(message.istioServiceIdentityAdmissionRules[keys2[j]], options);
+ }
+ if (message.kubernetesNamespaceAdmissionRules && (keys2 = Object.keys(message.kubernetesNamespaceAdmissionRules)).length) {
+ object.kubernetesNamespaceAdmissionRules = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.kubernetesNamespaceAdmissionRules[keys2[j]] = $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.toObject(message.kubernetesNamespaceAdmissionRules[keys2[j]], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Policy to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Policy.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Policy
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.Policy
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Policy.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.Policy";
+ };
+
+ /**
+ * GlobalPolicyEvaluationMode enum.
+ * @name google.cloud.binaryauthorization.v1beta1.Policy.GlobalPolicyEvaluationMode
+ * @enum {number}
+ * @property {number} GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED=0 GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED value
+ * @property {number} ENABLE=1 ENABLE value
+ * @property {number} DISABLE=2 DISABLE value
+ */
+ Policy.GlobalPolicyEvaluationMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "GLOBAL_POLICY_EVALUATION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ENABLE"] = 1;
+ values[valuesById[2] = "DISABLE"] = 2;
+ return values;
+ })();
+
+ return Policy;
+ })();
+
+ v1beta1.AdmissionWhitelistPattern = (function() {
+
+ /**
+ * Properties of an AdmissionWhitelistPattern.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IAdmissionWhitelistPattern
+ * @property {string|null} [namePattern] AdmissionWhitelistPattern namePattern
+ */
+
+ /**
+ * Constructs a new AdmissionWhitelistPattern.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents an AdmissionWhitelistPattern.
+ * @implements IAdmissionWhitelistPattern
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern=} [properties] Properties to set
+ */
+ function AdmissionWhitelistPattern(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]];
+ }
+
+ /**
+ * AdmissionWhitelistPattern namePattern.
+ * @member {string} namePattern
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @instance
+ */
+ AdmissionWhitelistPattern.prototype.namePattern = "";
+
+ /**
+ * Creates a new AdmissionWhitelistPattern instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern} AdmissionWhitelistPattern instance
+ */
+ AdmissionWhitelistPattern.create = function create(properties) {
+ return new AdmissionWhitelistPattern(properties);
+ };
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern} message AdmissionWhitelistPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionWhitelistPattern.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.namePattern != null && Object.hasOwnProperty.call(message, "namePattern"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePattern);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AdmissionWhitelistPattern message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionWhitelistPattern} message AdmissionWhitelistPattern message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionWhitelistPattern.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern} AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionWhitelistPattern.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.binaryauthorization.v1beta1.AdmissionWhitelistPattern();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.namePattern = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AdmissionWhitelistPattern message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern} AdmissionWhitelistPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionWhitelistPattern.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AdmissionWhitelistPattern message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AdmissionWhitelistPattern.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.namePattern != null && message.hasOwnProperty("namePattern"))
+ if (!$util.isString(message.namePattern))
+ return "namePattern: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AdmissionWhitelistPattern message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern} AdmissionWhitelistPattern
+ */
+ AdmissionWhitelistPattern.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern();
+ if (object.namePattern != null)
+ message.namePattern = String(object.namePattern);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AdmissionWhitelistPattern message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern} message AdmissionWhitelistPattern
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AdmissionWhitelistPattern.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.namePattern = "";
+ if (message.namePattern != null && message.hasOwnProperty("namePattern"))
+ object.namePattern = message.namePattern;
+ return object;
+ };
+
+ /**
+ * Converts this AdmissionWhitelistPattern to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AdmissionWhitelistPattern.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AdmissionWhitelistPattern
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AdmissionWhitelistPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.AdmissionWhitelistPattern";
+ };
+
+ return AdmissionWhitelistPattern;
+ })();
+
+ v1beta1.AdmissionRule = (function() {
+
+ /**
+ * Properties of an AdmissionRule.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IAdmissionRule
+ * @property {google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode|null} [evaluationMode] AdmissionRule evaluationMode
+ * @property {Array.|null} [requireAttestationsBy] AdmissionRule requireAttestationsBy
+ * @property {google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode|null} [enforcementMode] AdmissionRule enforcementMode
+ */
+
+ /**
+ * Constructs a new AdmissionRule.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents an AdmissionRule.
+ * @implements IAdmissionRule
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionRule=} [properties] Properties to set
+ */
+ function AdmissionRule(properties) {
+ this.requireAttestationsBy = [];
+ 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]];
+ }
+
+ /**
+ * AdmissionRule evaluationMode.
+ * @member {google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode} evaluationMode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @instance
+ */
+ AdmissionRule.prototype.evaluationMode = 0;
+
+ /**
+ * AdmissionRule requireAttestationsBy.
+ * @member {Array.} requireAttestationsBy
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @instance
+ */
+ AdmissionRule.prototype.requireAttestationsBy = $util.emptyArray;
+
+ /**
+ * AdmissionRule enforcementMode.
+ * @member {google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode} enforcementMode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @instance
+ */
+ AdmissionRule.prototype.enforcementMode = 0;
+
+ /**
+ * Creates a new AdmissionRule instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionRule=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionRule} AdmissionRule instance
+ */
+ AdmissionRule.create = function create(properties) {
+ return new AdmissionRule(properties);
+ };
+
+ /**
+ * Encodes the specified AdmissionRule message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionRule} message AdmissionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.evaluationMode != null && Object.hasOwnProperty.call(message, "evaluationMode"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.evaluationMode);
+ if (message.requireAttestationsBy != null && message.requireAttestationsBy.length)
+ for (var i = 0; i < message.requireAttestationsBy.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.requireAttestationsBy[i]);
+ if (message.enforcementMode != null && Object.hasOwnProperty.call(message, "enforcementMode"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.enforcementMode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AdmissionRule message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AdmissionRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAdmissionRule} message AdmissionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdmissionRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionRule} AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionRule.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.binaryauthorization.v1beta1.AdmissionRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.evaluationMode = reader.int32();
+ break;
+ }
+ case 2: {
+ if (!(message.requireAttestationsBy && message.requireAttestationsBy.length))
+ message.requireAttestationsBy = [];
+ message.requireAttestationsBy.push(reader.string());
+ break;
+ }
+ case 3: {
+ message.enforcementMode = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AdmissionRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionRule} AdmissionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdmissionRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AdmissionRule message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AdmissionRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.evaluationMode != null && message.hasOwnProperty("evaluationMode"))
+ switch (message.evaluationMode) {
+ default:
+ return "evaluationMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.requireAttestationsBy != null && message.hasOwnProperty("requireAttestationsBy")) {
+ if (!Array.isArray(message.requireAttestationsBy))
+ return "requireAttestationsBy: array expected";
+ for (var i = 0; i < message.requireAttestationsBy.length; ++i)
+ if (!$util.isString(message.requireAttestationsBy[i]))
+ return "requireAttestationsBy: string[] expected";
+ }
+ if (message.enforcementMode != null && message.hasOwnProperty("enforcementMode"))
+ switch (message.enforcementMode) {
+ default:
+ return "enforcementMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AdmissionRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.AdmissionRule} AdmissionRule
+ */
+ AdmissionRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule();
+ switch (object.evaluationMode) {
+ default:
+ if (typeof object.evaluationMode === "number") {
+ message.evaluationMode = object.evaluationMode;
+ break;
+ }
+ break;
+ case "EVALUATION_MODE_UNSPECIFIED":
+ case 0:
+ message.evaluationMode = 0;
+ break;
+ case "ALWAYS_ALLOW":
+ case 1:
+ message.evaluationMode = 1;
+ break;
+ case "REQUIRE_ATTESTATION":
+ case 2:
+ message.evaluationMode = 2;
+ break;
+ case "ALWAYS_DENY":
+ case 3:
+ message.evaluationMode = 3;
+ break;
+ }
+ if (object.requireAttestationsBy) {
+ if (!Array.isArray(object.requireAttestationsBy))
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.AdmissionRule.requireAttestationsBy: array expected");
+ message.requireAttestationsBy = [];
+ for (var i = 0; i < object.requireAttestationsBy.length; ++i)
+ message.requireAttestationsBy[i] = String(object.requireAttestationsBy[i]);
+ }
+ switch (object.enforcementMode) {
+ default:
+ if (typeof object.enforcementMode === "number") {
+ message.enforcementMode = object.enforcementMode;
+ break;
+ }
+ break;
+ case "ENFORCEMENT_MODE_UNSPECIFIED":
+ case 0:
+ message.enforcementMode = 0;
+ break;
+ case "ENFORCED_BLOCK_AND_AUDIT_LOG":
+ case 1:
+ message.enforcementMode = 1;
+ break;
+ case "DRYRUN_AUDIT_LOG_ONLY":
+ case 2:
+ message.enforcementMode = 2;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AdmissionRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.AdmissionRule} message AdmissionRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AdmissionRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.requireAttestationsBy = [];
+ if (options.defaults) {
+ object.evaluationMode = options.enums === String ? "EVALUATION_MODE_UNSPECIFIED" : 0;
+ object.enforcementMode = options.enums === String ? "ENFORCEMENT_MODE_UNSPECIFIED" : 0;
+ }
+ if (message.evaluationMode != null && message.hasOwnProperty("evaluationMode"))
+ object.evaluationMode = options.enums === String ? $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode[message.evaluationMode] === undefined ? message.evaluationMode : $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode[message.evaluationMode] : message.evaluationMode;
+ if (message.requireAttestationsBy && message.requireAttestationsBy.length) {
+ object.requireAttestationsBy = [];
+ for (var j = 0; j < message.requireAttestationsBy.length; ++j)
+ object.requireAttestationsBy[j] = message.requireAttestationsBy[j];
+ }
+ if (message.enforcementMode != null && message.hasOwnProperty("enforcementMode"))
+ object.enforcementMode = options.enums === String ? $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode[message.enforcementMode] === undefined ? message.enforcementMode : $root.google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode[message.enforcementMode] : message.enforcementMode;
+ return object;
+ };
+
+ /**
+ * Converts this AdmissionRule to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AdmissionRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AdmissionRule
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.AdmissionRule
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AdmissionRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.AdmissionRule";
+ };
+
+ /**
+ * EvaluationMode enum.
+ * @name google.cloud.binaryauthorization.v1beta1.AdmissionRule.EvaluationMode
+ * @enum {number}
+ * @property {number} EVALUATION_MODE_UNSPECIFIED=0 EVALUATION_MODE_UNSPECIFIED value
+ * @property {number} ALWAYS_ALLOW=1 ALWAYS_ALLOW value
+ * @property {number} REQUIRE_ATTESTATION=2 REQUIRE_ATTESTATION value
+ * @property {number} ALWAYS_DENY=3 ALWAYS_DENY value
+ */
+ AdmissionRule.EvaluationMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "EVALUATION_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ALWAYS_ALLOW"] = 1;
+ values[valuesById[2] = "REQUIRE_ATTESTATION"] = 2;
+ values[valuesById[3] = "ALWAYS_DENY"] = 3;
+ return values;
+ })();
+
+ /**
+ * EnforcementMode enum.
+ * @name google.cloud.binaryauthorization.v1beta1.AdmissionRule.EnforcementMode
+ * @enum {number}
+ * @property {number} ENFORCEMENT_MODE_UNSPECIFIED=0 ENFORCEMENT_MODE_UNSPECIFIED value
+ * @property {number} ENFORCED_BLOCK_AND_AUDIT_LOG=1 ENFORCED_BLOCK_AND_AUDIT_LOG value
+ * @property {number} DRYRUN_AUDIT_LOG_ONLY=2 DRYRUN_AUDIT_LOG_ONLY value
+ */
+ AdmissionRule.EnforcementMode = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "ENFORCEMENT_MODE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ENFORCED_BLOCK_AND_AUDIT_LOG"] = 1;
+ values[valuesById[2] = "DRYRUN_AUDIT_LOG_ONLY"] = 2;
+ return values;
+ })();
+
+ return AdmissionRule;
+ })();
+
+ v1beta1.Attestor = (function() {
+
+ /**
+ * Properties of an Attestor.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IAttestor
+ * @property {string|null} [name] Attestor name
+ * @property {string|null} [description] Attestor description
+ * @property {google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote|null} [userOwnedDrydockNote] Attestor userOwnedDrydockNote
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Attestor updateTime
+ */
+
+ /**
+ * Constructs a new Attestor.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents an Attestor.
+ * @implements IAttestor
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestor=} [properties] Properties to set
+ */
+ function Attestor(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]];
+ }
+
+ /**
+ * Attestor name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @instance
+ */
+ Attestor.prototype.name = "";
+
+ /**
+ * Attestor description.
+ * @member {string} description
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @instance
+ */
+ Attestor.prototype.description = "";
+
+ /**
+ * Attestor userOwnedDrydockNote.
+ * @member {google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote|null|undefined} userOwnedDrydockNote
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @instance
+ */
+ Attestor.prototype.userOwnedDrydockNote = null;
+
+ /**
+ * Attestor updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @instance
+ */
+ Attestor.prototype.updateTime = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Attestor attestorType.
+ * @member {"userOwnedDrydockNote"|undefined} attestorType
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @instance
+ */
+ Object.defineProperty(Attestor.prototype, "attestorType", {
+ get: $util.oneOfGetter($oneOfFields = ["userOwnedDrydockNote"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Attestor instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestor=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.Attestor} Attestor instance
+ */
+ Attestor.create = function create(properties) {
+ return new Attestor(properties);
+ };
+
+ /**
+ * Encodes the specified Attestor message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.Attestor.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestor} message Attestor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Attestor.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.userOwnedDrydockNote != null && Object.hasOwnProperty.call(message, "userOwnedDrydockNote"))
+ $root.google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.encode(message.userOwnedDrydockNote, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.description);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Attestor message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.Attestor.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestor} message Attestor message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Attestor.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.Attestor} Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Attestor.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.binaryauthorization.v1beta1.Attestor();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 6: {
+ message.description = reader.string();
+ break;
+ }
+ case 3: {
+ message.userOwnedDrydockNote = $root.google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Attestor message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.Attestor} Attestor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Attestor.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Attestor message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Attestor.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.userOwnedDrydockNote != null && message.hasOwnProperty("userOwnedDrydockNote")) {
+ properties.attestorType = 1;
+ {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.verify(message.userOwnedDrydockNote);
+ if (error)
+ return "userOwnedDrydockNote." + error;
+ }
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Attestor message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.Attestor} Attestor
+ */
+ Attestor.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.Attestor)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.Attestor();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.userOwnedDrydockNote != null) {
+ if (typeof object.userOwnedDrydockNote !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Attestor.userOwnedDrydockNote: object expected");
+ message.userOwnedDrydockNote = $root.google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.fromObject(object.userOwnedDrydockNote);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.Attestor.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Attestor message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.Attestor} message Attestor
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Attestor.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.updateTime = null;
+ object.description = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.userOwnedDrydockNote != null && message.hasOwnProperty("userOwnedDrydockNote")) {
+ object.userOwnedDrydockNote = $root.google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.toObject(message.userOwnedDrydockNote, options);
+ if (options.oneofs)
+ object.attestorType = "userOwnedDrydockNote";
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ return object;
+ };
+
+ /**
+ * Converts this Attestor to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Attestor.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Attestor
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.Attestor
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Attestor.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.Attestor";
+ };
+
+ return Attestor;
+ })();
+
+ v1beta1.UserOwnedDrydockNote = (function() {
+
+ /**
+ * Properties of a UserOwnedDrydockNote.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IUserOwnedDrydockNote
+ * @property {string|null} [noteReference] UserOwnedDrydockNote noteReference
+ * @property {Array.|null} [publicKeys] UserOwnedDrydockNote publicKeys
+ * @property {string|null} [delegationServiceAccountEmail] UserOwnedDrydockNote delegationServiceAccountEmail
+ */
+
+ /**
+ * Constructs a new UserOwnedDrydockNote.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a UserOwnedDrydockNote.
+ * @implements IUserOwnedDrydockNote
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote=} [properties] Properties to set
+ */
+ function UserOwnedDrydockNote(properties) {
+ this.publicKeys = [];
+ 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]];
+ }
+
+ /**
+ * UserOwnedDrydockNote noteReference.
+ * @member {string} noteReference
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @instance
+ */
+ UserOwnedDrydockNote.prototype.noteReference = "";
+
+ /**
+ * UserOwnedDrydockNote publicKeys.
+ * @member {Array.} publicKeys
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @instance
+ */
+ UserOwnedDrydockNote.prototype.publicKeys = $util.emptyArray;
+
+ /**
+ * UserOwnedDrydockNote delegationServiceAccountEmail.
+ * @member {string} delegationServiceAccountEmail
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @instance
+ */
+ UserOwnedDrydockNote.prototype.delegationServiceAccountEmail = "";
+
+ /**
+ * Creates a new UserOwnedDrydockNote instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote} UserOwnedDrydockNote instance
+ */
+ UserOwnedDrydockNote.create = function create(properties) {
+ return new UserOwnedDrydockNote(properties);
+ };
+
+ /**
+ * Encodes the specified UserOwnedDrydockNote message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote} message UserOwnedDrydockNote message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UserOwnedDrydockNote.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.noteReference != null && Object.hasOwnProperty.call(message, "noteReference"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.noteReference);
+ if (message.publicKeys != null && message.publicKeys.length)
+ for (var i = 0; i < message.publicKeys.length; ++i)
+ $root.google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.encode(message.publicKeys[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.delegationServiceAccountEmail != null && Object.hasOwnProperty.call(message, "delegationServiceAccountEmail"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.delegationServiceAccountEmail);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UserOwnedDrydockNote message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUserOwnedDrydockNote} message UserOwnedDrydockNote message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UserOwnedDrydockNote.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a UserOwnedDrydockNote message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote} UserOwnedDrydockNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UserOwnedDrydockNote.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.binaryauthorization.v1beta1.UserOwnedDrydockNote();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.noteReference = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.publicKeys && message.publicKeys.length))
+ message.publicKeys = [];
+ message.publicKeys.push($root.google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.delegationServiceAccountEmail = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a UserOwnedDrydockNote message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote} UserOwnedDrydockNote
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UserOwnedDrydockNote.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a UserOwnedDrydockNote message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UserOwnedDrydockNote.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.noteReference != null && message.hasOwnProperty("noteReference"))
+ if (!$util.isString(message.noteReference))
+ return "noteReference: string expected";
+ if (message.publicKeys != null && message.hasOwnProperty("publicKeys")) {
+ if (!Array.isArray(message.publicKeys))
+ return "publicKeys: array expected";
+ for (var i = 0; i < message.publicKeys.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.verify(message.publicKeys[i]);
+ if (error)
+ return "publicKeys." + error;
+ }
+ }
+ if (message.delegationServiceAccountEmail != null && message.hasOwnProperty("delegationServiceAccountEmail"))
+ if (!$util.isString(message.delegationServiceAccountEmail))
+ return "delegationServiceAccountEmail: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a UserOwnedDrydockNote message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote} UserOwnedDrydockNote
+ */
+ UserOwnedDrydockNote.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote();
+ if (object.noteReference != null)
+ message.noteReference = String(object.noteReference);
+ if (object.publicKeys) {
+ if (!Array.isArray(object.publicKeys))
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.publicKeys: array expected");
+ message.publicKeys = [];
+ for (var i = 0; i < object.publicKeys.length; ++i) {
+ if (typeof object.publicKeys[i] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote.publicKeys: object expected");
+ message.publicKeys[i] = $root.google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.fromObject(object.publicKeys[i]);
+ }
+ }
+ if (object.delegationServiceAccountEmail != null)
+ message.delegationServiceAccountEmail = String(object.delegationServiceAccountEmail);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a UserOwnedDrydockNote message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote} message UserOwnedDrydockNote
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UserOwnedDrydockNote.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.publicKeys = [];
+ if (options.defaults) {
+ object.noteReference = "";
+ object.delegationServiceAccountEmail = "";
+ }
+ if (message.noteReference != null && message.hasOwnProperty("noteReference"))
+ object.noteReference = message.noteReference;
+ if (message.publicKeys && message.publicKeys.length) {
+ object.publicKeys = [];
+ for (var j = 0; j < message.publicKeys.length; ++j)
+ object.publicKeys[j] = $root.google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.toObject(message.publicKeys[j], options);
+ }
+ if (message.delegationServiceAccountEmail != null && message.hasOwnProperty("delegationServiceAccountEmail"))
+ object.delegationServiceAccountEmail = message.delegationServiceAccountEmail;
+ return object;
+ };
+
+ /**
+ * Converts this UserOwnedDrydockNote to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UserOwnedDrydockNote.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UserOwnedDrydockNote
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UserOwnedDrydockNote.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.UserOwnedDrydockNote";
+ };
+
+ return UserOwnedDrydockNote;
+ })();
+
+ v1beta1.PkixPublicKey = (function() {
+
+ /**
+ * Properties of a PkixPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IPkixPublicKey
+ * @property {string|null} [publicKeyPem] PkixPublicKey publicKeyPem
+ * @property {google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm|null} [signatureAlgorithm] PkixPublicKey signatureAlgorithm
+ */
+
+ /**
+ * Constructs a new PkixPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a PkixPublicKey.
+ * @implements IPkixPublicKey
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IPkixPublicKey=} [properties] Properties to set
+ */
+ function PkixPublicKey(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]];
+ }
+
+ /**
+ * PkixPublicKey publicKeyPem.
+ * @member {string} publicKeyPem
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @instance
+ */
+ PkixPublicKey.prototype.publicKeyPem = "";
+
+ /**
+ * PkixPublicKey signatureAlgorithm.
+ * @member {google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm} signatureAlgorithm
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @instance
+ */
+ PkixPublicKey.prototype.signatureAlgorithm = 0;
+
+ /**
+ * Creates a new PkixPublicKey instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IPkixPublicKey=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.PkixPublicKey} PkixPublicKey instance
+ */
+ PkixPublicKey.create = function create(properties) {
+ return new PkixPublicKey(properties);
+ };
+
+ /**
+ * Encodes the specified PkixPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.PkixPublicKey.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IPkixPublicKey} message PkixPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PkixPublicKey.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.publicKeyPem != null && Object.hasOwnProperty.call(message, "publicKeyPem"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.publicKeyPem);
+ if (message.signatureAlgorithm != null && Object.hasOwnProperty.call(message, "signatureAlgorithm"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.signatureAlgorithm);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PkixPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.PkixPublicKey.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IPkixPublicKey} message PkixPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PkixPublicKey.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.PkixPublicKey} PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PkixPublicKey.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.binaryauthorization.v1beta1.PkixPublicKey();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.publicKeyPem = reader.string();
+ break;
+ }
+ case 2: {
+ message.signatureAlgorithm = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PkixPublicKey message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.PkixPublicKey} PkixPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PkixPublicKey.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PkixPublicKey message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PkixPublicKey.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.publicKeyPem != null && message.hasOwnProperty("publicKeyPem"))
+ if (!$util.isString(message.publicKeyPem))
+ return "publicKeyPem: string expected";
+ if (message.signatureAlgorithm != null && message.hasOwnProperty("signatureAlgorithm"))
+ switch (message.signatureAlgorithm) {
+ default:
+ return "signatureAlgorithm: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ case 9:
+ case 10:
+ case 10:
+ case 11:
+ case 11:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PkixPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.PkixPublicKey} PkixPublicKey
+ */
+ PkixPublicKey.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey();
+ if (object.publicKeyPem != null)
+ message.publicKeyPem = String(object.publicKeyPem);
+ switch (object.signatureAlgorithm) {
+ default:
+ if (typeof object.signatureAlgorithm === "number") {
+ message.signatureAlgorithm = object.signatureAlgorithm;
+ break;
+ }
+ break;
+ case "SIGNATURE_ALGORITHM_UNSPECIFIED":
+ case 0:
+ message.signatureAlgorithm = 0;
+ break;
+ case "RSA_PSS_2048_SHA256":
+ case 1:
+ message.signatureAlgorithm = 1;
+ break;
+ case "RSA_PSS_3072_SHA256":
+ case 2:
+ message.signatureAlgorithm = 2;
+ break;
+ case "RSA_PSS_4096_SHA256":
+ case 3:
+ message.signatureAlgorithm = 3;
+ break;
+ case "RSA_PSS_4096_SHA512":
+ case 4:
+ message.signatureAlgorithm = 4;
+ break;
+ case "RSA_SIGN_PKCS1_2048_SHA256":
+ case 5:
+ message.signatureAlgorithm = 5;
+ break;
+ case "RSA_SIGN_PKCS1_3072_SHA256":
+ case 6:
+ message.signatureAlgorithm = 6;
+ break;
+ case "RSA_SIGN_PKCS1_4096_SHA256":
+ case 7:
+ message.signatureAlgorithm = 7;
+ break;
+ case "RSA_SIGN_PKCS1_4096_SHA512":
+ case 8:
+ message.signatureAlgorithm = 8;
+ break;
+ case "ECDSA_P256_SHA256":
+ case 9:
+ message.signatureAlgorithm = 9;
+ break;
+ case "EC_SIGN_P256_SHA256":
+ case 9:
+ message.signatureAlgorithm = 9;
+ break;
+ case "ECDSA_P384_SHA384":
+ case 10:
+ message.signatureAlgorithm = 10;
+ break;
+ case "EC_SIGN_P384_SHA384":
+ case 10:
+ message.signatureAlgorithm = 10;
+ break;
+ case "ECDSA_P521_SHA512":
+ case 11:
+ message.signatureAlgorithm = 11;
+ break;
+ case "EC_SIGN_P521_SHA512":
+ case 11:
+ message.signatureAlgorithm = 11;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PkixPublicKey message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.PkixPublicKey} message PkixPublicKey
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PkixPublicKey.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.publicKeyPem = "";
+ object.signatureAlgorithm = options.enums === String ? "SIGNATURE_ALGORITHM_UNSPECIFIED" : 0;
+ }
+ if (message.publicKeyPem != null && message.hasOwnProperty("publicKeyPem"))
+ object.publicKeyPem = message.publicKeyPem;
+ if (message.signatureAlgorithm != null && message.hasOwnProperty("signatureAlgorithm"))
+ object.signatureAlgorithm = options.enums === String ? $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm[message.signatureAlgorithm] === undefined ? message.signatureAlgorithm : $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm[message.signatureAlgorithm] : message.signatureAlgorithm;
+ return object;
+ };
+
+ /**
+ * Converts this PkixPublicKey to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PkixPublicKey.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PkixPublicKey
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.PkixPublicKey
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PkixPublicKey.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.PkixPublicKey";
+ };
+
+ /**
+ * SignatureAlgorithm enum.
+ * @name google.cloud.binaryauthorization.v1beta1.PkixPublicKey.SignatureAlgorithm
+ * @enum {number}
+ * @property {number} SIGNATURE_ALGORITHM_UNSPECIFIED=0 SIGNATURE_ALGORITHM_UNSPECIFIED value
+ * @property {number} RSA_PSS_2048_SHA256=1 RSA_PSS_2048_SHA256 value
+ * @property {number} RSA_PSS_3072_SHA256=2 RSA_PSS_3072_SHA256 value
+ * @property {number} RSA_PSS_4096_SHA256=3 RSA_PSS_4096_SHA256 value
+ * @property {number} RSA_PSS_4096_SHA512=4 RSA_PSS_4096_SHA512 value
+ * @property {number} RSA_SIGN_PKCS1_2048_SHA256=5 RSA_SIGN_PKCS1_2048_SHA256 value
+ * @property {number} RSA_SIGN_PKCS1_3072_SHA256=6 RSA_SIGN_PKCS1_3072_SHA256 value
+ * @property {number} RSA_SIGN_PKCS1_4096_SHA256=7 RSA_SIGN_PKCS1_4096_SHA256 value
+ * @property {number} RSA_SIGN_PKCS1_4096_SHA512=8 RSA_SIGN_PKCS1_4096_SHA512 value
+ * @property {number} ECDSA_P256_SHA256=9 ECDSA_P256_SHA256 value
+ * @property {number} EC_SIGN_P256_SHA256=9 EC_SIGN_P256_SHA256 value
+ * @property {number} ECDSA_P384_SHA384=10 ECDSA_P384_SHA384 value
+ * @property {number} EC_SIGN_P384_SHA384=10 EC_SIGN_P384_SHA384 value
+ * @property {number} ECDSA_P521_SHA512=11 ECDSA_P521_SHA512 value
+ * @property {number} EC_SIGN_P521_SHA512=11 EC_SIGN_P521_SHA512 value
+ */
+ PkixPublicKey.SignatureAlgorithm = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SIGNATURE_ALGORITHM_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "RSA_PSS_2048_SHA256"] = 1;
+ values[valuesById[2] = "RSA_PSS_3072_SHA256"] = 2;
+ values[valuesById[3] = "RSA_PSS_4096_SHA256"] = 3;
+ values[valuesById[4] = "RSA_PSS_4096_SHA512"] = 4;
+ values[valuesById[5] = "RSA_SIGN_PKCS1_2048_SHA256"] = 5;
+ values[valuesById[6] = "RSA_SIGN_PKCS1_3072_SHA256"] = 6;
+ values[valuesById[7] = "RSA_SIGN_PKCS1_4096_SHA256"] = 7;
+ values[valuesById[8] = "RSA_SIGN_PKCS1_4096_SHA512"] = 8;
+ values[valuesById[9] = "ECDSA_P256_SHA256"] = 9;
+ values["EC_SIGN_P256_SHA256"] = 9;
+ values[valuesById[10] = "ECDSA_P384_SHA384"] = 10;
+ values["EC_SIGN_P384_SHA384"] = 10;
+ values[valuesById[11] = "ECDSA_P521_SHA512"] = 11;
+ values["EC_SIGN_P521_SHA512"] = 11;
+ return values;
+ })();
+
+ return PkixPublicKey;
+ })();
+
+ v1beta1.AttestorPublicKey = (function() {
+
+ /**
+ * Properties of an AttestorPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IAttestorPublicKey
+ * @property {string|null} [comment] AttestorPublicKey comment
+ * @property {string|null} [id] AttestorPublicKey id
+ * @property {string|null} [asciiArmoredPgpPublicKey] AttestorPublicKey asciiArmoredPgpPublicKey
+ * @property {google.cloud.binaryauthorization.v1beta1.IPkixPublicKey|null} [pkixPublicKey] AttestorPublicKey pkixPublicKey
+ */
+
+ /**
+ * Constructs a new AttestorPublicKey.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents an AttestorPublicKey.
+ * @implements IAttestorPublicKey
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey=} [properties] Properties to set
+ */
+ function AttestorPublicKey(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]];
+ }
+
+ /**
+ * AttestorPublicKey comment.
+ * @member {string} comment
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.comment = "";
+
+ /**
+ * AttestorPublicKey id.
+ * @member {string} id
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.id = "";
+
+ /**
+ * AttestorPublicKey asciiArmoredPgpPublicKey.
+ * @member {string|null|undefined} asciiArmoredPgpPublicKey
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.asciiArmoredPgpPublicKey = null;
+
+ /**
+ * AttestorPublicKey pkixPublicKey.
+ * @member {google.cloud.binaryauthorization.v1beta1.IPkixPublicKey|null|undefined} pkixPublicKey
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @instance
+ */
+ AttestorPublicKey.prototype.pkixPublicKey = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AttestorPublicKey publicKey.
+ * @member {"asciiArmoredPgpPublicKey"|"pkixPublicKey"|undefined} publicKey
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @instance
+ */
+ Object.defineProperty(AttestorPublicKey.prototype, "publicKey", {
+ get: $util.oneOfGetter($oneOfFields = ["asciiArmoredPgpPublicKey", "pkixPublicKey"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AttestorPublicKey instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.AttestorPublicKey} AttestorPublicKey instance
+ */
+ AttestorPublicKey.create = function create(properties) {
+ return new AttestorPublicKey(properties);
+ };
+
+ /**
+ * Encodes the specified AttestorPublicKey message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey} message AttestorPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttestorPublicKey.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.comment != null && Object.hasOwnProperty.call(message, "comment"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.comment);
+ if (message.id != null && Object.hasOwnProperty.call(message, "id"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.id);
+ if (message.asciiArmoredPgpPublicKey != null && Object.hasOwnProperty.call(message, "asciiArmoredPgpPublicKey"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.asciiArmoredPgpPublicKey);
+ if (message.pkixPublicKey != null && Object.hasOwnProperty.call(message, "pkixPublicKey"))
+ $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey.encode(message.pkixPublicKey, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AttestorPublicKey message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IAttestorPublicKey} message AttestorPublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AttestorPublicKey.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.AttestorPublicKey} AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttestorPublicKey.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.binaryauthorization.v1beta1.AttestorPublicKey();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.comment = reader.string();
+ break;
+ }
+ case 2: {
+ message.id = reader.string();
+ break;
+ }
+ case 3: {
+ message.asciiArmoredPgpPublicKey = reader.string();
+ break;
+ }
+ case 5: {
+ message.pkixPublicKey = $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AttestorPublicKey message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.AttestorPublicKey} AttestorPublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AttestorPublicKey.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AttestorPublicKey message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AttestorPublicKey.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.comment != null && message.hasOwnProperty("comment"))
+ if (!$util.isString(message.comment))
+ return "comment: string expected";
+ if (message.id != null && message.hasOwnProperty("id"))
+ if (!$util.isString(message.id))
+ return "id: string expected";
+ if (message.asciiArmoredPgpPublicKey != null && message.hasOwnProperty("asciiArmoredPgpPublicKey")) {
+ properties.publicKey = 1;
+ if (!$util.isString(message.asciiArmoredPgpPublicKey))
+ return "asciiArmoredPgpPublicKey: string expected";
+ }
+ if (message.pkixPublicKey != null && message.hasOwnProperty("pkixPublicKey")) {
+ if (properties.publicKey === 1)
+ return "publicKey: multiple values";
+ properties.publicKey = 1;
+ {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey.verify(message.pkixPublicKey);
+ if (error)
+ return "pkixPublicKey." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AttestorPublicKey message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.AttestorPublicKey} AttestorPublicKey
+ */
+ AttestorPublicKey.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.AttestorPublicKey)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.AttestorPublicKey();
+ if (object.comment != null)
+ message.comment = String(object.comment);
+ if (object.id != null)
+ message.id = String(object.id);
+ if (object.asciiArmoredPgpPublicKey != null)
+ message.asciiArmoredPgpPublicKey = String(object.asciiArmoredPgpPublicKey);
+ if (object.pkixPublicKey != null) {
+ if (typeof object.pkixPublicKey !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.AttestorPublicKey.pkixPublicKey: object expected");
+ message.pkixPublicKey = $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey.fromObject(object.pkixPublicKey);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AttestorPublicKey message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.AttestorPublicKey} message AttestorPublicKey
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AttestorPublicKey.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.comment = "";
+ object.id = "";
+ }
+ if (message.comment != null && message.hasOwnProperty("comment"))
+ object.comment = message.comment;
+ if (message.id != null && message.hasOwnProperty("id"))
+ object.id = message.id;
+ if (message.asciiArmoredPgpPublicKey != null && message.hasOwnProperty("asciiArmoredPgpPublicKey")) {
+ object.asciiArmoredPgpPublicKey = message.asciiArmoredPgpPublicKey;
+ if (options.oneofs)
+ object.publicKey = "asciiArmoredPgpPublicKey";
+ }
+ if (message.pkixPublicKey != null && message.hasOwnProperty("pkixPublicKey")) {
+ object.pkixPublicKey = $root.google.cloud.binaryauthorization.v1beta1.PkixPublicKey.toObject(message.pkixPublicKey, options);
+ if (options.oneofs)
+ object.publicKey = "pkixPublicKey";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AttestorPublicKey to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AttestorPublicKey.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AttestorPublicKey
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.AttestorPublicKey
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AttestorPublicKey.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.AttestorPublicKey";
+ };
+
+ return AttestorPublicKey;
+ })();
+
+ v1beta1.BinauthzManagementServiceV1Beta1 = (function() {
+
+ /**
+ * Constructs a new BinauthzManagementServiceV1Beta1 service.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a BinauthzManagementServiceV1Beta1
+ * @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 BinauthzManagementServiceV1Beta1(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (BinauthzManagementServiceV1Beta1.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = BinauthzManagementServiceV1Beta1;
+
+ /**
+ * Creates new BinauthzManagementServiceV1Beta1 service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @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 {BinauthzManagementServiceV1Beta1} RPC service. Useful where requests and/or responses are streamed.
+ */
+ BinauthzManagementServiceV1Beta1.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|getPolicy}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @typedef GetPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1beta1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls GetPolicy.
+ * @function getPolicy
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest} request GetPolicyRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.GetPolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1Beta1.prototype.getPolicy = function getPolicy(request, callback) {
+ return this.rpcCall(getPolicy, $root.google.cloud.binaryauthorization.v1beta1.GetPolicyRequest, $root.google.cloud.binaryauthorization.v1beta1.Policy, request, callback);
+ }, "name", { value: "GetPolicy" });
+
+ /**
+ * Calls GetPolicy.
+ * @function getPolicy
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest} request GetPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|updatePolicy}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @typedef UpdatePolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1beta1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls UpdatePolicy.
+ * @function updatePolicy
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest} request UpdatePolicyRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.UpdatePolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1Beta1.prototype.updatePolicy = function updatePolicy(request, callback) {
+ return this.rpcCall(updatePolicy, $root.google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest, $root.google.cloud.binaryauthorization.v1beta1.Policy, request, callback);
+ }, "name", { value: "UpdatePolicy" });
+
+ /**
+ * Calls UpdatePolicy.
+ * @function updatePolicy
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest} request UpdatePolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|createAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @typedef CreateAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1beta1.Attestor} [response] Attestor
+ */
+
+ /**
+ * Calls CreateAttestor.
+ * @function createAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest} request CreateAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.CreateAttestorCallback} callback Node-style callback called with the error, if any, and Attestor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1Beta1.prototype.createAttestor = function createAttestor(request, callback) {
+ return this.rpcCall(createAttestor, $root.google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest, $root.google.cloud.binaryauthorization.v1beta1.Attestor, request, callback);
+ }, "name", { value: "CreateAttestor" });
+
+ /**
+ * Calls CreateAttestor.
+ * @function createAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest} request CreateAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|getAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @typedef GetAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1beta1.Attestor} [response] Attestor
+ */
+
+ /**
+ * Calls GetAttestor.
+ * @function getAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest} request GetAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.GetAttestorCallback} callback Node-style callback called with the error, if any, and Attestor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1Beta1.prototype.getAttestor = function getAttestor(request, callback) {
+ return this.rpcCall(getAttestor, $root.google.cloud.binaryauthorization.v1beta1.GetAttestorRequest, $root.google.cloud.binaryauthorization.v1beta1.Attestor, request, callback);
+ }, "name", { value: "GetAttestor" });
+
+ /**
+ * Calls GetAttestor.
+ * @function getAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest} request GetAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|updateAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @typedef UpdateAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1beta1.Attestor} [response] Attestor
+ */
+
+ /**
+ * Calls UpdateAttestor.
+ * @function updateAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest} request UpdateAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.UpdateAttestorCallback} callback Node-style callback called with the error, if any, and Attestor
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1Beta1.prototype.updateAttestor = function updateAttestor(request, callback) {
+ return this.rpcCall(updateAttestor, $root.google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest, $root.google.cloud.binaryauthorization.v1beta1.Attestor, request, callback);
+ }, "name", { value: "UpdateAttestor" });
+
+ /**
+ * Calls UpdateAttestor.
+ * @function updateAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest} request UpdateAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|listAttestors}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @typedef ListAttestorsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse} [response] ListAttestorsResponse
+ */
+
+ /**
+ * Calls ListAttestors.
+ * @function listAttestors
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest} request ListAttestorsRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.ListAttestorsCallback} callback Node-style callback called with the error, if any, and ListAttestorsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1Beta1.prototype.listAttestors = function listAttestors(request, callback) {
+ return this.rpcCall(listAttestors, $root.google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest, $root.google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse, request, callback);
+ }, "name", { value: "ListAttestors" });
+
+ /**
+ * Calls ListAttestors.
+ * @function listAttestors
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest} request ListAttestorsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1|deleteAttestor}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @typedef DeleteAttestorCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteAttestor.
+ * @function deleteAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest} request DeleteAttestorRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1.DeleteAttestorCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(BinauthzManagementServiceV1Beta1.prototype.deleteAttestor = function deleteAttestor(request, callback) {
+ return this.rpcCall(deleteAttestor, $root.google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteAttestor" });
+
+ /**
+ * Calls DeleteAttestor.
+ * @function deleteAttestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.BinauthzManagementServiceV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest} request DeleteAttestorRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return BinauthzManagementServiceV1Beta1;
+ })();
+
+ v1beta1.GetPolicyRequest = (function() {
+
+ /**
+ * Properties of a GetPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IGetPolicyRequest
+ * @property {string|null} [name] GetPolicyRequest name
+ */
+
+ /**
+ * Constructs a new GetPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a GetPolicyRequest.
+ * @implements IGetPolicyRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest=} [properties] Properties to set
+ */
+ function GetPolicyRequest(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]];
+ }
+
+ /**
+ * GetPolicyRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @instance
+ */
+ GetPolicyRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetPolicyRequest} GetPolicyRequest instance
+ */
+ GetPolicyRequest.create = function create(properties) {
+ return new GetPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest} message GetPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetPolicyRequest.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 GetPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetPolicyRequest} message GetPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetPolicyRequest} GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetPolicyRequest.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.binaryauthorization.v1beta1.GetPolicyRequest();
+ 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 GetPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetPolicyRequest} GetPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetPolicyRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetPolicyRequest.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 GetPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetPolicyRequest} GetPolicyRequest
+ */
+ GetPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.GetPolicyRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.GetPolicyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.GetPolicyRequest} message GetPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetPolicyRequest.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 GetPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetPolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetPolicyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetPolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetPolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.GetPolicyRequest";
+ };
+
+ return GetPolicyRequest;
+ })();
+
+ v1beta1.SystemPolicyV1Beta1 = (function() {
+
+ /**
+ * Constructs a new SystemPolicyV1Beta1 service.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a SystemPolicyV1Beta1
+ * @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 SystemPolicyV1Beta1(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (SystemPolicyV1Beta1.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = SystemPolicyV1Beta1;
+
+ /**
+ * Creates new SystemPolicyV1Beta1 service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1
+ * @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 {SystemPolicyV1Beta1} RPC service. Useful where requests and/or responses are streamed.
+ */
+ SystemPolicyV1Beta1.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1|getSystemPolicy}.
+ * @memberof google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1
+ * @typedef GetSystemPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.binaryauthorization.v1beta1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls GetSystemPolicy.
+ * @function getSystemPolicy
+ * @memberof google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest} request GetSystemPolicyRequest message or plain object
+ * @param {google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1.GetSystemPolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(SystemPolicyV1Beta1.prototype.getSystemPolicy = function getSystemPolicy(request, callback) {
+ return this.rpcCall(getSystemPolicy, $root.google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest, $root.google.cloud.binaryauthorization.v1beta1.Policy, request, callback);
+ }, "name", { value: "GetSystemPolicy" });
+
+ /**
+ * Calls GetSystemPolicy.
+ * @function getSystemPolicy
+ * @memberof google.cloud.binaryauthorization.v1beta1.SystemPolicyV1Beta1
+ * @instance
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest} request GetSystemPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return SystemPolicyV1Beta1;
+ })();
+
+ v1beta1.UpdatePolicyRequest = (function() {
+
+ /**
+ * Properties of an UpdatePolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IUpdatePolicyRequest
+ * @property {google.cloud.binaryauthorization.v1beta1.IPolicy|null} [policy] UpdatePolicyRequest policy
+ */
+
+ /**
+ * Constructs a new UpdatePolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents an UpdatePolicyRequest.
+ * @implements IUpdatePolicyRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest=} [properties] Properties to set
+ */
+ function UpdatePolicyRequest(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]];
+ }
+
+ /**
+ * UpdatePolicyRequest policy.
+ * @member {google.cloud.binaryauthorization.v1beta1.IPolicy|null|undefined} policy
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @instance
+ */
+ UpdatePolicyRequest.prototype.policy = null;
+
+ /**
+ * Creates a new UpdatePolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest} UpdatePolicyRequest instance
+ */
+ UpdatePolicyRequest.create = function create(properties) {
+ return new UpdatePolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest} message UpdatePolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdatePolicyRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.policy != null && Object.hasOwnProperty.call(message, "policy"))
+ $root.google.cloud.binaryauthorization.v1beta1.Policy.encode(message.policy, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdatePolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdatePolicyRequest} message UpdatePolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdatePolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest} UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdatePolicyRequest.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.binaryauthorization.v1beta1.UpdatePolicyRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.policy = $root.google.cloud.binaryauthorization.v1beta1.Policy.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdatePolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest} UpdatePolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdatePolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdatePolicyRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdatePolicyRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.policy != null && message.hasOwnProperty("policy")) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.Policy.verify(message.policy);
+ if (error)
+ return "policy." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdatePolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest} UpdatePolicyRequest
+ */
+ UpdatePolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest();
+ if (object.policy != null) {
+ if (typeof object.policy !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest.policy: object expected");
+ message.policy = $root.google.cloud.binaryauthorization.v1beta1.Policy.fromObject(object.policy);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdatePolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest} message UpdatePolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdatePolicyRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.policy = null;
+ if (message.policy != null && message.hasOwnProperty("policy"))
+ object.policy = $root.google.cloud.binaryauthorization.v1beta1.Policy.toObject(message.policy, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdatePolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdatePolicyRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdatePolicyRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdatePolicyRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.UpdatePolicyRequest";
+ };
+
+ return UpdatePolicyRequest;
+ })();
+
+ v1beta1.CreateAttestorRequest = (function() {
+
+ /**
+ * Properties of a CreateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface ICreateAttestorRequest
+ * @property {string|null} [parent] CreateAttestorRequest parent
+ * @property {string|null} [attestorId] CreateAttestorRequest attestorId
+ * @property {google.cloud.binaryauthorization.v1beta1.IAttestor|null} [attestor] CreateAttestorRequest attestor
+ */
+
+ /**
+ * Constructs a new CreateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a CreateAttestorRequest.
+ * @implements ICreateAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest=} [properties] Properties to set
+ */
+ function CreateAttestorRequest(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]];
+ }
+
+ /**
+ * CreateAttestorRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @instance
+ */
+ CreateAttestorRequest.prototype.parent = "";
+
+ /**
+ * CreateAttestorRequest attestorId.
+ * @member {string} attestorId
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @instance
+ */
+ CreateAttestorRequest.prototype.attestorId = "";
+
+ /**
+ * CreateAttestorRequest attestor.
+ * @member {google.cloud.binaryauthorization.v1beta1.IAttestor|null|undefined} attestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @instance
+ */
+ CreateAttestorRequest.prototype.attestor = null;
+
+ /**
+ * Creates a new CreateAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest} CreateAttestorRequest instance
+ */
+ CreateAttestorRequest.create = function create(properties) {
+ return new CreateAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest} message CreateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateAttestorRequest.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.attestorId != null && Object.hasOwnProperty.call(message, "attestorId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.attestorId);
+ if (message.attestor != null && Object.hasOwnProperty.call(message, "attestor"))
+ $root.google.cloud.binaryauthorization.v1beta1.Attestor.encode(message.attestor, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ICreateAttestorRequest} message CreateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest} CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateAttestorRequest.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.binaryauthorization.v1beta1.CreateAttestorRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.attestorId = reader.string();
+ break;
+ }
+ case 3: {
+ message.attestor = $root.google.cloud.binaryauthorization.v1beta1.Attestor.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest} CreateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateAttestorRequest.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.attestorId != null && message.hasOwnProperty("attestorId"))
+ if (!$util.isString(message.attestorId))
+ return "attestorId: string expected";
+ if (message.attestor != null && message.hasOwnProperty("attestor")) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.Attestor.verify(message.attestor);
+ if (error)
+ return "attestor." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest} CreateAttestorRequest
+ */
+ CreateAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.attestorId != null)
+ message.attestorId = String(object.attestorId);
+ if (object.attestor != null) {
+ if (typeof object.attestor !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest.attestor: object expected");
+ message.attestor = $root.google.cloud.binaryauthorization.v1beta1.Attestor.fromObject(object.attestor);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest} message CreateAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateAttestorRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.attestorId = "";
+ object.attestor = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.attestorId != null && message.hasOwnProperty("attestorId"))
+ object.attestorId = message.attestorId;
+ if (message.attestor != null && message.hasOwnProperty("attestor"))
+ object.attestor = $root.google.cloud.binaryauthorization.v1beta1.Attestor.toObject(message.attestor, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.CreateAttestorRequest";
+ };
+
+ return CreateAttestorRequest;
+ })();
+
+ v1beta1.GetAttestorRequest = (function() {
+
+ /**
+ * Properties of a GetAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IGetAttestorRequest
+ * @property {string|null} [name] GetAttestorRequest name
+ */
+
+ /**
+ * Constructs a new GetAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a GetAttestorRequest.
+ * @implements IGetAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest=} [properties] Properties to set
+ */
+ function GetAttestorRequest(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]];
+ }
+
+ /**
+ * GetAttestorRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @instance
+ */
+ GetAttestorRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetAttestorRequest} GetAttestorRequest instance
+ */
+ GetAttestorRequest.create = function create(properties) {
+ return new GetAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest} message GetAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAttestorRequest.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 GetAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetAttestorRequest} message GetAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetAttestorRequest} GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAttestorRequest.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.binaryauthorization.v1beta1.GetAttestorRequest();
+ 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 GetAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetAttestorRequest} GetAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetAttestorRequest.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 GetAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetAttestorRequest} GetAttestorRequest
+ */
+ GetAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.GetAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.GetAttestorRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.GetAttestorRequest} message GetAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetAttestorRequest.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 GetAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.GetAttestorRequest";
+ };
+
+ return GetAttestorRequest;
+ })();
+
+ v1beta1.UpdateAttestorRequest = (function() {
+
+ /**
+ * Properties of an UpdateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IUpdateAttestorRequest
+ * @property {google.cloud.binaryauthorization.v1beta1.IAttestor|null} [attestor] UpdateAttestorRequest attestor
+ */
+
+ /**
+ * Constructs a new UpdateAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents an UpdateAttestorRequest.
+ * @implements IUpdateAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest=} [properties] Properties to set
+ */
+ function UpdateAttestorRequest(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]];
+ }
+
+ /**
+ * UpdateAttestorRequest attestor.
+ * @member {google.cloud.binaryauthorization.v1beta1.IAttestor|null|undefined} attestor
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @instance
+ */
+ UpdateAttestorRequest.prototype.attestor = null;
+
+ /**
+ * Creates a new UpdateAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest} UpdateAttestorRequest instance
+ */
+ UpdateAttestorRequest.create = function create(properties) {
+ return new UpdateAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest} message UpdateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateAttestorRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.attestor != null && Object.hasOwnProperty.call(message, "attestor"))
+ $root.google.cloud.binaryauthorization.v1beta1.Attestor.encode(message.attestor, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IUpdateAttestorRequest} message UpdateAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest} UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateAttestorRequest.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.binaryauthorization.v1beta1.UpdateAttestorRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.attestor = $root.google.cloud.binaryauthorization.v1beta1.Attestor.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest} UpdateAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateAttestorRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.attestor != null && message.hasOwnProperty("attestor")) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.Attestor.verify(message.attestor);
+ if (error)
+ return "attestor." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest} UpdateAttestorRequest
+ */
+ UpdateAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest();
+ if (object.attestor != null) {
+ if (typeof object.attestor !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest.attestor: object expected");
+ message.attestor = $root.google.cloud.binaryauthorization.v1beta1.Attestor.fromObject(object.attestor);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest} message UpdateAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateAttestorRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.attestor = null;
+ if (message.attestor != null && message.hasOwnProperty("attestor"))
+ object.attestor = $root.google.cloud.binaryauthorization.v1beta1.Attestor.toObject(message.attestor, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.UpdateAttestorRequest";
+ };
+
+ return UpdateAttestorRequest;
+ })();
+
+ v1beta1.ListAttestorsRequest = (function() {
+
+ /**
+ * Properties of a ListAttestorsRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IListAttestorsRequest
+ * @property {string|null} [parent] ListAttestorsRequest parent
+ * @property {number|null} [pageSize] ListAttestorsRequest pageSize
+ * @property {string|null} [pageToken] ListAttestorsRequest pageToken
+ */
+
+ /**
+ * Constructs a new ListAttestorsRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a ListAttestorsRequest.
+ * @implements IListAttestorsRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest=} [properties] Properties to set
+ */
+ function ListAttestorsRequest(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]];
+ }
+
+ /**
+ * ListAttestorsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @instance
+ */
+ ListAttestorsRequest.prototype.parent = "";
+
+ /**
+ * ListAttestorsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @instance
+ */
+ ListAttestorsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListAttestorsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @instance
+ */
+ ListAttestorsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new ListAttestorsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest} ListAttestorsRequest instance
+ */
+ ListAttestorsRequest.create = function create(properties) {
+ return new ListAttestorsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListAttestorsRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest} message ListAttestorsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListAttestorsRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsRequest} message ListAttestorsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest} ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsRequest.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.binaryauthorization.v1beta1.ListAttestorsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAttestorsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest} ListAttestorsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAttestorsRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAttestorsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListAttestorsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest} ListAttestorsRequest
+ */
+ ListAttestorsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListAttestorsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest} message ListAttestorsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAttestorsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListAttestorsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAttestorsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAttestorsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAttestorsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.ListAttestorsRequest";
+ };
+
+ return ListAttestorsRequest;
+ })();
+
+ v1beta1.ListAttestorsResponse = (function() {
+
+ /**
+ * Properties of a ListAttestorsResponse.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IListAttestorsResponse
+ * @property {Array.|null} [attestors] ListAttestorsResponse attestors
+ * @property {string|null} [nextPageToken] ListAttestorsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListAttestorsResponse.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a ListAttestorsResponse.
+ * @implements IListAttestorsResponse
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse=} [properties] Properties to set
+ */
+ function ListAttestorsResponse(properties) {
+ this.attestors = [];
+ 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]];
+ }
+
+ /**
+ * ListAttestorsResponse attestors.
+ * @member {Array.} attestors
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @instance
+ */
+ ListAttestorsResponse.prototype.attestors = $util.emptyArray;
+
+ /**
+ * ListAttestorsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @instance
+ */
+ ListAttestorsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListAttestorsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse} ListAttestorsResponse instance
+ */
+ ListAttestorsResponse.create = function create(properties) {
+ return new ListAttestorsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListAttestorsResponse message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse} message ListAttestorsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.attestors != null && message.attestors.length)
+ for (var i = 0; i < message.attestors.length; ++i)
+ $root.google.cloud.binaryauthorization.v1beta1.Attestor.encode(message.attestors[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 ListAttestorsResponse message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IListAttestorsResponse} message ListAttestorsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListAttestorsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse} ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsResponse.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.binaryauthorization.v1beta1.ListAttestorsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.attestors && message.attestors.length))
+ message.attestors = [];
+ message.attestors.push($root.google.cloud.binaryauthorization.v1beta1.Attestor.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListAttestorsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse} ListAttestorsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListAttestorsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListAttestorsResponse message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListAttestorsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.attestors != null && message.hasOwnProperty("attestors")) {
+ if (!Array.isArray(message.attestors))
+ return "attestors: array expected";
+ for (var i = 0; i < message.attestors.length; ++i) {
+ var error = $root.google.cloud.binaryauthorization.v1beta1.Attestor.verify(message.attestors[i]);
+ if (error)
+ return "attestors." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListAttestorsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse} ListAttestorsResponse
+ */
+ ListAttestorsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse();
+ if (object.attestors) {
+ if (!Array.isArray(object.attestors))
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.attestors: array expected");
+ message.attestors = [];
+ for (var i = 0; i < object.attestors.length; ++i) {
+ if (typeof object.attestors[i] !== "object")
+ throw TypeError(".google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse.attestors: object expected");
+ message.attestors[i] = $root.google.cloud.binaryauthorization.v1beta1.Attestor.fromObject(object.attestors[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListAttestorsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse} message ListAttestorsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListAttestorsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.attestors = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.attestors && message.attestors.length) {
+ object.attestors = [];
+ for (var j = 0; j < message.attestors.length; ++j)
+ object.attestors[j] = $root.google.cloud.binaryauthorization.v1beta1.Attestor.toObject(message.attestors[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListAttestorsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListAttestorsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListAttestorsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListAttestorsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.ListAttestorsResponse";
+ };
+
+ return ListAttestorsResponse;
+ })();
+
+ v1beta1.DeleteAttestorRequest = (function() {
+
+ /**
+ * Properties of a DeleteAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IDeleteAttestorRequest
+ * @property {string|null} [name] DeleteAttestorRequest name
+ */
+
+ /**
+ * Constructs a new DeleteAttestorRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a DeleteAttestorRequest.
+ * @implements IDeleteAttestorRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest=} [properties] Properties to set
+ */
+ function DeleteAttestorRequest(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]];
+ }
+
+ /**
+ * DeleteAttestorRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @instance
+ */
+ DeleteAttestorRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteAttestorRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest} DeleteAttestorRequest instance
+ */
+ DeleteAttestorRequest.create = function create(properties) {
+ return new DeleteAttestorRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteAttestorRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest} message DeleteAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteAttestorRequest.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 DeleteAttestorRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IDeleteAttestorRequest} message DeleteAttestorRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteAttestorRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteAttestorRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest} DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteAttestorRequest.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.binaryauthorization.v1beta1.DeleteAttestorRequest();
+ 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 DeleteAttestorRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest} DeleteAttestorRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteAttestorRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteAttestorRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteAttestorRequest.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 DeleteAttestorRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest} DeleteAttestorRequest
+ */
+ DeleteAttestorRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteAttestorRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest} message DeleteAttestorRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteAttestorRequest.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 DeleteAttestorRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteAttestorRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteAttestorRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteAttestorRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.binaryauthorization.v1beta1.DeleteAttestorRequest";
+ };
+
+ return DeleteAttestorRequest;
+ })();
+
+ v1beta1.GetSystemPolicyRequest = (function() {
+
+ /**
+ * Properties of a GetSystemPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @interface IGetSystemPolicyRequest
+ * @property {string|null} [name] GetSystemPolicyRequest name
+ */
+
+ /**
+ * Constructs a new GetSystemPolicyRequest.
+ * @memberof google.cloud.binaryauthorization.v1beta1
+ * @classdesc Represents a GetSystemPolicyRequest.
+ * @implements IGetSystemPolicyRequest
+ * @constructor
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest=} [properties] Properties to set
+ */
+ function GetSystemPolicyRequest(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]];
+ }
+
+ /**
+ * GetSystemPolicyRequest name.
+ * @member {string} name
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @instance
+ */
+ GetSystemPolicyRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetSystemPolicyRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest=} [properties] Properties to set
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest} GetSystemPolicyRequest instance
+ */
+ GetSystemPolicyRequest.create = function create(properties) {
+ return new GetSystemPolicyRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetSystemPolicyRequest message. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest} message GetSystemPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetSystemPolicyRequest.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 GetSystemPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.IGetSystemPolicyRequest} message GetSystemPolicyRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetSystemPolicyRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetSystemPolicyRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest} GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetSystemPolicyRequest.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.binaryauthorization.v1beta1.GetSystemPolicyRequest();
+ 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 GetSystemPolicyRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest} GetSystemPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetSystemPolicyRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetSystemPolicyRequest message.
+ * @function verify
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetSystemPolicyRequest.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 GetSystemPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest} GetSystemPolicyRequest
+ */
+ GetSystemPolicyRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest)
+ return object;
+ var message = new $root.google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetSystemPolicyRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @static
+ * @param {google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest} message GetSystemPolicyRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetSystemPolicyRequest.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 GetSystemPolicyRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.binaryauthorization.v1beta1.GetSystemPolicyRequest
+ * @instance
+ * @returns {Object.