diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 1bcbc94132e..39cc5ca23c9 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -42,6 +42,7 @@
"packages/google-cloud-recommender": "5.0.4",
"packages/google-cloud-redis": "3.1.5",
"packages/google-cloud-resourcemanager": "4.1.3",
+ "packages/google-cloud-security-privateca": "4.1.2",
"packages/google-cloud-secretmanager": "4.1.4",
"packages/google-cloud-scheduler": "3.0.5",
"packages/google-cloud-security-publicca": "0.1.3",
diff --git a/packages/google-cloud-security-privateca/.OwlBot.yaml b/packages/google-cloud-security-privateca/.OwlBot.yaml
new file mode 100644
index 00000000000..57f7124c5ff
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.OwlBot.yaml
@@ -0,0 +1,21 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/security/privateca/(.*)/.*-nodejs
+ dest: /owl-bot-staging/google-cloud-security-privateca/$1
+
diff --git a/packages/google-cloud-security-privateca/.eslintignore b/packages/google-cloud-security-privateca/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-security-privateca/.eslintrc.json b/packages/google-cloud-security-privateca/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-security-privateca/.gitattributes b/packages/google-cloud-security-privateca/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.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-security-privateca/.gitignore b/packages/google-cloud-security-privateca/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.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-security-privateca/.jsdoc.js b/packages/google-cloud-security-privateca/.jsdoc.js
new file mode 100644
index 00000000000..8ee410724fd
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.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/security-private-ca',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-security-privateca/.mocharc.js b/packages/google-cloud-security-privateca/.mocharc.js
new file mode 100644
index 00000000000..cdb7b752160
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/packages/google-cloud-security-privateca/.nycrc b/packages/google-cloud-security-privateca/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.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-security-privateca/.prettierignore b/packages/google-cloud-security-privateca/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-security-privateca/.prettierrc.js b/packages/google-cloud-security-privateca/.prettierrc.js
new file mode 100644
index 00000000000..d546a4ad546
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-cloud-security-privateca/.repo-metadata.json b/packages/google-cloud-security-privateca/.repo-metadata.json
new file mode 100644
index 00000000000..fe14c3646da
--- /dev/null
+++ b/packages/google-cloud-security-privateca/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/security-private-ca/latest",
+ "api_id": "privateca.googleapis.com",
+ "distribution_name": "@google-cloud/security-private-ca",
+ "release_level": "stable",
+ "default_version": "v1",
+ "language": "nodejs",
+ "name_pretty": "Certificate Authority Service",
+ "repo": "googleapis/google-cloud-node",
+ "product_documentation": "https://cloud.google.com/certificate-authority-service",
+ "requires_billing": true,
+ "name": "security-private-ca",
+ "issue_tracker": "https://github.com/googleapis/google-cloud-node/issues",
+ "api_shortname": "privateca",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-security-privateca/CHANGELOG.md b/packages/google-cloud-security-privateca/CHANGELOG.md
new file mode 100644
index 00000000000..3d94c4a2f9f
--- /dev/null
+++ b/packages/google-cloud-security-privateca/CHANGELOG.md
@@ -0,0 +1,195 @@
+# Changelog
+
+## [4.1.2](https://github.com/googleapis/nodejs-security-private-ca/compare/v4.1.1...v4.1.2) (2022-11-11)
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#200](https://github.com/googleapis/nodejs-security-private-ca/issues/200)) ([49544f7](https://github.com/googleapis/nodejs-security-private-ca/commit/49544f7cb90fc6c069dc5e6ec069fd8461fe1474))
+* Better support for fallback mode ([#195](https://github.com/googleapis/nodejs-security-private-ca/issues/195)) ([1ade12a](https://github.com/googleapis/nodejs-security-private-ca/commit/1ade12ad4846ed1b5ecf59252f55ba5c78038c5e))
+* Change import long to require ([#196](https://github.com/googleapis/nodejs-security-private-ca/issues/196)) ([09700e4](https://github.com/googleapis/nodejs-security-private-ca/commit/09700e4bc33755d90b01c9723bfb1757f3c85d0e))
+* **deps:** Use google-gax v3.5.2 ([#207](https://github.com/googleapis/nodejs-security-private-ca/issues/207)) ([e8e4b6e](https://github.com/googleapis/nodejs-security-private-ca/commit/e8e4b6ef03b90b3d1d11f062fe5b80267cd6f267))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-security-private-ca/issues/1553)) ([#199](https://github.com/googleapis/nodejs-security-private-ca/issues/199)) ([f4a0948](https://github.com/googleapis/nodejs-security-private-ca/commit/f4a0948dcb2710eef28aeb2a38c122cde28e5681))
+* Preserve default values in x-goog-request-params header ([#201](https://github.com/googleapis/nodejs-security-private-ca/issues/201)) ([b897e4f](https://github.com/googleapis/nodejs-security-private-ca/commit/b897e4fd4cea66e673fe44029f9336cb6ecac5c3))
+* Regenerated protos JS and TS definitions ([#210](https://github.com/googleapis/nodejs-security-private-ca/issues/210)) ([13781d3](https://github.com/googleapis/nodejs-security-private-ca/commit/13781d3d11eaaf2cb04d80f2f48b1c48f28539a9))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-security-private-ca/issues/1546)) ([#198](https://github.com/googleapis/nodejs-security-private-ca/issues/198)) ([38691a1](https://github.com/googleapis/nodejs-security-private-ca/commit/38691a1aa932c6d9c77b7f6ab254feb4ece8c80e))
+* use google-gax v3.3.0 ([f4a0948](https://github.com/googleapis/nodejs-security-private-ca/commit/f4a0948dcb2710eef28aeb2a38c122cde28e5681))
+
+## [4.1.1](https://github.com/googleapis/nodejs-security-private-ca/compare/v4.1.0...v4.1.1) (2022-07-04)
+
+
+### Bug Fixes
+
+* **privateca:** publish v1beta1 LRO HTTP rules ([cc4a64a](https://github.com/googleapis/nodejs-security-private-ca/commit/cc4a64a47ec713f87d66da7d9a4e6dc004af4bca))
+
+## [4.1.0](https://github.com/googleapis/nodejs-security-private-ca/compare/v4.0.0...v4.1.0) (2022-06-30)
+
+
+### Features
+
+* support regapic LRO ([#187](https://github.com/googleapis/nodejs-security-private-ca/issues/187)) ([2b2f553](https://github.com/googleapis/nodejs-security-private-ca/commit/2b2f553e60256ad6308447b4a8d1062186982f42))
+
+## [4.0.0](https://github.com/googleapis/nodejs-security-private-ca/compare/v3.1.0...v4.0.0) (2022-05-19)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#180)
+
+### Build System
+
+* update library to use Node 12 ([#180](https://github.com/googleapis/nodejs-security-private-ca/issues/180)) ([118d786](https://github.com/googleapis/nodejs-security-private-ca/commit/118d786e8520c83baa5c585b55a3970e922c65e5))
+
+## [3.1.0](https://github.com/googleapis/nodejs-security-private-ca/compare/v3.0.0...v3.1.0) (2022-03-16)
+
+
+### Features
+
+* Add `skip_grace_period` flag to DeleteCertificateAuthority API ([#164](https://github.com/googleapis/nodejs-security-private-ca/issues/164)) ([7dcc0fc](https://github.com/googleapis/nodejs-security-private-ca/commit/7dcc0fcc59bbaf2e472b36ccef8b3529de5bd976))
+
+## [3.0.0](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.5.0...v3.0.0) (2021-11-26)
+
+
+### ⚠ BREAKING CHANGES
+
+* v1 removes methods 'restoreCertificateAuthority', 'scheduleDeleteCertificateAuthority', 'getReusableConfig', 'listReusableConfigs'
+* resource paths have changed for some methods, e.g., certificateAuthorities becomes caPools
+* default to v1 of the API (#88)
+
+### Features
+
+* default to v1 of the API ([#88](https://www.github.com/googleapis/nodejs-security-private-ca/issues/88)) ([a52d838](https://www.github.com/googleapis/nodejs-security-private-ca/commit/a52d8381e371f73ef21b22a8faa389235c58c5a8))
+
+
+### Code Refactoring
+
+* resource paths have changed for some methods, e.g., certificateAuthorities becomes caPools ([a52d838](https://www.github.com/googleapis/nodejs-security-private-ca/commit/a52d8381e371f73ef21b22a8faa389235c58c5a8))
+* v1 removes methods 'restoreCertificateAuthority', 'scheduleDeleteCertificateAuthority', 'getReusableConfig', 'listReusableConfigs' ([a52d838](https://www.github.com/googleapis/nodejs-security-private-ca/commit/a52d8381e371f73ef21b22a8faa389235c58c5a8))
+
+## [2.5.0](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.4.1...v2.5.0) (2021-10-06)
+
+
+### Features
+
+* **privateca:** add IAMPolicy & Locations mix-in support ([ca2312e](https://www.github.com/googleapis/nodejs-security-private-ca/commit/ca2312e60999e6068f92405922f1df1737d8a1ed))
+
+### [2.4.1](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.4.0...v2.4.1) (2021-09-10)
+
+
+### Bug Fixes
+
+* **build:** set default branch to main ([#122](https://www.github.com/googleapis/nodejs-security-private-ca/issues/122)) ([dbd2a17](https://www.github.com/googleapis/nodejs-security-private-ca/commit/dbd2a1722f5624cbe4d7533e4a537c645cc87659))
+
+## [2.4.0](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.7...v2.4.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#118](https://www.github.com/googleapis/nodejs-security-private-ca/issues/118)) ([8cafa73](https://www.github.com/googleapis/nodejs-security-private-ca/commit/8cafa73b6529a0e90b64977a0d4fe042eb214348))
+
+### [2.3.7](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.6...v2.3.7) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#116](https://www.github.com/googleapis/nodejs-security-private-ca/issues/116)) ([f5cb1ea](https://www.github.com/googleapis/nodejs-security-private-ca/commit/f5cb1ea2345996b23f50f747dc0f96302d974235))
+
+### [2.3.6](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.5...v2.3.6) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#108](https://www.github.com/googleapis/nodejs-security-private-ca/issues/108)) ([526d6f3](https://www.github.com/googleapis/nodejs-security-private-ca/commit/526d6f33c6354236adb416a5ff256d53319f8d88))
+
+### [2.3.5](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.4...v2.3.5) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#105](https://www.github.com/googleapis/nodejs-security-private-ca/issues/105)) ([860efe6](https://www.github.com/googleapis/nodejs-security-private-ca/commit/860efe6bc751b42e652e4b6ec22364fd30e6b2cd))
+
+### [2.3.4](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.3...v2.3.4) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#102](https://www.github.com/googleapis/nodejs-security-private-ca/issues/102)) ([16e36ee](https://www.github.com/googleapis/nodejs-security-private-ca/commit/16e36ee26015aac15526fb8a1f5f6b0bc4e368b0))
+
+### [2.3.3](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.2...v2.3.3) (2021-06-25)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#98](https://www.github.com/googleapis/nodejs-security-private-ca/issues/98)) ([2bf045d](https://www.github.com/googleapis/nodejs-security-private-ca/commit/2bf045d956df8699a95aa8644c188462657d849d))
+
+### [2.3.2](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.1...v2.3.2) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#90](https://www.github.com/googleapis/nodejs-security-private-ca/issues/90)) ([0a5e25f](https://www.github.com/googleapis/nodejs-security-private-ca/commit/0a5e25f5d351f2bd471512a16f08c2ddc06f2721))
+
+### [2.3.1](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.3.0...v2.3.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#80](https://www.github.com/googleapis/nodejs-security-private-ca/issues/80)) ([e0b4aa6](https://www.github.com/googleapis/nodejs-security-private-ca/commit/e0b4aa64be0e8433f10cb29ad9f0167a7b292609))
+* use require() to load JSON protos ([#84](https://www.github.com/googleapis/nodejs-security-private-ca/issues/84)) ([3ec9321](https://www.github.com/googleapis/nodejs-security-private-ca/commit/3ec9321734af9de467a082cf34db6c4cf8039d7b))
+
+## [2.3.0](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.2.0...v2.3.0) (2021-04-21)
+
+
+### Features
+
+* Refactored Elliptic Key curves to provide additional options, the NamedCurve enum is replaced by the EcKeyType message. ([#70](https://www.github.com/googleapis/nodejs-security-private-ca/issues/70)) ([567a792](https://www.github.com/googleapis/nodejs-security-private-ca/commit/567a7925e7510b0a1782e894cf7f718d211643ab))
+
+## [2.2.0](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.1.0...v2.2.0) (2021-04-14)
+
+
+### Features
+
+* Publish Certificate Authority Service V1 API ([#62](https://www.github.com/googleapis/nodejs-security-private-ca/issues/62)) ([5a7d9ca](https://www.github.com/googleapis/nodejs-security-private-ca/commit/5a7d9ca566c7241ced4f836d054386e3e1843e8f))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.0.1...v2.1.0) (2021-01-09)
+
+
+### Features
+
+* adds style enumeration ([#43](https://www.github.com/googleapis/nodejs-security-private-ca/issues/43)) ([1bdcac1](https://www.github.com/googleapis/nodejs-security-private-ca/commit/1bdcac1a327eab72bd6ed2afe477807df3e1f1c5))
+
+### [2.0.1](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v2.0.0...v2.0.1) (2020-11-25)
+
+
+### Bug Fixes
+
+* **browser:** check for fetch on window ([#36](https://www.github.com/googleapis/nodejs-security-private-ca/issues/36)) ([673c8d5](https://www.github.com/googleapis/nodejs-security-private-ca/commit/673c8d518f538a78bd6cf4dcb3878c22d52d8038))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-security-private-ca/compare/v1.0.0...v2.0.0) (2020-11-11)
+
+
+### ⚠ BREAKING CHANGES
+
+* Updates to Certificate Authority Service for Beta release (#21)
+
+### Features
+
+* Updates to Certificate Authority Service for Beta release ([#21](https://www.github.com/googleapis/nodejs-security-private-ca/issues/21)) ([8e3fb52](https://www.github.com/googleapis/nodejs-security-private-ca/commit/8e3fb52688fc93bbbe4f627d06121384cca84785))
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#28](https://www.github.com/googleapis/nodejs-security-private-ca/issues/28)) ([5e9de83](https://www.github.com/googleapis/nodejs-security-private-ca/commit/5e9de8377ad9d56037d86ac40e9765d6f3b60681))
+
+## 1.0.0 (2020-09-24)
+
+
+### ⚠ BREAKING CHANGES
+
+* stub out initial generation of library (#3)
+
+### Features
+
+* initial stub of library ([2f6b4cb](https://www.github.com/googleapis/nodejs-security-private-ca/commit/2f6b4cbc35176aa50bd95a31fc2179b4809b52ee))
+* run synthtool ([daa55ed](https://www.github.com/googleapis/nodejs-security-private-ca/commit/daa55eda7900769d3623ed87cec6dd351bcdb1e3))
+* stub out initial generation of library ([#3](https://www.github.com/googleapis/nodejs-security-private-ca/issues/3)) ([e3e90bb](https://www.github.com/googleapis/nodejs-security-private-ca/commit/e3e90bb60b1b46a948e47b99c5836d7e44f740b7))
diff --git a/packages/google-cloud-security-privateca/CODE_OF_CONDUCT.md b/packages/google-cloud-security-privateca/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-security-privateca/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-security-privateca/CONTRIBUTING.md b/packages/google-cloud-security-privateca/CONTRIBUTING.md
new file mode 100644
index 00000000000..d789c7f383e
--- /dev/null
+++ b/packages/google-cloud-security-privateca/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 Certificate Authority Service 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=privateca.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-security-privateca/LICENSE b/packages/google-cloud-security-privateca/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-security-privateca/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-security-privateca/README.md b/packages/google-cloud-security-privateca/README.md
new file mode 100644
index 00000000000..285a453b762
--- /dev/null
+++ b/packages/google-cloud-security-privateca/README.md
@@ -0,0 +1,211 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Certificate Authority Service: Node.js Client](https://github.com/googleapis/google-cloud-node)
+
+[![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-cloud/security-private-ca.svg)](https://www.npmjs.org/package/@google-cloud/security-private-ca)
+
+
+
+
+Privateca client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-security-privateca/CHANGELOG.md).
+
+* [Certificate Authority Service Node.js Client API Reference][client-docs]
+* [Certificate Authority Service Documentation][product-docs]
+* [github.com/googleapis/google-cloud-node/packages/google-cloud-security-privateca](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-security-privateca)
+
+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 Certificate Authority Service 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/security-private-ca
+```
+
+
+### Using the client library
+
+```javascript
+// Imports the Google Cloud client library
+
+const {
+ CertificateAuthorityServiceClient,
+} = require('@google-cloud/security-private-ca');
+
+// TODO(developer): replace with your prefered project ID.
+// const projectId = 'my-project'
+
+// Creates a client
+const client = new CertificateAuthorityServiceClient();
+
+async function listCertificates() {
+ const res = await client.listCertificates({
+ parent: `projects/${projectId}/locations/${location}/caPools/${name}`,
+ });
+ return res;
+}
+
+listCertificates();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Certificate_authority_service.activate_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.activate_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.activate_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.create_ca_pool | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_ca_pool.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_ca_pool.js,samples/README.md) |
+| Certificate_authority_service.create_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_certificate.js,samples/README.md) |
+| Certificate_authority_service.create_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.create_certificate_template | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_certificate_template.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.create_certificate_template.js,samples/README.md) |
+| Certificate_authority_service.delete_ca_pool | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.delete_ca_pool.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.delete_ca_pool.js,samples/README.md) |
+| Certificate_authority_service.delete_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.delete_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.delete_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.delete_certificate_template | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.delete_certificate_template.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.delete_certificate_template.js,samples/README.md) |
+| Certificate_authority_service.disable_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.disable_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.disable_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.enable_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.enable_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.enable_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.fetch_ca_certs | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.fetch_ca_certs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.fetch_ca_certs.js,samples/README.md) |
+| Certificate_authority_service.fetch_certificate_authority_csr | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.fetch_certificate_authority_csr.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.fetch_certificate_authority_csr.js,samples/README.md) |
+| Certificate_authority_service.get_ca_pool | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_ca_pool.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_ca_pool.js,samples/README.md) |
+| Certificate_authority_service.get_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate.js,samples/README.md) |
+| Certificate_authority_service.get_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.get_certificate_revocation_list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate_revocation_list.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate_revocation_list.js,samples/README.md) |
+| Certificate_authority_service.get_certificate_template | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate_template.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.get_certificate_template.js,samples/README.md) |
+| Certificate_authority_service.list_ca_pools | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_ca_pools.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_ca_pools.js,samples/README.md) |
+| Certificate_authority_service.list_certificate_authorities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificate_authorities.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificate_authorities.js,samples/README.md) |
+| Certificate_authority_service.list_certificate_revocation_lists | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificate_revocation_lists.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificate_revocation_lists.js,samples/README.md) |
+| Certificate_authority_service.list_certificate_templates | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificate_templates.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificate_templates.js,samples/README.md) |
+| Certificate_authority_service.list_certificates | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificates.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.list_certificates.js,samples/README.md) |
+| Certificate_authority_service.revoke_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.revoke_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.revoke_certificate.js,samples/README.md) |
+| Certificate_authority_service.undelete_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.undelete_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.undelete_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.update_ca_pool | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_ca_pool.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_ca_pool.js,samples/README.md) |
+| Certificate_authority_service.update_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate.js,samples/README.md) |
+| Certificate_authority_service.update_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.update_certificate_revocation_list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate_revocation_list.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate_revocation_list.js,samples/README.md) |
+| Certificate_authority_service.update_certificate_template | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate_template.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1/certificate_authority_service.update_certificate_template.js,samples/README.md) |
+| Certificate_authority_service.activate_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.activate_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.activate_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.create_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.create_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.create_certificate.js,samples/README.md) |
+| Certificate_authority_service.create_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.create_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.create_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.disable_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.disable_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.disable_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.enable_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.enable_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.enable_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.fetch_certificate_authority_csr | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.fetch_certificate_authority_csr.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.fetch_certificate_authority_csr.js,samples/README.md) |
+| Certificate_authority_service.get_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_certificate.js,samples/README.md) |
+| Certificate_authority_service.get_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.get_certificate_revocation_list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_certificate_revocation_list.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_certificate_revocation_list.js,samples/README.md) |
+| Certificate_authority_service.get_reusable_config | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_reusable_config.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.get_reusable_config.js,samples/README.md) |
+| Certificate_authority_service.list_certificate_authorities | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_certificate_authorities.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_certificate_authorities.js,samples/README.md) |
+| Certificate_authority_service.list_certificate_revocation_lists | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_certificate_revocation_lists.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_certificate_revocation_lists.js,samples/README.md) |
+| Certificate_authority_service.list_certificates | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_certificates.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_certificates.js,samples/README.md) |
+| Certificate_authority_service.list_reusable_configs | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_reusable_configs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.list_reusable_configs.js,samples/README.md) |
+| Certificate_authority_service.restore_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.restore_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.restore_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.revoke_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.revoke_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.revoke_certificate.js,samples/README.md) |
+| Certificate_authority_service.schedule_delete_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.schedule_delete_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.schedule_delete_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.update_certificate | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.update_certificate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.update_certificate.js,samples/README.md) |
+| Certificate_authority_service.update_certificate_authority | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.update_certificate_authority.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.update_certificate_authority.js,samples/README.md) |
+| Certificate_authority_service.update_certificate_revocation_list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.update_certificate_revocation_list.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/generated/v1beta1/certificate_authority_service.update_certificate_revocation_list.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/quickstart.js,samples/README.md) |
+| Quickstart.test | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-security-privateca/samples/test/quickstart.test.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-cloud-security-privateca/samples/test/quickstart.test.js,samples/README.md) |
+
+
+
+The [Certificate Authority Service 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/security-private-ca@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/security-private-ca/latest
+[product-docs]: https://cloud.google.com/certificate-authority-service
+[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=privateca.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-security-privateca/linkinator.config.json b/packages/google-cloud-security-privateca/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-security-privateca/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-security-privateca/package.json b/packages/google-cloud-security-privateca/package.json
new file mode 100644
index 00000000000..284878532da
--- /dev/null
+++ b/packages/google-cloud-security-privateca/package.json
@@ -0,0 +1,71 @@
+{
+ "name": "@google-cloud/security-private-ca",
+ "version": "4.1.2",
+ "description": "Privateca client for Node.js",
+ "repository": {
+ "type": "git",
+ "directory": "packages/google-cloud-security-privateca",
+ "url": "https://github.com/googleapis/google-cloud-node.git"
+ },
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google privateca",
+ "privateca",
+ "certificate authority service"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "prelint": "cd samples; npm link ../; npm i",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "samples-test": "npm run compile && cd samples/ && npm link ../ && npm i && npm test",
+ "system-test": "npm run compile && c8 mocha build/system-test",
+ "test": "c8 mocha build/test"
+ },
+ "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.0",
+ "gts": "^3.1.0",
+ "jsdoc": "^4.0.0",
+ "jsdoc-fresh": "^2.0.0",
+ "jsdoc-region-tag": "^2.0.0",
+ "linkinator": "^4.0.0",
+ "mocha": "^9.2.2",
+ "null-loader": "^4.0.0",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^14.0.0",
+ "ts-loader": "^9.0.0",
+ "typescript": "^4.6.4",
+ "webpack": "^5.0.0",
+ "webpack-cli": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-security-privateca"
+}
diff --git a/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1/resources.proto b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1/resources.proto
new file mode 100644
index 00000000000..3f6dfb17110
--- /dev/null
+++ b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1/resources.proto
@@ -0,0 +1,1123 @@
+// 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.security.privateca.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/expr.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Security.PrivateCA.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/security/privateca/v1;privateca";
+option java_multiple_files = true;
+option java_outer_classname = "PrivateCaResourcesProto";
+option java_package = "com.google.cloud.security.privateca.v1";
+option php_namespace = "Google\\Cloud\\Security\\PrivateCA\\V1";
+option ruby_package = "Google::Cloud::Security::PrivateCA::V1";
+
+// A [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] represents an individual Certificate Authority.
+// A [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] can be used to create [Certificates][google.cloud.security.privateca.v1.Certificate].
+message CertificateAuthority {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}/certificateAuthorities/{certificate_authority}"
+ };
+
+ // The type of a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority], indicating its issuing chain.
+ enum Type {
+ // Not specified.
+ TYPE_UNSPECIFIED = 0;
+
+ // Self-signed CA.
+ SELF_SIGNED = 1;
+
+ // Subordinate CA. Could be issued by a Private CA [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
+ // or an unmanaged CA.
+ SUBORDINATE = 2;
+ }
+
+ // The state of a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority], indicating if it can be used.
+ enum State {
+ // Not specified.
+ STATE_UNSPECIFIED = 0;
+
+ // Certificates can be issued from this CA. CRLs will be generated for this
+ // CA. The CA will be part of the [CaPool][google.cloud.security.privateca.v1.CaPool]'s trust anchor, and will be
+ // used to issue certificates from the [CaPool][google.cloud.security.privateca.v1.CaPool].
+ ENABLED = 1;
+
+ // Certificates cannot be issued from this CA. CRLs will still be generated.
+ // The CA will be part of the [CaPool][google.cloud.security.privateca.v1.CaPool]'s trust anchor, but will not be
+ // used to issue certificates from the [CaPool][google.cloud.security.privateca.v1.CaPool].
+ DISABLED = 2;
+
+ // Certificates can be issued from this CA. CRLs will be generated for this
+ // CA. The CA will be part of the [CaPool][google.cloud.security.privateca.v1.CaPool]'s trust anchor, but will not
+ // be used to issue certificates from the [CaPool][google.cloud.security.privateca.v1.CaPool].
+ STAGED = 3;
+
+ // Certificates cannot be issued from this CA. CRLs will not be generated.
+ // The CA will not be part of the [CaPool][google.cloud.security.privateca.v1.CaPool]'s trust anchor, and will not be
+ // used to issue certificates from the [CaPool][google.cloud.security.privateca.v1.CaPool].
+ AWAITING_USER_ACTIVATION = 4;
+
+ // Certificates cannot be issued from this CA. CRLs will not be generated.
+ // The CA may still be recovered by calling
+ // [CertificateAuthorityService.UndeleteCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.UndeleteCertificateAuthority] before
+ // [expire_time][google.cloud.security.privateca.v1.CertificateAuthority.expire_time].
+ // The CA will not be part of the [CaPool][google.cloud.security.privateca.v1.CaPool]'s trust anchor, and will not be
+ // used to issue certificates from the [CaPool][google.cloud.security.privateca.v1.CaPool].
+ DELETED = 5;
+ }
+
+ // URLs where a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] will publish content.
+ message AccessUrls {
+ // The URL where this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s CA certificate is
+ // published. This will only be set for CAs that have been activated.
+ string ca_certificate_access_url = 1;
+
+ // The URLs where this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s CRLs are published. This
+ // will only be set for CAs that have been activated.
+ repeated string crl_access_urls = 2;
+ }
+
+ // A Cloud KMS key configuration that a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] will use.
+ message KeyVersionSpec {
+ oneof KeyVersion {
+ // The resource name for an existing Cloud KMS CryptoKeyVersion in the
+ // format
+ // `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
+ // This option enables full flexibility in the key's capabilities and
+ // properties.
+ string cloud_kms_key_version = 1;
+
+ // The algorithm to use for creating a managed Cloud KMS key for a for a
+ // simplified experience. All managed keys will be have their
+ // [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] as `HSM`.
+ SignHashAlgorithm algorithm = 2;
+ }
+ }
+
+ // The algorithm of a Cloud KMS CryptoKeyVersion of a
+ // [CryptoKey][google.cloud.kms.v1.CryptoKey] with the
+ // [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] value
+ // `ASYMMETRIC_SIGN`. These values correspond to the
+ // [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
+ // values. For RSA signing algorithms, the PSS algorithms should be preferred,
+ // use PKCS1 algorithms if required for compatibility. For further
+ // recommendations, see
+ // https://cloud.google.com/kms/docs/algorithms#algorithm_recommendations.
+ enum SignHashAlgorithm {
+ // Not specified.
+ SIGN_HASH_ALGORITHM_UNSPECIFIED = 0;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256
+ RSA_PSS_2048_SHA256 = 1;
+
+ // maps to CryptoKeyVersionAlgorithm. RSA_SIGN_PSS_3072_SHA256
+ RSA_PSS_3072_SHA256 = 2;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_4096_SHA256
+ RSA_PSS_4096_SHA256 = 3;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_2048_SHA256
+ RSA_PKCS1_2048_SHA256 = 6;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_3072_SHA256
+ RSA_PKCS1_3072_SHA256 = 7;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_4096_SHA256
+ RSA_PKCS1_4096_SHA256 = 8;
+
+ // maps to CryptoKeyVersionAlgorithm.EC_SIGN_P256_SHA256
+ EC_P256_SHA256 = 4;
+
+ // maps to CryptoKeyVersionAlgorithm.EC_SIGN_P384_SHA384
+ EC_P384_SHA384 = 5;
+ }
+
+ // Output only. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
+ // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The [Type][google.cloud.security.privateca.v1.CertificateAuthority.Type] of this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ Type type = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. The config used to create a self-signed X.509 certificate or CSR.
+ CertificateConfig config = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. The desired lifetime of the CA certificate. Used to create the
+ // "not_before_time" and "not_after_time" fields inside an X.509
+ // certificate.
+ google.protobuf.Duration lifetime = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. Used when issuing certificates for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]. If this
+ // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] is a self-signed CertificateAuthority, this key
+ // is also used to sign the self-signed CA certificate. Otherwise, it
+ // is used to sign a CSR.
+ KeyVersionSpec key_spec = 5 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Optional. If this is a subordinate [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority], this field will be set
+ // with the subordinate configuration, which describes its issuers. This may
+ // be updated, but this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] must continue to validate.
+ SubordinateConfig subordinate_config = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The [CaPool.Tier][google.cloud.security.privateca.v1.CaPool.Tier] of the [CaPool][google.cloud.security.privateca.v1.CaPool] that includes this
+ // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ CaPool.Tier tier = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The [State][google.cloud.security.privateca.v1.CertificateAuthority.State] for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. This [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s certificate chain, including the current
+ // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s certificate. Ordered such that the root issuer
+ // is the final element (consistent with RFC 5246). For a self-signed CA, this
+ // will only list the current [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s certificate.
+ repeated string pem_ca_certificates = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A structured description of this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s CA certificate
+ // and its issuers. Ordered as self-to-root.
+ repeated CertificateDescription ca_certificate_descriptions = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. The name of a Cloud Storage bucket where this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] will
+ // publish content, such as the CA certificate and CRLs. This must be a bucket
+ // name, without any prefixes (such as `gs://`) or suffixes (such as
+ // `.googleapis.com`). For example, to use a bucket named `my-bucket`, you
+ // would simply specify `my-bucket`. If not specified, a managed bucket will
+ // be created.
+ string gcs_bucket = 11 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. URLs for accessing content published by this CA, such as the CA certificate
+ // and CRLs.
+ AccessUrls access_urls = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] was created.
+ google.protobuf.Timestamp create_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] was last updated.
+ google.protobuf.Timestamp update_time = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] was soft deleted, if
+ // it is in the [DELETED][google.cloud.security.privateca.v1.CertificateAuthority.State.DELETED] state.
+ google.protobuf.Timestamp delete_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] will be permanently purged,
+ // if it is in the [DELETED][google.cloud.security.privateca.v1.CertificateAuthority.State.DELETED] state.
+ google.protobuf.Timestamp expire_time = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 17 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [CaPool][google.cloud.security.privateca.v1.CaPool] represents a group of
+// [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority] that form a trust anchor. A
+// [CaPool][google.cloud.security.privateca.v1.CaPool] can be used to manage issuance policies for one or more
+// [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] resources and to rotate CA certificates in and out
+// of the trust anchor.
+message CaPool {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/CaPool"
+ pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}"
+ };
+
+ // The tier of a [CaPool][google.cloud.security.privateca.v1.CaPool], indicating its supported functionality and/or
+ // billing SKU.
+ enum Tier {
+ // Not specified.
+ TIER_UNSPECIFIED = 0;
+
+ // Enterprise tier.
+ ENTERPRISE = 1;
+
+ // DevOps tier.
+ DEVOPS = 2;
+ }
+
+ // Options relating to the publication of each [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s CA
+ // certificate and CRLs and their inclusion as extensions in issued
+ // [Certificates][google.cloud.security.privateca.v1.Certificate]. The options set here apply to certificates
+ // issued by any [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the [CaPool][google.cloud.security.privateca.v1.CaPool].
+ message PublishingOptions {
+ // Optional. When true, publishes each [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s CA certificate and
+ // includes its URL in the "Authority Information Access" X.509 extension
+ // in all issued [Certificates][google.cloud.security.privateca.v1.Certificate]. If this is false, the CA
+ // certificate will not be published and the corresponding X.509 extension
+ // will not be written in issued certificates.
+ bool publish_ca_cert = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When true, publishes each [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]'s CRL and includes its
+ // URL in the "CRL Distribution Points" X.509 extension in all issued
+ // [Certificates][google.cloud.security.privateca.v1.Certificate]. If this is false, CRLs will not be published
+ // and the corresponding X.509 extension will not be written in issued
+ // certificates.
+ // CRLs will expire 7 days from their creation. However, we will rebuild
+ // daily. CRLs are also rebuilt shortly after a certificate is revoked.
+ bool publish_crl = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Defines controls over all certificate issuance within a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ message IssuancePolicy {
+ // Describes a "type" of key that may be used in a [Certificate][google.cloud.security.privateca.v1.Certificate] issued
+ // from a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ // Note that a single [AllowedKeyType][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType] may refer to either a
+ // fully-qualified key algorithm, such as RSA 4096, or a family of key
+ // algorithms, such as any RSA key.
+ message AllowedKeyType {
+ // Describes an RSA key that may be used in a [Certificate][google.cloud.security.privateca.v1.Certificate] issued from
+ // a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ message RsaKeyType {
+ // Optional. The minimum allowed RSA modulus size (inclusive), in bits. If this is
+ // not set, or if set to zero, the service-level min RSA modulus size
+ // will continue to apply.
+ int64 min_modulus_size = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum allowed RSA modulus size (inclusive), in bits. If this is
+ // not set, or if set to zero, the service will not enforce an explicit
+ // upper bound on RSA modulus sizes.
+ int64 max_modulus_size = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Describes an Elliptic Curve key that may be used in a [Certificate][google.cloud.security.privateca.v1.Certificate]
+ // issued from a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ message EcKeyType {
+ // Describes an elliptic curve-based signature algorithm that may be
+ // used in a [Certificate][google.cloud.security.privateca.v1.Certificate] issued from a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ enum EcSignatureAlgorithm {
+ // Not specified. Signifies that any signature algorithm may be used.
+ EC_SIGNATURE_ALGORITHM_UNSPECIFIED = 0;
+
+ // Refers to the Elliptic Curve Digital Signature Algorithm over the
+ // NIST P-256 curve.
+ ECDSA_P256 = 1;
+
+ // Refers to the Elliptic Curve Digital Signature Algorithm over the
+ // NIST P-384 curve.
+ ECDSA_P384 = 2;
+
+ // Refers to the Edwards-curve Digital Signature Algorithm over curve
+ // 25519, as described in RFC 8410.
+ EDDSA_25519 = 3;
+ }
+
+ // Optional. A signature algorithm that must be used. If this is omitted, any
+ // EC-based signature algorithm will be allowed.
+ EcSignatureAlgorithm signature_algorithm = 1 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ oneof key_type {
+ // Represents an allowed RSA key type.
+ RsaKeyType rsa = 1;
+
+ // Represents an allowed Elliptic Curve key type.
+ EcKeyType elliptic_curve = 2;
+ }
+ }
+
+ // [IssuanceModes][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes] specifies the allowed ways in which
+ // [Certificates][google.cloud.security.privateca.v1.Certificate] may be requested from this
+ // [CaPool][google.cloud.security.privateca.v1.CaPool].
+ message IssuanceModes {
+ // Optional. When true, allows callers to create [Certificates][google.cloud.security.privateca.v1.Certificate] by
+ // specifying a CSR.
+ bool allow_csr_based_issuance = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. When true, allows callers to create [Certificates][google.cloud.security.privateca.v1.Certificate] by
+ // specifying a [CertificateConfig][google.cloud.security.privateca.v1.CertificateConfig].
+ bool allow_config_based_issuance = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. If any [AllowedKeyType][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType] is specified, then the certificate request's
+ // public key must match one of the key types listed here. Otherwise,
+ // any key may be used.
+ repeated AllowedKeyType allowed_key_types = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum lifetime allowed for issued [Certificates][google.cloud.security.privateca.v1.Certificate]. Note
+ // that if the issuing [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] expires before a
+ // [Certificate][google.cloud.security.privateca.v1.Certificate]'s requested maximum_lifetime, the effective lifetime will
+ // be explicitly truncated to match it.
+ google.protobuf.Duration maximum_lifetime = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If specified, then only methods allowed in the [IssuanceModes][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes] may be
+ // used to issue [Certificates][google.cloud.security.privateca.v1.Certificate].
+ IssuanceModes allowed_issuance_modes = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A set of X.509 values that will be applied to all certificates issued
+ // through this [CaPool][google.cloud.security.privateca.v1.CaPool]. If a certificate request includes conflicting
+ // values for the same properties, they will be overwritten by the values
+ // defined here. If a certificate request uses a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate]
+ // that defines conflicting
+ // [predefined_values][google.cloud.security.privateca.v1.CertificateTemplate.predefined_values] for the same
+ // properties, the certificate issuance request will fail.
+ X509Parameters baseline_values = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes constraints on identities that may appear in
+ // [Certificates][google.cloud.security.privateca.v1.Certificate] issued through this [CaPool][google.cloud.security.privateca.v1.CaPool].
+ // If this is omitted, then this [CaPool][google.cloud.security.privateca.v1.CaPool] will not add restrictions on a
+ // certificate's identity.
+ CertificateIdentityConstraints identity_constraints = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes the set of X.509 extensions that may appear in a
+ // [Certificate][google.cloud.security.privateca.v1.Certificate] issued through this [CaPool][google.cloud.security.privateca.v1.CaPool]. If a certificate request
+ // sets extensions that don't appear in the [passthrough_extensions][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.passthrough_extensions],
+ // those extensions will be dropped. If a certificate request uses a
+ // [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] with
+ // [predefined_values][google.cloud.security.privateca.v1.CertificateTemplate.predefined_values] that don't
+ // appear here, the certificate issuance request will fail. If this is
+ // omitted, then this [CaPool][google.cloud.security.privateca.v1.CaPool] will not add restrictions on a
+ // certificate's X.509 extensions. These constraints do not apply to X.509
+ // extensions set in this [CaPool][google.cloud.security.privateca.v1.CaPool]'s [baseline_values][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.baseline_values].
+ CertificateExtensionConstraints passthrough_extensions = 6 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Output only. The resource name for this [CaPool][google.cloud.security.privateca.v1.CaPool] in the
+ // format `projects/*/locations/*/caPools/*`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The [Tier][google.cloud.security.privateca.v1.CaPool.Tier] of this [CaPool][google.cloud.security.privateca.v1.CaPool].
+ Tier tier = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Optional. The [IssuancePolicy][google.cloud.security.privateca.v1.CaPool.IssuancePolicy] to control how [Certificates][google.cloud.security.privateca.v1.Certificate]
+ // will be issued from this [CaPool][google.cloud.security.privateca.v1.CaPool].
+ IssuancePolicy issuance_policy = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The [PublishingOptions][google.cloud.security.privateca.v1.CaPool.PublishingOptions] to follow when issuing
+ // [Certificates][google.cloud.security.privateca.v1.Certificate] from any [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in this
+ // [CaPool][google.cloud.security.privateca.v1.CaPool].
+ PublishingOptions publishing_options = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] corresponds to a signed X.509 certificate
+// Revocation List (CRL). A CRL contains the serial numbers of certificates that
+// should no longer be trusted.
+message CertificateRevocationList {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/CertificateRevocationList"
+ pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}/certificateAuthorities/{certificate_authority}/certificateRevocationLists/{certificate_revocation_list}"
+ };
+
+ // Describes a revoked [Certificate][google.cloud.security.privateca.v1.Certificate].
+ message RevokedCertificate {
+ // The resource name for the [Certificate][google.cloud.security.privateca.v1.Certificate] in the format
+ // `projects/*/locations/*/caPools/*/certificates/*`.
+ string certificate = 1 [(google.api.resource_reference) = {
+ type: "privateca.googleapis.com/Certificate"
+ }];
+
+ // The serial number of the [Certificate][google.cloud.security.privateca.v1.Certificate].
+ string hex_serial_number = 2;
+
+ // The reason the [Certificate][google.cloud.security.privateca.v1.Certificate] was revoked.
+ RevocationReason revocation_reason = 3;
+ }
+
+ // The state of a [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList], indicating if it is current.
+ enum State {
+ // Not specified.
+ STATE_UNSPECIFIED = 0;
+
+ // The [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] is up to date.
+ ACTIVE = 1;
+
+ // The [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] is no longer current.
+ SUPERSEDED = 2;
+ }
+
+ // Output only. The resource name for this [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] in
+ // the format
+ // `projects/*/locations/*/caPools/*certificateAuthorities/*/
+ // certificateRevocationLists/*`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The CRL sequence number that appears in pem_crl.
+ int64 sequence_number = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The revoked serial numbers that appear in pem_crl.
+ repeated RevokedCertificate revoked_certificates = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The PEM-encoded X.509 CRL.
+ string pem_crl = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The location where 'pem_crl' can be accessed.
+ string access_url = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The [State][google.cloud.security.privateca.v1.CertificateRevocationList.State] for this [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList].
+ State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] was created.
+ google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] was updated.
+ google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The revision ID of this [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList]. A new revision is
+ // committed whenever a new CRL is published. The format is an 8-character
+ // hexadecimal string.
+ string revision_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 10 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [Certificate][google.cloud.security.privateca.v1.Certificate] corresponds to a signed X.509 certificate issued by a
+// [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+message Certificate {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/Certificate"
+ pattern: "projects/{project}/locations/{location}/caPools/{ca_pool}/certificates/{certificate}"
+ };
+
+ // Describes fields that are relavent to the revocation of a [Certificate][google.cloud.security.privateca.v1.Certificate].
+ message RevocationDetails {
+ // Indicates why a [Certificate][google.cloud.security.privateca.v1.Certificate] was revoked.
+ RevocationReason revocation_state = 1;
+
+ // The time at which this [Certificate][google.cloud.security.privateca.v1.Certificate] was revoked.
+ google.protobuf.Timestamp revocation_time = 2;
+ }
+
+ // Output only. The resource name for this [Certificate][google.cloud.security.privateca.v1.Certificate] in the format
+ // `projects/*/locations/*/caPools/*/certificates/*`.
+ string name = 1 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/Certificate"
+ }
+ ];
+
+ // The config used to create a signed X.509 certificate.
+ oneof certificate_config {
+ // Immutable. A pem-encoded X.509 certificate signing request (CSR).
+ string pem_csr = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. A description of the certificate and key that does not require X.509 or
+ // ASN.1.
+ CertificateConfig config = 3 [(google.api.field_behavior) = IMMUTABLE];
+ }
+
+ // Output only. The resource name of the issuing [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the format
+ // `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string issuer_certificate_authority = 4 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Required. Immutable. The desired lifetime of a certificate. Used to create the
+ // "not_before_time" and "not_after_time" fields inside an X.509
+ // certificate. Note that the lifetime may be truncated if it would extend
+ // past the life of any certificate authority in the issuing chain.
+ google.protobuf.Duration lifetime = 5 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Immutable. The resource name for a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] used to issue this
+ // certificate, in the format
+ // `projects/*/locations/*/certificateTemplates/*`.
+ // If this is specified, the caller must have the necessary permission to
+ // use this template. If this is omitted, no template will be used.
+ // This template must be in the same location as the [Certificate][google.cloud.security.privateca.v1.Certificate].
+ string certificate_template = 6 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateTemplate"
+ }
+ ];
+
+ // Immutable. Specifies how the [Certificate][google.cloud.security.privateca.v1.Certificate]'s identity fields are to be decided.
+ // If this is omitted, the `DEFAULT` subject mode will be used.
+ SubjectRequestMode subject_mode = 7 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. Details regarding the revocation of this [Certificate][google.cloud.security.privateca.v1.Certificate]. This
+ // [Certificate][google.cloud.security.privateca.v1.Certificate] is considered revoked if and only if this field is present.
+ RevocationDetails revocation_details = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The pem-encoded, signed X.509 certificate.
+ string pem_certificate = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A structured description of the issued X.509 certificate.
+ CertificateDescription certificate_description = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The chain that may be used to verify the X.509 certificate. Expected to be
+ // in issuer-to-root order according to RFC 5246.
+ repeated string pem_certificate_chain = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [Certificate][google.cloud.security.privateca.v1.Certificate] was created.
+ google.protobuf.Timestamp create_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [Certificate][google.cloud.security.privateca.v1.Certificate] was updated.
+ google.protobuf.Timestamp update_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 14 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] refers to a managed template for certificate
+// issuance.
+message CertificateTemplate {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/CertificateTemplate"
+ pattern: "projects/{project}/locations/{location}/certificateTemplates/{certificate_template}"
+ };
+
+ // Output only. The resource name for this [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] in the format
+ // `projects/*/locations/*/certificateTemplates/*`.
+ string name = 1 [
+ (google.api.field_behavior) = OUTPUT_ONLY,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateTemplate"
+ }
+ ];
+
+ // Optional. A set of X.509 values that will be applied to all issued certificates that
+ // use this template. If the certificate request includes conflicting values
+ // for the same properties, they will be overwritten by the values defined
+ // here. If the issuing [CaPool][google.cloud.security.privateca.v1.CaPool]'s [IssuancePolicy][google.cloud.security.privateca.v1.CaPool.IssuancePolicy]
+ // defines conflicting
+ // [baseline_values][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.baseline_values] for the same
+ // properties, the certificate issuance request will fail.
+ X509Parameters predefined_values = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes constraints on identities that may be appear in
+ // [Certificates][google.cloud.security.privateca.v1.Certificate] issued using this template. If this is omitted,
+ // then this template will not add restrictions on a certificate's identity.
+ CertificateIdentityConstraints identity_constraints = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes the set of X.509 extensions that may appear in a
+ // [Certificate][google.cloud.security.privateca.v1.Certificate] issued using this [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate]. If a certificate
+ // request sets extensions that don't appear in the
+ // [passthrough_extensions][google.cloud.security.privateca.v1.CertificateTemplate.passthrough_extensions], those extensions will be dropped. If the
+ // issuing [CaPool][google.cloud.security.privateca.v1.CaPool]'s [IssuancePolicy][google.cloud.security.privateca.v1.CaPool.IssuancePolicy] defines
+ // [baseline_values][google.cloud.security.privateca.v1.CaPool.IssuancePolicy.baseline_values] that don't appear
+ // here, the certificate issuance request will fail. If this is omitted, then
+ // this template will not add restrictions on a certificate's X.509
+ // extensions. These constraints do not apply to X.509 extensions set in this
+ // [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate]'s [predefined_values][google.cloud.security.privateca.v1.CertificateTemplate.predefined_values].
+ CertificateExtensionConstraints passthrough_extensions = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A human-readable description of scenarios this template is intended for.
+ string description = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The time at which this [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] was created.
+ google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] was updated.
+ google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 8 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// An [X509Parameters][google.cloud.security.privateca.v1.X509Parameters] is used to describe certain fields of an
+// X.509 certificate, such as the key usage fields, fields specific to CA
+// certificates, certificate policy extensions and custom extensions.
+message X509Parameters {
+ // Describes values that are relevant in a CA certificate.
+ message CaOptions {
+ // Optional. Refers to the "CA" X.509 extension, which is a boolean value. When this
+ // value is missing, the extension will be omitted from the CA certificate.
+ optional bool is_ca = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Refers to the path length restriction X.509 extension. For a CA
+ // certificate, this value describes the depth of subordinate CA
+ // certificates that are allowed.
+ // If this value is less than 0, the request will fail.
+ // If this value is missing, the max path length will be omitted from the
+ // CA certificate.
+ optional int32 max_issuer_path_length = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. Indicates the intended use for keys that correspond to a certificate.
+ KeyUsage key_usage = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes options in this [X509Parameters][google.cloud.security.privateca.v1.X509Parameters] that are relevant in a CA
+ // certificate.
+ CaOptions ca_options = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes the X.509 certificate policy object identifiers, per
+ // https://tools.ietf.org/html/rfc5280#section-4.2.1.4.
+ repeated ObjectId policy_ids = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes Online Certificate Status Protocol (OCSP) endpoint addresses
+ // that appear in the "Authority Information Access" extension in the
+ // certificate.
+ repeated string aia_ocsp_servers = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes custom X.509 extensions.
+ repeated X509Extension additional_extensions = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Describes a subordinate CA's issuers. This is either a resource name to a
+// known issuing [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority], or a PEM issuer certificate chain.
+message SubordinateConfig {
+ // This message describes a subordinate CA's issuer certificate chain. This
+ // wrapper exists for compatibility reasons.
+ message SubordinateConfigChain {
+ // Required. Expected to be in leaf-to-root order according to RFC 5246.
+ repeated string pem_certificates = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ oneof subordinate_config {
+ // Required. This can refer to a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] that was used to create a
+ // subordinate [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]. This field is used for information
+ // and usability purposes only. The resource name is in the format
+ // `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string certificate_authority = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Required. Contains the PEM certificate chain for the issuers of this
+ // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority], but not pem certificate for this CA itself.
+ SubordinateConfigChain pem_issuer_chain = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// A [PublicKey][google.cloud.security.privateca.v1.PublicKey] describes a public key.
+message PublicKey {
+ // Types of public keys formats that are supported. Currently, only `PEM`
+ // format is supported.
+ enum KeyFormat {
+ // Default unspecified value.
+ KEY_FORMAT_UNSPECIFIED = 0;
+
+ // The key is PEM-encoded as defined in [RFC
+ // 7468](https://tools.ietf.org/html/rfc7468). It can be any of the
+ // following: a PEM-encoded PKCS#1/RFC 3447 RSAPublicKey
+ // structure, an RFC 5280
+ // [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
+ // or a PEM-encoded X.509 certificate signing request (CSR). If a
+ // [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
+ // is specified, it can contain a A PEM-encoded PKCS#1/RFC 3447 RSAPublicKey
+ // or a NIST P-256/secp256r1/prime256v1 or P-384 key. If a CSR is specified,
+ // it will used solely for the purpose of extracting the public key. When
+ // generated by the service, it will always be an RFC 5280
+ // [SubjectPublicKeyInfo](https://tools.ietf.org/html/rfc5280#section-4.1)
+ // structure containing an algorithm identifier and a key.
+ PEM = 1;
+ }
+
+ // Required. A public key. The padding and encoding
+ // must match with the `KeyFormat` value specified for the `format` field.
+ bytes key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The format of the public key.
+ KeyFormat format = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A [CertificateConfig][google.cloud.security.privateca.v1.CertificateConfig] describes an X.509 certificate or CSR that is to be
+// created, as an alternative to using ASN.1.
+message CertificateConfig {
+ // These values are used to create the distinguished name and subject
+ // alternative name fields in an X.509 certificate.
+ message SubjectConfig {
+ // Required. Contains distinguished name fields such as the common name, location and
+ // organization.
+ Subject subject = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The subject alternative name fields.
+ SubjectAltNames subject_alt_name = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Required. Specifies some of the values in a certificate that are related to the
+ // subject.
+ SubjectConfig subject_config = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Describes how some of the technical X.509 fields in a certificate should be
+ // populated.
+ X509Parameters x509_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The public key that corresponds to this config. This is, for example, used
+ // when issuing [Certificates][google.cloud.security.privateca.v1.Certificate], but not when creating a
+ // self-signed [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] or [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] CSR.
+ PublicKey public_key = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [CertificateDescription][google.cloud.security.privateca.v1.CertificateDescription] describes an X.509 certificate or CSR that has
+// been issued, as an alternative to using ASN.1 / X.509.
+message CertificateDescription {
+ // These values describe fields in an issued X.509 certificate such as the
+ // distinguished name, subject alternative names, serial number, and lifetime.
+ message SubjectDescription {
+ // Contains distinguished name fields such as the common name, location and
+ // / organization.
+ Subject subject = 1;
+
+ // The subject alternative name fields.
+ SubjectAltNames subject_alt_name = 2;
+
+ // The serial number encoded in lowercase hexadecimal.
+ string hex_serial_number = 3;
+
+ // For convenience, the actual lifetime of an issued certificate.
+ google.protobuf.Duration lifetime = 4;
+
+ // The time at which the certificate becomes valid.
+ google.protobuf.Timestamp not_before_time = 5;
+
+ // The time after which the certificate is expired.
+ // Per RFC 5280, the validity period for a certificate is the period of time
+ // from not_before_time through not_after_time, inclusive.
+ // Corresponds to 'not_before_time' + 'lifetime' - 1 second.
+ google.protobuf.Timestamp not_after_time = 6;
+ }
+
+ // A KeyId identifies a specific public key, usually by hashing the public
+ // key.
+ message KeyId {
+ // Optional. The value of this KeyId encoded in lowercase hexadecimal. This is most
+ // likely the 160 bit SHA-1 hash of the public key.
+ string key_id = 1 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // A group of fingerprints for the x509 certificate.
+ message CertificateFingerprint {
+ // The SHA 256 hash, encoded in hexadecimal, of the DER x509 certificate.
+ string sha256_hash = 1;
+ }
+
+ // Describes some of the values in a certificate that are related to the
+ // subject and lifetime.
+ SubjectDescription subject_description = 1;
+
+ // Describes some of the technical X.509 fields in a certificate.
+ X509Parameters x509_description = 2;
+
+ // The public key that corresponds to an issued certificate.
+ PublicKey public_key = 3;
+
+ // Provides a means of identifiying certificates that contain a particular
+ // public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2.
+ KeyId subject_key_id = 4;
+
+ // Identifies the subject_key_id of the parent certificate, per
+ // https://tools.ietf.org/html/rfc5280#section-4.2.1.1
+ KeyId authority_key_id = 5;
+
+ // Describes a list of locations to obtain CRL information, i.e.
+ // the DistributionPoint.fullName described by
+ // https://tools.ietf.org/html/rfc5280#section-4.2.1.13
+ repeated string crl_distribution_points = 6;
+
+ // Describes lists of issuer CA certificate URLs that appear in the
+ // "Authority Information Access" extension in the certificate.
+ repeated string aia_issuing_certificate_urls = 7;
+
+ // The hash of the x.509 certificate.
+ CertificateFingerprint cert_fingerprint = 8;
+}
+
+// An [ObjectId][google.cloud.security.privateca.v1.ObjectId] specifies an object identifier (OID). These provide context
+// and describe types in ASN.1 messages.
+message ObjectId {
+ // Required. The parts of an OID path. The most significant parts of the path come
+ // first.
+ repeated int32 object_id_path = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An [X509Extension][google.cloud.security.privateca.v1.X509Extension] specifies an X.509 extension, which may be used in
+// different parts of X.509 objects like certificates, CSRs, and CRLs.
+message X509Extension {
+ // Required. The OID for this X.509 extension.
+ ObjectId object_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Indicates whether or not this extension is critical (i.e., if the client
+ // does not know how to handle this extension, the client should consider this
+ // to be an error).
+ bool critical = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The value of this X.509 extension.
+ bytes value = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A [KeyUsage][google.cloud.security.privateca.v1.KeyUsage] describes key usage values that may appear in an X.509
+// certificate.
+message KeyUsage {
+ // [KeyUsage.KeyUsageOptions][google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions] corresponds to the key usage values
+ // described in https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
+ message KeyUsageOptions {
+ // The key may be used for digital signatures.
+ bool digital_signature = 1;
+
+ // The key may be used for cryptographic commitments. Note that this may
+ // also be referred to as "non-repudiation".
+ bool content_commitment = 2;
+
+ // The key may be used to encipher other keys.
+ bool key_encipherment = 3;
+
+ // The key may be used to encipher data.
+ bool data_encipherment = 4;
+
+ // The key may be used in a key agreement protocol.
+ bool key_agreement = 5;
+
+ // The key may be used to sign certificates.
+ bool cert_sign = 6;
+
+ // The key may be used sign certificate revocation lists.
+ bool crl_sign = 7;
+
+ // The key may be used to encipher only.
+ bool encipher_only = 8;
+
+ // The key may be used to decipher only.
+ bool decipher_only = 9;
+ }
+
+ // [KeyUsage.ExtendedKeyUsageOptions][google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions] has fields that correspond to
+ // certain common OIDs that could be specified as an extended key usage value.
+ message ExtendedKeyUsageOptions {
+ // Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW
+ // server authentication", though regularly used for non-WWW TLS.
+ bool server_auth = 1;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW
+ // client authentication", though regularly used for non-WWW TLS.
+ bool client_auth = 2;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of
+ // downloadable executable code client authentication".
+ bool code_signing = 3;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email
+ // protection".
+ bool email_protection = 4;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding
+ // the hash of an object to a time".
+ bool time_stamping = 5;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing
+ // OCSP responses".
+ bool ocsp_signing = 6;
+ }
+
+ // Describes high-level ways in which a key may be used.
+ KeyUsageOptions base_key_usage = 1;
+
+ // Detailed scenarios in which a key may be used.
+ ExtendedKeyUsageOptions extended_key_usage = 2;
+
+ // Used to describe extended key usages that are not listed in the
+ // [KeyUsage.ExtendedKeyUsageOptions][google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions] message.
+ repeated ObjectId unknown_extended_key_usages = 3;
+}
+
+// [Subject][google.cloud.security.privateca.v1.Subject] describes parts of a distinguished name that, in turn,
+// describes the subject of the certificate.
+message Subject {
+ // The "common name" of the subject.
+ string common_name = 1;
+
+ // The country code of the subject.
+ string country_code = 2;
+
+ // The organization of the subject.
+ string organization = 3;
+
+ // The organizational_unit of the subject.
+ string organizational_unit = 4;
+
+ // The locality or city of the subject.
+ string locality = 5;
+
+ // The province, territory, or regional state of the subject.
+ string province = 6;
+
+ // The street address of the subject.
+ string street_address = 7;
+
+ // The postal code of the subject.
+ string postal_code = 8;
+}
+
+// [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] corresponds to a more modern way of listing what
+// the asserted identity is in a certificate (i.e., compared to the "common
+// name" in the distinguished name).
+message SubjectAltNames {
+ // Contains only valid, fully-qualified host names.
+ repeated string dns_names = 1;
+
+ // Contains only valid RFC 3986 URIs.
+ repeated string uris = 2;
+
+ // Contains only valid RFC 2822 E-mail addresses.
+ repeated string email_addresses = 3;
+
+ // Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.
+ repeated string ip_addresses = 4;
+
+ // Contains additional subject alternative name values.
+ // For each custom_san, the `value` field must contain an ASN.1 encoded
+ // UTF8String.
+ repeated X509Extension custom_sans = 5;
+}
+
+// Describes constraints on a [Certificate][google.cloud.security.privateca.v1.Certificate]'s [Subject][google.cloud.security.privateca.v1.Subject] and
+// [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames].
+message CertificateIdentityConstraints {
+ // Optional. A CEL expression that may be used to validate the resolved X.509 Subject
+ // and/or Subject Alternative Name before a certificate is signed.
+ // To see the full allowed syntax and some examples, see
+ // https://cloud.google.com/certificate-authority-service/docs/using-cel
+ google.type.Expr cel_expression = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. If this is true, the [Subject][google.cloud.security.privateca.v1.Subject] field may be copied from a certificate
+ // request into the signed certificate. Otherwise, the requested [Subject][google.cloud.security.privateca.v1.Subject]
+ // will be discarded.
+ optional bool allow_subject_passthrough = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. If this is true, the [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] extension may be copied from a
+ // certificate request into the signed certificate. Otherwise, the requested
+ // [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] will be discarded.
+ optional bool allow_subject_alt_names_passthrough = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Describes a set of X.509 extensions that may be part of some certificate
+// issuance controls.
+message CertificateExtensionConstraints {
+ // Describes well-known X.509 extensions that can appear in a [Certificate][google.cloud.security.privateca.v1.Certificate],
+ // not including the [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] extension.
+ enum KnownCertificateExtension {
+ // Not specified.
+ KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED = 0;
+
+ // Refers to a certificate's Key Usage extension, as described in [RFC 5280
+ // section 4.2.1.3](https://tools.ietf.org/html/rfc5280#section-4.2.1.3).
+ // This corresponds to the [KeyUsage.base_key_usage][google.cloud.security.privateca.v1.KeyUsage.base_key_usage] field.
+ BASE_KEY_USAGE = 1;
+
+ // Refers to a certificate's Extended Key Usage extension, as described in
+ // [RFC 5280
+ // section 4.2.1.12](https://tools.ietf.org/html/rfc5280#section-4.2.1.12).
+ // This corresponds to the [KeyUsage.extended_key_usage][google.cloud.security.privateca.v1.KeyUsage.extended_key_usage] message.
+ EXTENDED_KEY_USAGE = 2;
+
+ // Refers to a certificate's Basic Constraints extension, as described in
+ // [RFC 5280
+ // section 4.2.1.9](https://tools.ietf.org/html/rfc5280#section-4.2.1.9).
+ // This corresponds to the [X509Parameters.ca_options][google.cloud.security.privateca.v1.X509Parameters.ca_options] field.
+ CA_OPTIONS = 3;
+
+ // Refers to a certificate's Policy object identifiers, as described in
+ // [RFC 5280
+ // section 4.2.1.4](https://tools.ietf.org/html/rfc5280#section-4.2.1.4).
+ // This corresponds to the [X509Parameters.policy_ids][google.cloud.security.privateca.v1.X509Parameters.policy_ids] field.
+ POLICY_IDS = 4;
+
+ // Refers to OCSP servers in a certificate's Authority Information Access
+ // extension, as described in
+ // [RFC 5280
+ // section 4.2.2.1](https://tools.ietf.org/html/rfc5280#section-4.2.2.1),
+ // This corresponds to the [X509Parameters.aia_ocsp_servers][google.cloud.security.privateca.v1.X509Parameters.aia_ocsp_servers] field.
+ AIA_OCSP_SERVERS = 5;
+ }
+
+ // Optional. A set of named X.509 extensions. Will be combined with
+ // [additional_extensions][google.cloud.security.privateca.v1.CertificateExtensionConstraints.additional_extensions] to determine the full set of X.509 extensions.
+ repeated KnownCertificateExtension known_extensions = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A set of [ObjectIds][google.cloud.security.privateca.v1.ObjectId] identifying custom X.509 extensions.
+ // Will be combined with [known_extensions][google.cloud.security.privateca.v1.CertificateExtensionConstraints.known_extensions] to determine the full set of
+ // X.509 extensions.
+ repeated ObjectId additional_extensions = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [RevocationReason][google.cloud.security.privateca.v1.RevocationReason] indicates whether a [Certificate][google.cloud.security.privateca.v1.Certificate] has been revoked,
+// and the reason for revocation. These correspond to standard revocation
+// reasons from RFC 5280. Note that the enum labels and values in this
+// definition are not the same ASN.1 values defined in RFC 5280. These values
+// will be translated to the correct ASN.1 values when a CRL is created.
+enum RevocationReason {
+ // Default unspecified value. This value does indicate that a [Certificate][google.cloud.security.privateca.v1.Certificate]
+ // has been revoked, but that a reason has not been recorded.
+ REVOCATION_REASON_UNSPECIFIED = 0;
+
+ // Key material for this [Certificate][google.cloud.security.privateca.v1.Certificate] may have leaked.
+ KEY_COMPROMISE = 1;
+
+ // The key material for a certificate authority in the issuing path may have
+ // leaked.
+ CERTIFICATE_AUTHORITY_COMPROMISE = 2;
+
+ // The subject or other attributes in this [Certificate][google.cloud.security.privateca.v1.Certificate] have changed.
+ AFFILIATION_CHANGED = 3;
+
+ // This [Certificate][google.cloud.security.privateca.v1.Certificate] has been superseded.
+ SUPERSEDED = 4;
+
+ // This [Certificate][google.cloud.security.privateca.v1.Certificate] or entities in the issuing path have ceased to
+ // operate.
+ CESSATION_OF_OPERATION = 5;
+
+ // This [Certificate][google.cloud.security.privateca.v1.Certificate] should not be considered valid, it is expected that it
+ // may become valid in the future.
+ CERTIFICATE_HOLD = 6;
+
+ // This [Certificate][google.cloud.security.privateca.v1.Certificate] no longer has permission to assert the listed
+ // attributes.
+ PRIVILEGE_WITHDRAWN = 7;
+
+ // The authority which determines appropriate attributes for a [Certificate][google.cloud.security.privateca.v1.Certificate]
+ // may have been compromised.
+ ATTRIBUTE_AUTHORITY_COMPROMISE = 8;
+}
+
+// Describes the way in which a [Certificate][google.cloud.security.privateca.v1.Certificate]'s [Subject][google.cloud.security.privateca.v1.Subject] and/or
+// [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] will be resolved.
+enum SubjectRequestMode {
+ // Not specified.
+ SUBJECT_REQUEST_MODE_UNSPECIFIED = 0;
+
+ // The default mode used in most cases. Indicates that the certificate's
+ // [Subject][google.cloud.security.privateca.v1.Subject] and/or [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] are specified in the certificate
+ // request. This mode requires the caller to have the
+ // `privateca.certificates.create` permission.
+ DEFAULT = 1;
+
+ // A mode reserved for special cases. Indicates that the certificate should
+ // have one or more SPIFFE [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] set by the service based
+ // on the caller's identity. This mode will ignore any explicitly specified
+ // [Subject][google.cloud.security.privateca.v1.Subject] and/or [SubjectAltNames][google.cloud.security.privateca.v1.SubjectAltNames] in the certificate request.
+ // This mode requires the caller to have the
+ // `privateca.certificates.createForSelf` permission.
+ REFLECTED_SPIFFE = 2;
+}
diff --git a/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1/service.proto b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1/service.proto
new file mode 100644
index 00000000000..2ab59538323
--- /dev/null
+++ b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1/service.proto
@@ -0,0 +1,1277 @@
+// 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.security.privateca.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/security/privateca/v1/resources.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Security.PrivateCA.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/security/privateca/v1;privateca";
+option java_multiple_files = true;
+option java_outer_classname = "PrivateCaProto";
+option java_package = "com.google.cloud.security.privateca.v1";
+option php_namespace = "Google\\Cloud\\Security\\PrivateCA\\V1";
+option ruby_package = "Google::Cloud::Security::PrivateCA::V1";
+
+// [Certificate Authority Service][google.cloud.security.privateca.v1.CertificateAuthorityService] manages private
+// certificate authorities and issued certificates.
+service CertificateAuthorityService {
+ option (google.api.default_host) = "privateca.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Create a new [Certificate][google.cloud.security.privateca.v1.Certificate] in a given Project, Location from a particular
+ // [CaPool][google.cloud.security.privateca.v1.CaPool].
+ rpc CreateCertificate(CreateCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*/caPools/*}/certificates"
+ body: "certificate"
+ };
+ option (google.api.method_signature) = "parent,certificate,certificate_id";
+ }
+
+ // Returns a [Certificate][google.cloud.security.privateca.v1.Certificate].
+ rpc GetCertificate(GetCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/caPools/*/certificates/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [Certificates][google.cloud.security.privateca.v1.Certificate].
+ rpc ListCertificates(ListCertificatesRequest) returns (ListCertificatesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/caPools/*}/certificates"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Revoke a [Certificate][google.cloud.security.privateca.v1.Certificate].
+ rpc RevokeCertificate(RevokeCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/caPools/*/certificates/*}:revoke"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Update a [Certificate][google.cloud.security.privateca.v1.Certificate]. Currently, the only field you can update is the
+ // [labels][google.cloud.security.privateca.v1.Certificate.labels] field.
+ rpc UpdateCertificate(UpdateCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ patch: "/v1/{certificate.name=projects/*/locations/*/caPools/*/certificates/*}"
+ body: "certificate"
+ };
+ option (google.api.method_signature) = "certificate,update_mask";
+ }
+
+ // Activate a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] that is in state
+ // [AWAITING_USER_ACTIVATION][google.cloud.security.privateca.v1.CertificateAuthority.State.AWAITING_USER_ACTIVATION]
+ // and is of type [SUBORDINATE][google.cloud.security.privateca.v1.CertificateAuthority.Type.SUBORDINATE]. After
+ // the parent Certificate Authority signs a certificate signing request from
+ // [FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCertificateAuthorityCsr], this method can complete the activation
+ // process.
+ rpc ActivateCertificateAuthority(ActivateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:activate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Create a new [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in a given Project and Location.
+ rpc CreateCertificateAuthority(CreateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*/caPools/*}/certificateAuthorities"
+ body: "certificate_authority"
+ };
+ option (google.api.method_signature) = "parent,certificate_authority,certificate_authority_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Disable a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ rpc DisableCertificateAuthority(DisableCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:disable"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Enable a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ rpc EnableCertificateAuthority(EnableCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:enable"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Fetch a certificate signing request (CSR) from a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
+ // that is in state
+ // [AWAITING_USER_ACTIVATION][google.cloud.security.privateca.v1.CertificateAuthority.State.AWAITING_USER_ACTIVATION]
+ // and is of type [SUBORDINATE][google.cloud.security.privateca.v1.CertificateAuthority.Type.SUBORDINATE]. The
+ // CSR must then be signed by the desired parent Certificate Authority, which
+ // could be another [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] resource, or could be an on-prem
+ // certificate authority. See also [ActivateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.ActivateCertificateAuthority].
+ rpc FetchCertificateAuthorityCsr(FetchCertificateAuthorityCsrRequest) returns (FetchCertificateAuthorityCsrResponse) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:fetch"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Returns a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ rpc GetCertificateAuthority(GetCertificateAuthorityRequest) returns (CertificateAuthority) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority].
+ rpc ListCertificateAuthorities(ListCertificateAuthoritiesRequest) returns (ListCertificateAuthoritiesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/caPools/*}/certificateAuthorities"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Undelete a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] that has been deleted.
+ rpc UndeleteCertificateAuthority(UndeleteCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}:undelete"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Delete a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ rpc DeleteCertificateAuthority(DeleteCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Update a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority].
+ rpc UpdateCertificateAuthority(UpdateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{certificate_authority.name=projects/*/locations/*/caPools/*/certificateAuthorities/*}"
+ body: "certificate_authority"
+ };
+ option (google.api.method_signature) = "certificate_authority,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Create a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ rpc CreateCaPool(CreateCaPoolRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/caPools"
+ body: "ca_pool"
+ };
+ option (google.api.method_signature) = "parent,ca_pool,ca_pool_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "CaPool"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Update a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ rpc UpdateCaPool(UpdateCaPoolRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{ca_pool.name=projects/*/locations/*/caPools/*}"
+ body: "ca_pool"
+ };
+ option (google.api.method_signature) = "ca_pool,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "CaPool"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Returns a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ rpc GetCaPool(GetCaPoolRequest) returns (CaPool) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/caPools/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [CaPools][google.cloud.security.privateca.v1.CaPool].
+ rpc ListCaPools(ListCaPoolsRequest) returns (ListCaPoolsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/caPools"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Delete a [CaPool][google.cloud.security.privateca.v1.CaPool].
+ rpc DeleteCaPool(DeleteCaPoolRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/caPools/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // FetchCaCerts returns the current trust anchor for the [CaPool][google.cloud.security.privateca.v1.CaPool]. This will
+ // include CA certificate chains for all ACTIVE [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
+ // resources in the [CaPool][google.cloud.security.privateca.v1.CaPool].
+ rpc FetchCaCerts(FetchCaCertsRequest) returns (FetchCaCertsResponse) {
+ option (google.api.http) = {
+ post: "/v1/{ca_pool=projects/*/locations/*/caPools/*}:fetchCaCerts"
+ body: "*"
+ };
+ option (google.api.method_signature) = "ca_pool";
+ }
+
+ // Returns a [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList].
+ rpc GetCertificateRevocationList(GetCertificateRevocationListRequest) returns (CertificateRevocationList) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/caPools/*/certificateAuthorities/*/certificateRevocationLists/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList].
+ rpc ListCertificateRevocationLists(ListCertificateRevocationListsRequest) returns (ListCertificateRevocationListsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/caPools/*/certificateAuthorities/*}/certificateRevocationLists"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Update a [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList].
+ rpc UpdateCertificateRevocationList(UpdateCertificateRevocationListRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{certificate_revocation_list.name=projects/*/locations/*/caPools/*/certificateAuthorities/*/certificateRevocationLists/*}"
+ body: "certificate_revocation_list"
+ };
+ option (google.api.method_signature) = "certificate_revocation_list,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateRevocationList"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Create a new [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] in a given Project and Location.
+ rpc CreateCertificateTemplate(CreateCertificateTemplateRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/certificateTemplates"
+ body: "certificate_template"
+ };
+ option (google.api.method_signature) = "parent,certificate_template,certificate_template_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateTemplate"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // DeleteCertificateTemplate deletes a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate].
+ rpc DeleteCertificateTemplate(DeleteCertificateTemplateRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/certificateTemplates/*}"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "google.cloud.security.privateca.v1.OperationMetadata"
+ };
+ }
+
+ // Returns a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate].
+ rpc GetCertificateTemplate(GetCertificateTemplateRequest) returns (CertificateTemplate) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/certificateTemplates/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate].
+ rpc ListCertificateTemplates(ListCertificateTemplatesRequest) returns (ListCertificateTemplatesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/certificateTemplates"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Update a [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate].
+ rpc UpdateCertificateTemplate(UpdateCertificateTemplateRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1/{certificate_template.name=projects/*/locations/*/certificateTemplates/*}"
+ body: "certificate_template"
+ };
+ option (google.api.method_signature) = "certificate_template,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateTemplate"
+ metadata_type: "OperationMetadata"
+ };
+ }
+}
+
+// Request message for [CertificateAuthorityService.CreateCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificate].
+message CreateCertificateRequest {
+ // Required. The resource name of the [CaPool][google.cloud.security.privateca.v1.CaPool] associated with the [Certificate][google.cloud.security.privateca.v1.Certificate],
+ // in the format `projects/*/locations/*/caPools/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CaPool"
+ }
+ ];
+
+ // Optional. It must be unique within a location and match the regular
+ // expression `[a-zA-Z0-9_-]{1,63}`. This field is required when using a
+ // [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the Enterprise [CertificateAuthority.Tier][],
+ // but is optional and its value is ignored otherwise.
+ string certificate_id = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. A [Certificate][google.cloud.security.privateca.v1.Certificate] with initial field values.
+ Certificate certificate = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and the
+ // request times out. If you make the request again with the same request ID,
+ // the server can check if original operation with the same request ID was
+ // received, and if so, will ignore the second request. This prevents clients
+ // from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If this is true, no [Certificate][google.cloud.security.privateca.v1.Certificate] resource will be persisted regardless
+ // of the [CaPool][google.cloud.security.privateca.v1.CaPool]'s [tier][google.cloud.security.privateca.v1.CaPool.tier], and the returned [Certificate][google.cloud.security.privateca.v1.Certificate]
+ // will not contain the [pem_certificate][google.cloud.security.privateca.v1.Certificate.pem_certificate] field.
+ bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The resource ID of the [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] that should issue the
+ // certificate. This optional field will ignore the load-balancing scheme of
+ // the Pool and directly issue the certificate from the CA with the specified
+ // ID, contained in the same [CaPool][google.cloud.security.privateca.v1.CaPool] referenced by `parent`. Per-CA quota
+ // rules apply. If left empty, a [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] will be chosen from
+ // the [CaPool][google.cloud.security.privateca.v1.CaPool] by the service. For example, to issue a [Certificate][google.cloud.security.privateca.v1.Certificate] from
+ // a Certificate Authority with resource name
+ // "projects/my-project/locations/us-central1/caPools/my-pool/certificateAuthorities/my-ca",
+ // you can set the [parent][google.cloud.security.privateca.v1.CreateCertificateRequest.parent] to
+ // "projects/my-project/locations/us-central1/caPools/my-pool" and the
+ // [issuing_certificate_authority_id][google.cloud.security.privateca.v1.CreateCertificateRequest.issuing_certificate_authority_id] to "my-ca".
+ string issuing_certificate_authority_id = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.GetCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificate].
+message GetCertificateRequest {
+ // Required. The [name][google.cloud.security.privateca.v1.Certificate.name] of the [Certificate][google.cloud.security.privateca.v1.Certificate] to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/Certificate"
+ }
+ ];
+}
+
+// Request message for [CertificateAuthorityService.ListCertificates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificates].
+message ListCertificatesRequest {
+ // Required. The resource name of the location associated with the
+ // [Certificates][google.cloud.security.privateca.v1.Certificate], in the format
+ // `projects/*/locations/*/caPools/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CaPool"
+ }
+ ];
+
+ // Optional. Limit on the number of
+ // [Certificates][google.cloud.security.privateca.v1.Certificate] to include in the
+ // response. Further [Certificates][google.cloud.security.privateca.v1.Certificate] can subsequently be obtained
+ // by including the
+ // [ListCertificatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificatesResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCertificatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificatesResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response. For details
+ // on supported filters and syntax, see [Certificates Filtering
+ // documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#filtering_support).
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted. For details on supported fields
+ // and syntax, see [Certificates Sorting
+ // documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#sorting_support).
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CertificateAuthorityService.ListCertificates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificates].
+message ListCertificatesResponse {
+ // The list of [Certificates][google.cloud.security.privateca.v1.Certificate].
+ repeated Certificate certificates = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificatesRequest.next_page_token][] to retrieve the
+ // next page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.RevokeCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.RevokeCertificate].
+message RevokeCertificateRequest {
+ // Required. The resource name for this [Certificate][google.cloud.security.privateca.v1.Certificate] in the
+ // format
+ // `projects/*/locations/*/caPools/*/certificates/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/Certificate"
+ }
+ ];
+
+ // Required. The [RevocationReason][google.cloud.security.privateca.v1.RevocationReason] for revoking this certificate.
+ RevocationReason reason = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CertificateAuthorityService.UpdateCertificate][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificate].
+message UpdateCertificateRequest {
+ // Required. [Certificate][google.cloud.security.privateca.v1.Certificate] with updated values.
+ Certificate certificate = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.ActivateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.ActivateCertificateAuthority].
+message ActivateCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
+ // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Required. The signed CA certificate issued from
+ // [FetchCertificateAuthorityCsrResponse.pem_csr][google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse.pem_csr].
+ string pem_ca_certificate = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Must include information about the issuer of 'pem_ca_certificate', and any
+ // further issuers until the self-signed CA.
+ SubordinateConfig subordinate_config = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.CreateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificateAuthority].
+message CreateCertificateAuthorityRequest {
+ // Required. The resource name of the [CaPool][google.cloud.security.privateca.v1.CaPool] associated with the
+ // [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority], in the format
+ // `projects/*/locations/*/caPools/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CaPool"
+ }
+ ];
+
+ // Required. It must be unique within a location and match the regular
+ // expression `[a-zA-Z0-9_-]{1,63}`
+ string certificate_authority_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] with initial field values.
+ CertificateAuthority certificate_authority = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.DisableCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.DisableCertificateAuthority].
+message DisableCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
+ // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.EnableCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.EnableCertificateAuthority].
+message EnableCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
+ // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCertificateAuthorityCsr].
+message FetchCertificateAuthorityCsrRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
+ // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+}
+
+// Response message for
+// [CertificateAuthorityService.FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCertificateAuthorityCsr].
+message FetchCertificateAuthorityCsrResponse {
+ // Output only. The PEM-encoded signed certificate signing request (CSR).
+ string pem_csr = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request message for [CertificateAuthorityService.GetCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateAuthority].
+message GetCertificateAuthorityRequest {
+ // Required. The [name][google.cloud.security.privateca.v1.CertificateAuthority.name] of the [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] to
+ // get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+}
+
+// Request message for
+// [CertificateAuthorityService.ListCertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateAuthorities].
+message ListCertificateAuthoritiesRequest {
+ // Required. The resource name of the [CaPool][google.cloud.security.privateca.v1.CaPool] associated with the
+ // [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority], in the format
+ // `projects/*/locations/*/caPools/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CaPool"
+ }
+ ];
+
+ // Optional. Limit on the number of [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority] to
+ // include in the response.
+ // Further [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority] can subsequently be
+ // obtained by including the
+ // [ListCertificateAuthoritiesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCertificateAuthoritiesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.ListCertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateAuthorities].
+message ListCertificateAuthoritiesResponse {
+ // The list of [CertificateAuthorities][google.cloud.security.privateca.v1.CertificateAuthority].
+ repeated CertificateAuthority certificate_authorities = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificateAuthoritiesRequest.next_page_token][] to retrieve the next
+ // page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.UndeleteCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.UndeleteCertificateAuthority].
+message UndeleteCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
+ // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.DeleteCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCertificateAuthority].
+message DeleteCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] in the
+ // format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. This field allows the CA to be deleted even if the CA has
+ // active certs. Active certs include both unrevoked and unexpired certs.
+ bool ignore_active_certificates = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If this flag is set, the Certificate Authority will be deleted as soon as
+ // possible without a 30-day grace period where undeletion would have been
+ // allowed. If you proceed, there will be no way to recover this CA.
+ bool skip_grace_period = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.UpdateCertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateAuthority].
+message UpdateCertificateAuthorityRequest {
+ // Required. [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority] with updated values.
+ CertificateAuthority certificate_authority = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.CreateCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCaPool].
+message CreateCaPoolRequest {
+ // Required. The resource name of the location associated with the
+ // [CaPool][google.cloud.security.privateca.v1.CaPool], in the format `projects/*/locations/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. It must be unique within a location and match the regular
+ // expression `[a-zA-Z0-9_-]{1,63}`
+ string ca_pool_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A [CaPool][google.cloud.security.privateca.v1.CaPool] with initial field values.
+ CaPool ca_pool = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.UpdateCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCaPool].
+message UpdateCaPoolRequest {
+ // Required. [CaPool][google.cloud.security.privateca.v1.CaPool] with updated values.
+ CaPool ca_pool = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.DeleteCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCaPool].
+message DeleteCaPoolRequest {
+ // Required. The resource name for this [CaPool][google.cloud.security.privateca.v1.CaPool] in the
+ // format `projects/*/locations/*/caPools/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CaPool"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.FetchCaCerts][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCaCerts].
+message FetchCaCertsRequest {
+ // Required. The resource name for the [CaPool][google.cloud.security.privateca.v1.CaPool] in the
+ // format `projects/*/locations/*/caPools/*`.
+ string ca_pool = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CaPool"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.FetchCaCerts][google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCaCerts].
+message FetchCaCertsResponse {
+ message CertChain {
+ // The certificates that form the CA chain, from leaf to root order.
+ repeated string certificates = 1;
+ }
+
+ // The PEM encoded CA certificate chains of all
+ // [ACTIVE][CertificateAuthority.State.ACTIVE] [CertificateAuthority][google.cloud.security.privateca.v1.CertificateAuthority]
+ // resources in this [CaPool][google.cloud.security.privateca.v1.CaPool].
+ repeated CertChain ca_certs = 1;
+}
+
+// Request message for [CertificateAuthorityService.GetCaPool][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCaPool].
+message GetCaPoolRequest {
+ // Required. The [name][google.cloud.security.privateca.v1.CaPool.name] of the [CaPool][google.cloud.security.privateca.v1.CaPool] to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CaPool"
+ }
+ ];
+}
+
+// Request message for
+// [CertificateAuthorityService.ListCaPools][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCaPools].
+message ListCaPoolsRequest {
+ // Required. The resource name of the location associated with the
+ // [CaPools][google.cloud.security.privateca.v1.CaPool], in the format
+ // `projects/*/locations/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. Limit on the number of [CaPools][google.cloud.security.privateca.v1.CaPool] to
+ // include in the response.
+ // Further [CaPools][google.cloud.security.privateca.v1.CaPool] can subsequently be
+ // obtained by including the
+ // [ListCaPoolsResponse.next_page_token][google.cloud.security.privateca.v1.ListCaPoolsResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCaPoolsResponse.next_page_token][google.cloud.security.privateca.v1.ListCaPoolsResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.ListCaPools][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCaPools].
+message ListCaPoolsResponse {
+ // The list of [CaPools][google.cloud.security.privateca.v1.CaPool].
+ repeated CaPool ca_pools = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificateAuthoritiesRequest.next_page_token][] to retrieve the next
+ // page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.GetCertificateRevocationList][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateRevocationList].
+message GetCertificateRevocationListRequest {
+ // Required. The [name][google.cloud.security.privateca.v1.CertificateRevocationList.name] of the
+ // [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateRevocationList"
+ }
+ ];
+}
+
+// Request message for
+// [CertificateAuthorityService.ListCertificateRevocationLists][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateRevocationLists].
+message ListCertificateRevocationListsRequest {
+ // Required. The resource name of the location associated with the
+ // [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList], in the format
+ // `projects/*/locations/*/caPools/*/certificateAuthorities/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. Limit on the number of
+ // [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList] to include in the
+ // response. Further [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList]
+ // can subsequently be obtained by including the
+ // [ListCertificateRevocationListsResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCertificateRevocationListsResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.ListCertificateRevocationLists][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateRevocationLists].
+message ListCertificateRevocationListsResponse {
+ // The list of [CertificateRevocationLists][google.cloud.security.privateca.v1.CertificateRevocationList].
+ repeated CertificateRevocationList certificate_revocation_lists = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificateRevocationListsRequest.next_page_token][] to retrieve the
+ // next page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.UpdateCertificateRevocationList][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateRevocationList].
+message UpdateCertificateRevocationListRequest {
+ // Required. [CertificateRevocationList][google.cloud.security.privateca.v1.CertificateRevocationList] with updated values.
+ CertificateRevocationList certificate_revocation_list = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.CreateCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificateTemplate].
+message CreateCertificateTemplateRequest {
+ // Required. The resource name of the location associated with the
+ // [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate], in the format
+ // `projects/*/locations/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. It must be unique within a location and match the regular
+ // expression `[a-zA-Z0-9_-]{1,63}`
+ string certificate_template_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] with initial field values.
+ CertificateTemplate certificate_template = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.DeleteCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCertificateTemplate].
+message DeleteCertificateTemplateRequest {
+ // Required. The resource name for this [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] in the format
+ // `projects/*/locations/*/certificateTemplates/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateTemplate"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.GetCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateTemplate].
+message GetCertificateTemplateRequest {
+ // Required. The [name][google.cloud.security.privateca.v1.CertificateTemplate.name] of the [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] to
+ // get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateTemplate"
+ }
+ ];
+}
+
+// Request message for
+// [CertificateAuthorityService.ListCertificateTemplates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateTemplates].
+message ListCertificateTemplatesRequest {
+ // Required. The resource name of the location associated with the
+ // [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate], in the format
+ // `projects/*/locations/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. Limit on the number of
+ // [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate] to include in the response.
+ // Further [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate] can subsequently be
+ // obtained by including the
+ // [ListCertificateTemplatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateTemplatesResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCertificateTemplatesResponse.next_page_token][google.cloud.security.privateca.v1.ListCertificateTemplatesResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.ListCertificateTemplates][google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateTemplates].
+message ListCertificateTemplatesResponse {
+ // The list of [CertificateTemplates][google.cloud.security.privateca.v1.CertificateTemplate].
+ repeated CertificateTemplate certificate_templates = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificateTemplatesRequest.next_page_token][] to retrieve
+ // the next page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.UpdateCertificateTemplate][google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateTemplate].
+message UpdateCertificateTemplateRequest {
+ // Required. [CertificateTemplate][google.cloud.security.privateca.v1.CertificateTemplate] with updated values.
+ CertificateTemplate certificate_template = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Represents the metadata of the long-running operation.
+message OperationMetadata {
+ // Output only. The time the operation was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the operation finished running.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Server-defined resource path for the target of the operation.
+ string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the verb executed by the operation.
+ string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Human-readable status of the operation, if any.
+ string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Identifies whether the user has requested cancellation
+ // of the operation. Operations that have successfully been cancelled
+ // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
+ // corresponding to `Code.CANCELLED`.
+ bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. API version used to start the operation.
+ string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1beta1/resources.proto b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1beta1/resources.proto
new file mode 100644
index 00000000000..5e98d97ace1
--- /dev/null
+++ b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1beta1/resources.proto
@@ -0,0 +1,902 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.security.privateca.v1beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Security.PrivateCA.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/security/privateca/v1beta1;privateca";
+option java_multiple_files = true;
+option java_outer_classname = "PrivateCaResourcesProto";
+option java_package = "com.google.cloud.security.privateca.v1beta1";
+option php_namespace = "Google\\Cloud\\Security\\PrivateCA\\V1beta1";
+option ruby_package = "Google::Cloud::Security::PrivateCA::V1beta1";
+
+// A [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] represents an individual Certificate Authority.
+// A [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] can be used to create [Certificates][google.cloud.security.privateca.v1beta1.Certificate].
+message CertificateAuthority {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ pattern: "projects/{project}/locations/{location}/certificateAuthorities/{certificate_authority}"
+ };
+
+ // Options that affect all certificates issued by a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ message IssuingOptions {
+ // Required. When true, includes a URL to the issuing CA certificate in the
+ // "authority information access" X.509 extension.
+ bool include_ca_cert_url = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. When true, includes a URL to the CRL corresponding to certificates
+ // issued from a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ // CRLs will expire 7 days from their creation. However, we will rebuild
+ // daily. CRLs are also rebuilt shortly after a certificate is revoked.
+ bool include_crl_access_url = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // The issuing policy for a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] will not be successfully issued from this
+ // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] if they violate the policy.
+ message CertificateAuthorityPolicy {
+ message AllowedConfigList {
+ // Required. All [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]
+ // must match at least one listed [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper]. If a
+ // [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper] has an empty field, any value will be
+ // allowed for that field.
+ repeated ReusableConfigWrapper allowed_config_values = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // [AllowedSubjectAltNames][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames] specifies the allowed values for
+ // [SubjectAltNames][google.cloud.security.privateca.v1beta1.SubjectAltNames] by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] when issuing
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate].
+ message AllowedSubjectAltNames {
+ // Optional. Contains valid, fully-qualified host names. Glob patterns are also
+ // supported. To allow an explicit wildcard certificate, escape with
+ // backlash (i.e. `\*`).
+ // E.g. for globbed entries: `*bar.com` will allow `foo.bar.com`, but not
+ // `*.bar.com`, unless the [allow_globbing_dns_wildcards][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames.allow_globbing_dns_wildcards] field is set.
+ // E.g. for wildcard entries: `\*.bar.com` will allow `*.bar.com`, but not
+ // `foo.bar.com`.
+ repeated string allowed_dns_names = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains valid RFC 3986 URIs. Glob patterns are also supported. To
+ // match across path seperators (i.e. '/') use the double star glob
+ // pattern (i.e. '**').
+ repeated string allowed_uris = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains valid RFC 2822 E-mail addresses. Glob patterns are also
+ // supported.
+ repeated string allowed_email_addresses = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Contains valid 32-bit IPv4 addresses and subnet ranges or RFC 4291 IPv6
+ // addresses and subnet ranges. Subnet ranges are specified using the
+ // '/' notation (e.g. 10.0.0.0/8, 2001:700:300:1800::/64). Glob patterns
+ // are supported only for ip address entries (i.e. not for subnet ranges).
+ repeated string allowed_ips = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies if glob patterns used for [allowed_dns_names][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames.allowed_dns_names] allows
+ // wildcard certificates.
+ bool allow_globbing_dns_wildcards = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies if to allow custom X509Extension values.
+ bool allow_custom_sans = 6 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // [IssuanceModes][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes] specifies the allowed ways in which
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] may be requested from this
+ // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ message IssuanceModes {
+ // Required. When true, allows callers to create [Certificates][google.cloud.security.privateca.v1beta1.Certificate] by
+ // specifying a CSR.
+ bool allow_csr_based_issuance = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. When true, allows callers to create [Certificates][google.cloud.security.privateca.v1beta1.Certificate] by
+ // specifying a [CertificateConfig][google.cloud.security.privateca.v1beta1.CertificateConfig].
+ bool allow_config_based_issuance = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Allowed configurations or a single configuration for all issued
+ // certificates.
+ oneof config_policy {
+ // Optional. All [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]
+ // must match at least one listed [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper] in the list.
+ AllowedConfigList allowed_config_list = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. All [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]
+ // will use the provided configuration values, overwriting any requested
+ // configuration values.
+ ReusableConfigWrapper overwrite_config_values = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. If any [Subject][google.cloud.security.privateca.v1beta1.Subject] is specified here, then all
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must
+ // match at least one listed [Subject][google.cloud.security.privateca.v1beta1.Subject]. If a [Subject][google.cloud.security.privateca.v1beta1.Subject] has an empty
+ // field, any value will be allowed for that field.
+ repeated Subject allowed_locations_and_organizations = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If any value is specified here, then all
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must
+ // match at least one listed value. If no value is specified, all values
+ // will be allowed for this fied. Glob patterns are also supported.
+ repeated string allowed_common_names = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If a [AllowedSubjectAltNames][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames] is specified here, then all
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] issued by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must
+ // match [AllowedSubjectAltNames][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames]. If no value or an empty value
+ // is specified, any value will be allowed for the [SubjectAltNames][google.cloud.security.privateca.v1beta1.SubjectAltNames]
+ // field.
+ AllowedSubjectAltNames allowed_sans = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The maximum lifetime allowed by the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. Note that
+ // if the any part if the issuing chain expires before a [Certificate][google.cloud.security.privateca.v1beta1.Certificate]'s
+ // requested maximum_lifetime, the effective lifetime will be explicitly
+ // truncated.
+ google.protobuf.Duration maximum_lifetime = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If specified, then only methods allowed in the [IssuanceModes][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes] may be
+ // used to issue [Certificates][google.cloud.security.privateca.v1beta1.Certificate].
+ IssuanceModes allowed_issuance_modes = 8 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // URLs where a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will publish content.
+ message AccessUrls {
+ // The URL where this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s CA certificate is
+ // published. This will only be set for CAs that have been activated.
+ string ca_certificate_access_url = 1;
+
+ // The URL where this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s CRLs are published. This
+ // will only be set for CAs that have been activated.
+ string crl_access_url = 2;
+ }
+
+ // A Cloud KMS key configuration that a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will use.
+ message KeyVersionSpec {
+ oneof KeyVersion {
+ // Required. The resource name for an existing Cloud KMS CryptoKeyVersion in the
+ // format
+ // `projects/*/locations/*/keyRings/*/cryptoKeys/*/cryptoKeyVersions/*`.
+ // This option enables full flexibility in the key's capabilities and
+ // properties.
+ string cloud_kms_key_version = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The algorithm to use for creating a managed Cloud KMS key for a for a
+ // simplified experience. All managed keys will be have their
+ // [ProtectionLevel][google.cloud.kms.v1.ProtectionLevel] as `HSM`.
+ SignHashAlgorithm algorithm = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+ }
+
+ // The type of a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], indicating its issuing chain.
+ enum Type {
+ // Not specified.
+ TYPE_UNSPECIFIED = 0;
+
+ // Self-signed CA.
+ SELF_SIGNED = 1;
+
+ // Subordinate CA. Could be issued by a Private CA [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]
+ // or an unmanaged CA.
+ SUBORDINATE = 2;
+ }
+
+ // The tier of a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], indicating its supported
+ // functionality and/or billing SKU.
+ enum Tier {
+ // Not specified.
+ TIER_UNSPECIFIED = 0;
+
+ // Enterprise tier.
+ ENTERPRISE = 1;
+
+ // DevOps tier.
+ DEVOPS = 2;
+ }
+
+ // The state of a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], indicating if it can be used.
+ enum State {
+ // Not specified.
+ STATE_UNSPECIFIED = 0;
+
+ // Certificates can be issued from this CA. CRLs will be generated for this
+ // CA.
+ ENABLED = 1;
+
+ // Certificates cannot be issued from this CA. CRLs will still be generated.
+ DISABLED = 2;
+
+ // Certificates cannot be issued from this CA. CRLs will not be generated.
+ PENDING_ACTIVATION = 3;
+
+ // Certificates cannot be issued from this CA. CRLs will not be generated.
+ PENDING_DELETION = 4;
+ }
+
+ // The algorithm of a Cloud KMS CryptoKeyVersion of a
+ // [CryptoKey][google.cloud.kms.v1.CryptoKey] with the
+ // [CryptoKeyPurpose][google.cloud.kms.v1.CryptoKey.CryptoKeyPurpose] value
+ // `ASYMMETRIC_SIGN`. These values correspond to the
+ // [CryptoKeyVersionAlgorithm][google.cloud.kms.v1.CryptoKeyVersion.CryptoKeyVersionAlgorithm]
+ // values. For RSA signing algorithms, the PSS algorithms should be preferred,
+ // use PKCS1 algorithms if required for compatibility. For further
+ // recommandations, see
+ // https://cloud.google.com/kms/docs/algorithms#algorithm_recommendations.
+ enum SignHashAlgorithm {
+ // Not specified.
+ SIGN_HASH_ALGORITHM_UNSPECIFIED = 0;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_2048_SHA256
+ RSA_PSS_2048_SHA256 = 1;
+
+ // maps to CryptoKeyVersionAlgorithm. RSA_SIGN_PSS_3072_SHA256
+ RSA_PSS_3072_SHA256 = 2;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PSS_4096_SHA256
+ RSA_PSS_4096_SHA256 = 3;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_2048_SHA256
+ RSA_PKCS1_2048_SHA256 = 6;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_3072_SHA256
+ RSA_PKCS1_3072_SHA256 = 7;
+
+ // maps to CryptoKeyVersionAlgorithm.RSA_SIGN_PKCS1_4096_SHA256
+ RSA_PKCS1_4096_SHA256 = 8;
+
+ // maps to CryptoKeyVersionAlgorithm.EC_SIGN_P256_SHA256
+ EC_P256_SHA256 = 4;
+
+ // maps to CryptoKeyVersionAlgorithm.EC_SIGN_P384_SHA384
+ EC_P384_SHA384 = 5;
+ }
+
+ // Output only. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the
+ // format `projects/*/locations/*/certificateAuthorities/*`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The [Type][google.cloud.security.privateca.v1beta1.CertificateAuthority.Type] of this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ Type type = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. The [Tier][google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier] of this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ Tier tier = 3 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Immutable. The config used to create a self-signed X.509 certificate or CSR.
+ CertificateConfig config = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. The desired lifetime of the CA certificate. Used to create the
+ // "not_before_time" and "not_after_time" fields inside an X.509
+ // certificate.
+ google.protobuf.Duration lifetime = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Immutable. Used when issuing certificates for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. If this
+ // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] is a self-signed CertificateAuthority, this key
+ // is also used to sign the self-signed CA certificate. Otherwise, it
+ // is used to sign a CSR.
+ KeyVersionSpec key_spec = 6 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Optional. The [CertificateAuthorityPolicy][google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy] to enforce when issuing
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] from this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ CertificateAuthorityPolicy certificate_policy = 7 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The [IssuingOptions][google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions] to follow when issuing [Certificates][google.cloud.security.privateca.v1beta1.Certificate]
+ // from this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ IssuingOptions issuing_options = 8 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. If this is a subordinate [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], this field will be set
+ // with the subordinate configuration, which describes its issuers. This may
+ // be updated, but this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] must continue to validate.
+ SubordinateConfig subordinate_config = 19 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The [State][google.cloud.security.privateca.v1beta1.CertificateAuthority.State] for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ State state = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. This [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s certificate chain, including the current
+ // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s certificate. Ordered such that the root issuer
+ // is the final element (consistent with RFC 5246). For a self-signed CA, this
+ // will only list the current [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s certificate.
+ repeated string pem_ca_certificates = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A structured description of this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]'s CA certificate
+ // and its issuers. Ordered as self-to-root.
+ repeated CertificateDescription ca_certificate_descriptions = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. The name of a Cloud Storage bucket where this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will
+ // publish content, such as the CA certificate and CRLs. This must be a bucket
+ // name, without any prefixes (such as `gs://`) or suffixes (such as
+ // `.googleapis.com`). For example, to use a bucket named `my-bucket`, you
+ // would simply specify `my-bucket`. If not specified, a managed bucket will
+ // be created.
+ string gcs_bucket = 13 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. URLs for accessing content published by this CA, such as the CA certificate
+ // and CRLs.
+ AccessUrls access_urls = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] was created.
+ google.protobuf.Timestamp create_time = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] was updated.
+ google.protobuf.Timestamp update_time = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] will be deleted, if
+ // scheduled for deletion.
+ google.protobuf.Timestamp delete_time = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 18 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] corresponds to a signed X.509 certificate
+// Revocation List (CRL). A CRL contains the serial numbers of certificates that
+// should no longer be trusted.
+message CertificateRevocationList {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/CertificateRevocationList"
+ pattern: "projects/{project}/locations/{location}/certificateAuthorities/{certificate_authority}/certificateRevocationLists/{certificate_revocation_list}"
+ };
+
+ // Describes a revoked [Certificate][google.cloud.security.privateca.v1beta1.Certificate].
+ message RevokedCertificate {
+ // The resource path for the [Certificate][google.cloud.security.privateca.v1beta1.Certificate] in the format
+ // `projects/*/locations/*/certificateAuthorities/*/certificates/*`.
+ string certificate = 1;
+
+ // The serial number of the [Certificate][google.cloud.security.privateca.v1beta1.Certificate].
+ string hex_serial_number = 2;
+
+ // The reason the [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was revoked.
+ RevocationReason revocation_reason = 3;
+ }
+
+ // The state of a [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList], indicating if it is current.
+ enum State {
+ // Not specified.
+ STATE_UNSPECIFIED = 0;
+
+ // The [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] is up to date.
+ ACTIVE = 1;
+
+ // The [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] is no longer current.
+ SUPERSEDED = 2;
+ }
+
+ // Output only. The resource path for this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] in
+ // the format
+ // `projects/*/locations/*/certificateAuthorities/*/
+ // certificateRevocationLists/*`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The CRL sequence number that appears in pem_crl.
+ int64 sequence_number = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The revoked serial numbers that appear in pem_crl.
+ repeated RevokedCertificate revoked_certificates = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The PEM-encoded X.509 CRL.
+ string pem_crl = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The location where 'pem_crl' can be accessed.
+ string access_url = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The [State][google.cloud.security.privateca.v1beta1.CertificateRevocationList.State] for this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList].
+ State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] was created.
+ google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] was updated.
+ google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 9 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [Certificate][google.cloud.security.privateca.v1beta1.Certificate] corresponds to a signed X.509 certificate issued by a
+// [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+message Certificate {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/Certificate"
+ pattern: "projects/{project}/locations/{location}/certificateAuthorities/{certificate_authority}/certificates/{certificate}"
+ };
+
+ // Describes fields that are relavent to the revocation of a [Certificate][google.cloud.security.privateca.v1beta1.Certificate].
+ message RevocationDetails {
+ // Indicates why a [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was revoked.
+ RevocationReason revocation_state = 1;
+
+ // The time at which this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was revoked.
+ google.protobuf.Timestamp revocation_time = 2;
+ }
+
+ // Output only. The resource path for this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] in the format
+ // `projects/*/locations/*/certificateAuthorities/*/certificates/*`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The config used to create a signed X.509 certificate.
+ oneof certificate_config {
+ // Immutable. A pem-encoded X.509 certificate signing request (CSR).
+ string pem_csr = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Immutable. A description of the certificate and key that does not require X.509 or
+ // ASN.1.
+ CertificateConfig config = 3 [(google.api.field_behavior) = IMMUTABLE];
+ }
+
+ // Required. Immutable. The desired lifetime of a certificate. Used to create the
+ // "not_before_time" and "not_after_time" fields inside an X.509
+ // certificate. Note that the lifetime may be truncated if it would extend
+ // past the life of any certificate authority in the issuing chain.
+ google.protobuf.Duration lifetime = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Output only. Details regarding the revocation of this [Certificate][google.cloud.security.privateca.v1beta1.Certificate]. This
+ // [Certificate][google.cloud.security.privateca.v1beta1.Certificate] is considered revoked if and only if this field is present.
+ RevocationDetails revocation_details = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The pem-encoded, signed X.509 certificate.
+ string pem_certificate = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. A structured description of the issued X.509 certificate.
+ CertificateDescription certificate_description = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The chain that may be used to verify the X.509 certificate. Expected to be
+ // in issuer-to-root order according to RFC 5246.
+ repeated string pem_certificate_chain = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was created.
+ google.protobuf.Timestamp create_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] was updated.
+ google.protobuf.Timestamp update_time = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 11 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] refers to a managed [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues]. Those, in
+// turn, are used to describe certain fields of an X.509 certificate, such as
+// the key usage fields, fields specific to CA certificates, certificate policy
+// extensions and custom extensions.
+message ReusableConfig {
+ option (google.api.resource) = {
+ type: "privateca.googleapis.com/ReusableConfig"
+ pattern: "projects/{project}/locations/{location}/reusableConfigs/{reusable_config}"
+ };
+
+ // Output only. The resource path for this [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] in the format
+ // `projects/*/locations/*/reusableConfigs/*`.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The config values.
+ ReusableConfigValues values = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. A human-readable description of scenarios these ReusableConfigValues may be
+ // compatible with.
+ string description = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The time at which this [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] was created.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which this [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] was updated.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Labels with user-defined metadata.
+ map labels = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues] is used to describe certain fields of an
+// X.509 certificate, such as the key usage fields, fields specific to CA
+// certificates, certificate policy extensions and custom extensions.
+message ReusableConfigValues {
+ // Describes values that are relevant in a CA certificate.
+ message CaOptions {
+ // Optional. Refers to the "CA" X.509 extension, which is a boolean value. When this
+ // value is missing, the extension will be omitted from the CA certificate.
+ google.protobuf.BoolValue is_ca = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Refers to the path length restriction X.509 extension. For a CA
+ // certificate, this value describes the depth of subordinate CA
+ // certificates that are allowed.
+ // If this value is less than 0, the request will fail.
+ // If this value is missing, the max path length will be omitted from the
+ // CA certificate.
+ google.protobuf.Int32Value max_issuer_path_length = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Optional. Indicates the intended use for keys that correspond to a certificate.
+ KeyUsage key_usage = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes options in this [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues] that are
+ // relevant in a CA certificate.
+ CaOptions ca_options = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes the X.509 certificate policy object identifiers, per
+ // https://tools.ietf.org/html/rfc5280#section-4.2.1.4.
+ repeated ObjectId policy_ids = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes Online Certificate Status Protocol (OCSP) endpoint addresses
+ // that appear in the "Authority Information Access" extension in the
+ // certificate.
+ repeated string aia_ocsp_servers = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Describes custom X.509 extensions.
+ repeated X509Extension additional_extensions = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [ReusableConfigWrapper][google.cloud.security.privateca.v1beta1.ReusableConfigWrapper] describes values that may assist in creating an
+// X.509 certificate, or a reference to a pre-defined set of values.
+message ReusableConfigWrapper {
+ // Reusable or inline config values.
+ oneof config_values {
+ // Required. A resource path to a [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig] in the format
+ // `projects/*/locations/*/reusableConfigs/*`.
+ string reusable_config = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A user-specified inline [ReusableConfigValues][google.cloud.security.privateca.v1beta1.ReusableConfigValues].
+ ReusableConfigValues reusable_config_values = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// Describes a subordinate CA's issuers. This is either a resource path to a
+// known issuing [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], or a PEM issuer certificate chain.
+message SubordinateConfig {
+ // This message describes a subordinate CA's issuer certificate chain. This
+ // wrapper exists for compatibility reasons.
+ message SubordinateConfigChain {
+ // Required. Expected to be in leaf-to-root order according to RFC 5246.
+ repeated string pem_certificates = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ oneof subordinate_config {
+ // Required. This can refer to a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the same project that
+ // was used to create a subordinate [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]. This field
+ // is used for information and usability purposes only. The resource name
+ // is in the format `projects/*/locations/*/certificateAuthorities/*`.
+ string certificate_authority = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Contains the PEM certificate chain for the issuers of this
+ // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority], but not pem certificate for this CA itself.
+ SubordinateConfigChain pem_issuer_chain = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+}
+
+// A [PublicKey][google.cloud.security.privateca.v1beta1.PublicKey] describes a public key.
+message PublicKey {
+ // Types of public keys that are supported.
+ // At a minimum, we support RSA and ECDSA, for the key sizes or curves listed:
+ // https://cloud.google.com/kms/docs/algorithms#asymmetric_signing_algorithms
+ enum KeyType {
+ // Default unspecified value.
+ KEY_TYPE_UNSPECIFIED = 0;
+
+ // A PEM-encoded PKCS#1/RFC 3447 RSAPrivateKey structure.
+ PEM_RSA_KEY = 1;
+
+ // A PEM-encoded compressed NIST P-256/secp256r1/prime256v1 or P-384 key.
+ PEM_EC_KEY = 2;
+ }
+
+ // Required. The type of public key.
+ KeyType type = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A public key. Padding and encoding varies by 'KeyType' and is described
+ // along with the KeyType values.
+ bytes key = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A [CertificateConfig][google.cloud.security.privateca.v1beta1.CertificateConfig] describes an X.509 certificate or CSR that is to be
+// created, as an alternative to using ASN.1.
+message CertificateConfig {
+ // These values are used to create the distinguished name and subject
+ // alternative name fields in an X.509 certificate.
+ message SubjectConfig {
+ // Required. Contains distinguished name fields such as the location and organization.
+ Subject subject = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The "common name" of the distinguished name.
+ string common_name = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The subject alternative name fields.
+ SubjectAltNames subject_alt_name = 3 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Required. Specifies some of the values in a certificate that are related to the
+ // subject.
+ SubjectConfig subject_config = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Describes how some of the technical fields in a certificate should be
+ // populated.
+ ReusableConfigWrapper reusable_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The public key that corresponds to this config. This is, for example, used
+ // when issuing [Certificates][google.cloud.security.privateca.v1beta1.Certificate], but not when creating a
+ // self-signed [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] or [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] CSR.
+ PublicKey public_key = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A [CertificateDescription][google.cloud.security.privateca.v1beta1.CertificateDescription] describes an X.509 certificate or CSR that has
+// been issued, as an alternative to using ASN.1 / X.509.
+message CertificateDescription {
+ // These values describe fields in an issued X.509 certificate such as the
+ // distinguished name, subject alternative names, serial number, and lifetime.
+ message SubjectDescription {
+ // Contains distinguished name fields such as the location and organization.
+ Subject subject = 1;
+
+ // The "common name" of the distinguished name.
+ string common_name = 2;
+
+ // The subject alternative name fields.
+ SubjectAltNames subject_alt_name = 3;
+
+ // The serial number encoded in lowercase hexadecimal.
+ string hex_serial_number = 4;
+
+ // For convenience, the actual lifetime of an issued certificate.
+ // Corresponds to 'not_after_time' - 'not_before_time'.
+ google.protobuf.Duration lifetime = 5;
+
+ // The time at which the certificate becomes valid.
+ google.protobuf.Timestamp not_before_time = 6;
+
+ // The time at which the certificate expires.
+ google.protobuf.Timestamp not_after_time = 7;
+ }
+
+ // A KeyId identifies a specific public key, usually by hashing the public
+ // key.
+ message KeyId {
+ // Optional. The value of this KeyId encoded in lowercase hexadecimal. This is most
+ // likely the 160 bit SHA-1 hash of the public key.
+ string key_id = 1 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // A group of fingerprints for the x509 certificate.
+ message CertificateFingerprint {
+ // The SHA 256 hash, encoded in hexadecimal, of the DER x509 certificate.
+ string sha256_hash = 1;
+ }
+
+ // Describes some of the values in a certificate that are related to the
+ // subject and lifetime.
+ SubjectDescription subject_description = 1;
+
+ // Describes some of the technical fields in a certificate.
+ ReusableConfigValues config_values = 2;
+
+ // The public key that corresponds to an issued certificate.
+ PublicKey public_key = 3;
+
+ // Provides a means of identifiying certificates that contain a particular
+ // public key, per https://tools.ietf.org/html/rfc5280#section-4.2.1.2.
+ KeyId subject_key_id = 4;
+
+ // Identifies the subject_key_id of the parent certificate, per
+ // https://tools.ietf.org/html/rfc5280#section-4.2.1.1
+ KeyId authority_key_id = 5;
+
+ // Describes a list of locations to obtain CRL information, i.e.
+ // the DistributionPoint.fullName described by
+ // https://tools.ietf.org/html/rfc5280#section-4.2.1.13
+ repeated string crl_distribution_points = 6;
+
+ // Describes lists of issuer CA certificate URLs that appear in the
+ // "Authority Information Access" extension in the certificate.
+ repeated string aia_issuing_certificate_urls = 7;
+
+ // The hash of the x.509 certificate.
+ CertificateFingerprint cert_fingerprint = 8;
+}
+
+// An [ObjectId][google.cloud.security.privateca.v1beta1.ObjectId] specifies an object identifier (OID). These provide context
+// and describe types in ASN.1 messages.
+message ObjectId {
+ // Required. The parts of an OID path. The most significant parts of the path come
+ // first.
+ repeated int32 object_id_path = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// An [X509Extension][google.cloud.security.privateca.v1beta1.X509Extension] specifies an X.509 extension, which may be used in
+// different parts of X.509 objects like certificates, CSRs, and CRLs.
+message X509Extension {
+ // Required. The OID for this X.509 extension.
+ ObjectId object_id = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Indicates whether or not this extension is critical (i.e., if the client
+ // does not know how to handle this extension, the client should consider this
+ // to be an error).
+ bool critical = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The value of this X.509 extension.
+ bytes value = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A [KeyUsage][google.cloud.security.privateca.v1beta1.KeyUsage] describes key usage values that may appear in an X.509
+// certificate.
+message KeyUsage {
+ // [KeyUsage.KeyUsageOptions][google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions] corresponds to the key usage values
+ // described in https://tools.ietf.org/html/rfc5280#section-4.2.1.3.
+ message KeyUsageOptions {
+ // The key may be used for digital signatures.
+ bool digital_signature = 1;
+
+ // The key may be used for cryptographic commitments. Note that this may
+ // also be referred to as "non-repudiation".
+ bool content_commitment = 2;
+
+ // The key may be used to encipher other keys.
+ bool key_encipherment = 3;
+
+ // The key may be used to encipher data.
+ bool data_encipherment = 4;
+
+ // The key may be used in a key agreement protocol.
+ bool key_agreement = 5;
+
+ // The key may be used to sign certificates.
+ bool cert_sign = 6;
+
+ // The key may be used sign certificate revocation lists.
+ bool crl_sign = 7;
+
+ // The key may be used to encipher only.
+ bool encipher_only = 8;
+
+ // The key may be used to decipher only.
+ bool decipher_only = 9;
+ }
+
+ // [KeyUsage.ExtendedKeyUsageOptions][google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions] has fields that correspond to
+ // certain common OIDs that could be specified as an extended key usage value.
+ message ExtendedKeyUsageOptions {
+ // Corresponds to OID 1.3.6.1.5.5.7.3.1. Officially described as "TLS WWW
+ // server authentication", though regularly used for non-WWW TLS.
+ bool server_auth = 1;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.2. Officially described as "TLS WWW
+ // client authentication", though regularly used for non-WWW TLS.
+ bool client_auth = 2;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.3. Officially described as "Signing of
+ // downloadable executable code client authentication".
+ bool code_signing = 3;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.4. Officially described as "Email
+ // protection".
+ bool email_protection = 4;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.8. Officially described as "Binding
+ // the hash of an object to a time".
+ bool time_stamping = 5;
+
+ // Corresponds to OID 1.3.6.1.5.5.7.3.9. Officially described as "Signing
+ // OCSP responses".
+ bool ocsp_signing = 6;
+ }
+
+ // Describes high-level ways in which a key may be used.
+ KeyUsageOptions base_key_usage = 1;
+
+ // Detailed scenarios in which a key may be used.
+ ExtendedKeyUsageOptions extended_key_usage = 2;
+
+ // Used to describe extended key usages that are not listed in the
+ // [KeyUsage.ExtendedKeyUsageOptions][google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions] message.
+ repeated ObjectId unknown_extended_key_usages = 3;
+}
+
+// [Subject][google.cloud.security.privateca.v1beta1.Subject] describes parts of a distinguished name that, in turn,
+// describes the subject of the certificate.
+message Subject {
+ // The country code of the subject.
+ string country_code = 1;
+
+ // The organization of the subject.
+ string organization = 2;
+
+ // The organizational_unit of the subject.
+ string organizational_unit = 3;
+
+ // The locality or city of the subject.
+ string locality = 4;
+
+ // The province, territory, or regional state of the subject.
+ string province = 5;
+
+ // The street address of the subject.
+ string street_address = 6;
+
+ // The postal code of the subject.
+ string postal_code = 7;
+}
+
+// [SubjectAltNames][google.cloud.security.privateca.v1beta1.SubjectAltNames] corresponds to a more modern way of listing what
+// the asserted identity is in a certificate (i.e., compared to the "common
+// name" in the distinguished name).
+message SubjectAltNames {
+ // Contains only valid, fully-qualified host names.
+ repeated string dns_names = 1;
+
+ // Contains only valid RFC 3986 URIs.
+ repeated string uris = 2;
+
+ // Contains only valid RFC 2822 E-mail addresses.
+ repeated string email_addresses = 3;
+
+ // Contains only valid 32-bit IPv4 addresses or RFC 4291 IPv6 addresses.
+ repeated string ip_addresses = 4;
+
+ // Contains additional subject alternative name values.
+ repeated X509Extension custom_sans = 5;
+}
+
+// A [RevocationReason][google.cloud.security.privateca.v1beta1.RevocationReason] indicates whether a [Certificate][google.cloud.security.privateca.v1beta1.Certificate] has been revoked,
+// and the reason for revocation. These correspond to standard revocation
+// reasons from RFC 5280. Note that the enum labels and values in this
+// definition are not the same ASN.1 values defined in RFC 5280. These values
+// will be translated to the correct ASN.1 values when a CRL is created.
+enum RevocationReason {
+ // Default unspecified value. This value does indicate that a [Certificate][google.cloud.security.privateca.v1beta1.Certificate]
+ // has been revoked, but that a reason has not been recorded.
+ REVOCATION_REASON_UNSPECIFIED = 0;
+
+ // Key material for this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] may have leaked.
+ KEY_COMPROMISE = 1;
+
+ // The key material for a certificate authority in the issuing path may have
+ // leaked.
+ CERTIFICATE_AUTHORITY_COMPROMISE = 2;
+
+ // The subject or other attributes in this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] have changed.
+ AFFILIATION_CHANGED = 3;
+
+ // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] has been superseded.
+ SUPERSEDED = 4;
+
+ // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] or entities in the issuing path have ceased to
+ // operate.
+ CESSATION_OF_OPERATION = 5;
+
+ // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] should not be considered valid, it is expected that it
+ // may become valid in the future.
+ CERTIFICATE_HOLD = 6;
+
+ // This [Certificate][google.cloud.security.privateca.v1beta1.Certificate] no longer has permission to assert the listed
+ // attributes.
+ PRIVILEGE_WITHDRAWN = 7;
+
+ // The authority which determines appropriate attributes for a [Certificate][google.cloud.security.privateca.v1beta1.Certificate]
+ // may have been compromised.
+ ATTRIBUTE_AUTHORITY_COMPROMISE = 8;
+}
diff --git a/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1beta1/service.proto b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1beta1/service.proto
new file mode 100644
index 00000000000..965736b954f
--- /dev/null
+++ b/packages/google-cloud-security-privateca/protos/google/cloud/security/privateca/v1beta1/service.proto
@@ -0,0 +1,870 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.security.privateca.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/security/privateca/v1beta1/resources.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.Security.PrivateCA.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/security/privateca/v1beta1;privateca";
+option java_multiple_files = true;
+option java_outer_classname = "PrivateCaProto";
+option java_package = "com.google.cloud.security.privateca.v1beta1";
+option php_namespace = "Google\\Cloud\\Security\\PrivateCA\\V1beta1";
+option ruby_package = "Google::Cloud::Security::PrivateCA::V1beta1";
+
+// [Certificate Authority Service][google.cloud.security.privateca.v1beta1.CertificateAuthorityService] manages private
+// certificate authorities and issued certificates.
+service CertificateAuthorityService {
+ option (google.api.default_host) = "privateca.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Create a new [Certificate][google.cloud.security.privateca.v1beta1.Certificate] in a given Project, Location from a particular
+ // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ rpc CreateCertificate(CreateCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*/locations/*/certificateAuthorities/*}/certificates"
+ body: "certificate"
+ };
+ option (google.api.method_signature) = "parent,certificate,certificate_id";
+ }
+
+ // Returns a [Certificate][google.cloud.security.privateca.v1beta1.Certificate].
+ rpc GetCertificate(GetCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*/certificates/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [Certificates][google.cloud.security.privateca.v1beta1.Certificate].
+ rpc ListCertificates(ListCertificatesRequest) returns (ListCertificatesResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*/certificateAuthorities/*}/certificates"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Revoke a [Certificate][google.cloud.security.privateca.v1beta1.Certificate].
+ rpc RevokeCertificate(RevokeCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*/certificates/*}:revoke"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Update a [Certificate][google.cloud.security.privateca.v1beta1.Certificate]. Currently, the only field you can update is the
+ // [labels][google.cloud.security.privateca.v1beta1.Certificate.labels] field.
+ rpc UpdateCertificate(UpdateCertificateRequest) returns (Certificate) {
+ option (google.api.http) = {
+ patch: "/v1beta1/{certificate.name=projects/*/locations/*/certificateAuthorities/*/certificates/*}"
+ body: "certificate"
+ };
+ option (google.api.method_signature) = "certificate,update_mask";
+ }
+
+ // Activate a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] that is in state
+ // [PENDING_ACTIVATION][google.cloud.security.privateca.v1beta1.CertificateAuthority.State.PENDING_ACTIVATION] and is
+ // of type [SUBORDINATE][google.cloud.security.privateca.v1beta1.CertificateAuthority.Type.SUBORDINATE]. After the
+ // parent Certificate Authority signs a certificate signing request from
+ // [FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.FetchCertificateAuthorityCsr], this method can complete the activation
+ // process.
+ rpc ActivateCertificateAuthority(ActivateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*}:activate"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Create a new [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in a given Project and Location.
+ rpc CreateCertificateAuthority(CreateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*/locations/*}/certificateAuthorities"
+ body: "certificate_authority"
+ };
+ option (google.api.method_signature) = "parent,certificate_authority,certificate_authority_id";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Disable a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ rpc DisableCertificateAuthority(DisableCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*}:disable"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Enable a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ rpc EnableCertificateAuthority(EnableCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*}:enable"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Fetch a certificate signing request (CSR) from a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]
+ // that is in state
+ // [PENDING_ACTIVATION][google.cloud.security.privateca.v1beta1.CertificateAuthority.State.PENDING_ACTIVATION] and is
+ // of type [SUBORDINATE][google.cloud.security.privateca.v1beta1.CertificateAuthority.Type.SUBORDINATE]. The CSR must
+ // then be signed by the desired parent Certificate Authority, which could be
+ // another [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] resource, or could be an on-prem
+ // certificate authority. See also [ActivateCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ActivateCertificateAuthority].
+ rpc FetchCertificateAuthorityCsr(FetchCertificateAuthorityCsrRequest) returns (FetchCertificateAuthorityCsrResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*}:fetch"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Returns a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ rpc GetCertificateAuthority(GetCertificateAuthorityRequest) returns (CertificateAuthority) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [CertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ rpc ListCertificateAuthorities(ListCertificateAuthoritiesRequest) returns (ListCertificateAuthoritiesResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*}/certificateAuthorities"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Restore a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] that is scheduled for deletion.
+ rpc RestoreCertificateAuthority(RestoreCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*}:restore"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Schedule a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] for deletion.
+ rpc ScheduleDeleteCertificateAuthority(ScheduleDeleteCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*}:scheduleDelete"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Update a [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ rpc UpdateCertificateAuthority(UpdateCertificateAuthorityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1beta1/{certificate_authority.name=projects/*/locations/*/certificateAuthorities/*}"
+ body: "certificate_authority"
+ };
+ option (google.api.method_signature) = "certificate_authority,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateAuthority"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Returns a [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList].
+ rpc GetCertificateRevocationList(GetCertificateRevocationListRequest) returns (CertificateRevocationList) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/certificateAuthorities/*/certificateRevocationLists/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [CertificateRevocationLists][google.cloud.security.privateca.v1beta1.CertificateRevocationList].
+ rpc ListCertificateRevocationLists(ListCertificateRevocationListsRequest) returns (ListCertificateRevocationListsResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*/certificateAuthorities/*}/certificateRevocationLists"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Update a [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList].
+ rpc UpdateCertificateRevocationList(UpdateCertificateRevocationListRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ patch: "/v1beta1/{certificate_revocation_list.name=projects/*/locations/*/certificateAuthorities/*/certificateRevocationLists/*}"
+ body: "certificate_revocation_list"
+ };
+ option (google.api.method_signature) = "certificate_revocation_list,update_mask";
+ option (google.longrunning.operation_info) = {
+ response_type: "CertificateRevocationList"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Returns a [ReusableConfig][google.cloud.security.privateca.v1beta1.ReusableConfig].
+ rpc GetReusableConfig(GetReusableConfigRequest) returns (ReusableConfig) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/reusableConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists [ReusableConfigs][google.cloud.security.privateca.v1beta1.ReusableConfig].
+ rpc ListReusableConfigs(ListReusableConfigsRequest) returns (ListReusableConfigsResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*}/reusableConfigs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// Request message for [CertificateAuthorityService.CreateCertificate][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.CreateCertificate].
+message CreateCertificateRequest {
+ // Required. The resource name of the location and [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority]
+ // associated with the [Certificate][google.cloud.security.privateca.v1beta1.Certificate], in the format
+ // `projects/*/locations/*/certificateAuthorities/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. It must be unique within a location and match the regular
+ // expression `[a-zA-Z0-9_-]{1,63}`. This field is required when using a
+ // [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the Enterprise [CertificateAuthority.Tier][google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier],
+ // but is optional and its value is ignored otherwise.
+ string certificate_id = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. A [Certificate][google.cloud.security.privateca.v1beta1.Certificate] with initial field values.
+ Certificate certificate = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.GetCertificate][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetCertificate].
+message GetCertificateRequest {
+ // Required. The [name][google.cloud.security.privateca.v1beta1.Certificate.name] of the [Certificate][google.cloud.security.privateca.v1beta1.Certificate] to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/Certificate"
+ }
+ ];
+}
+
+// Request message for [CertificateAuthorityService.ListCertificates][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificates].
+message ListCertificatesRequest {
+ // Required. The resource name of the location associated with the
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate], in the format
+ // `projects/*/locations/*/certificateauthorities/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. Limit on the number of
+ // [Certificates][google.cloud.security.privateca.v1beta1.Certificate] to include in the
+ // response. Further [Certificates][google.cloud.security.privateca.v1beta1.Certificate] can subsequently be obtained
+ // by including the
+ // [ListCertificatesResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListCertificatesResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCertificatesResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListCertificatesResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response. For details
+ // on supported filters and syntax, see [Certificates Filtering
+ // documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#filtering_support).
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted. For details on supported fields
+ // and syntax, see [Certificates Sorting
+ // documentation](https://cloud.google.com/certificate-authority-service/docs/sorting-filtering-certificates#sorting_support).
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CertificateAuthorityService.ListCertificates][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificates].
+message ListCertificatesResponse {
+ // The list of [Certificates][google.cloud.security.privateca.v1beta1.Certificate].
+ repeated Certificate certificates = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificatesRequest.next_page_token][] to retrieve the
+ // next page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.RevokeCertificate][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.RevokeCertificate].
+message RevokeCertificateRequest {
+ // Required. The resource name for this [Certificate][google.cloud.security.privateca.v1beta1.Certificate] in the
+ // format `projects/*/locations/*/certificateAuthorities/*/certificates/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/Certificate"
+ }
+ ];
+
+ // Required. The [RevocationReason][google.cloud.security.privateca.v1beta1.RevocationReason] for revoking this certificate.
+ RevocationReason reason = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CertificateAuthorityService.UpdateCertificate][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.UpdateCertificate].
+message UpdateCertificateRequest {
+ // Required. [Certificate][google.cloud.security.privateca.v1beta1.Certificate] with updated values.
+ Certificate certificate = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.ActivateCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ActivateCertificateAuthority].
+message ActivateCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the
+ // format `projects/*/locations/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Required. The signed CA certificate issued from
+ // [FetchCertificateAuthorityCsrResponse.pem_csr][google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse.pem_csr].
+ string pem_ca_certificate = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Must include information about the issuer of 'pem_ca_certificate', and any
+ // further issuers until the self-signed CA.
+ SubordinateConfig subordinate_config = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.CreateCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.CreateCertificateAuthority].
+message CreateCertificateAuthorityRequest {
+ // Required. The resource name of the location associated with the
+ // [CertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthority], in the format
+ // `projects/*/locations/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. It must be unique within a location and match the regular
+ // expression `[a-zA-Z0-9_-]{1,63}`
+ string certificate_authority_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] with initial field values.
+ CertificateAuthority certificate_authority = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.DisableCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.DisableCertificateAuthority].
+message DisableCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the
+ // format `projects/*/locations/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.EnableCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.EnableCertificateAuthority].
+message EnableCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the
+ // format `projects/*/locations/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.FetchCertificateAuthorityCsr].
+message FetchCertificateAuthorityCsrRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the
+ // format `projects/*/locations/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+}
+
+// Response message for
+// [CertificateAuthorityService.FetchCertificateAuthorityCsr][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.FetchCertificateAuthorityCsr].
+message FetchCertificateAuthorityCsrResponse {
+ // Output only. The PEM-encoded signed certificate signing request (CSR).
+ string pem_csr = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Request message for [CertificateAuthorityService.GetCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetCertificateAuthority].
+message GetCertificateAuthorityRequest {
+ // Required. The [name][google.cloud.security.privateca.v1beta1.CertificateAuthority.name] of the [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] to
+ // get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+}
+
+// Request message for
+// [CertificateAuthorityService.ListCertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificateAuthorities].
+message ListCertificateAuthoritiesRequest {
+ // Required. The resource name of the location associated with the
+ // [CertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthority], in the format
+ // `projects/*/locations/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. Limit on the number of [CertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthority] to
+ // include in the response.
+ // Further [CertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthority] can subsequently be
+ // obtained by including the
+ // [ListCertificateAuthoritiesResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCertificateAuthoritiesResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.ListCertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificateAuthorities].
+message ListCertificateAuthoritiesResponse {
+ // The list of [CertificateAuthorities][google.cloud.security.privateca.v1beta1.CertificateAuthority].
+ repeated CertificateAuthority certificate_authorities = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificateAuthoritiesRequest.next_page_token][] to retrieve the next
+ // page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.RestoreCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.RestoreCertificateAuthority].
+message RestoreCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the
+ // format `projects/*/locations/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.ScheduleDeleteCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ScheduleDeleteCertificateAuthority].
+message ScheduleDeleteCertificateAuthorityRequest {
+ // Required. The resource name for this [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] in the
+ // format `projects/*/locations/*/certificateAuthorities/*`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.UpdateCertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.UpdateCertificateAuthority].
+message UpdateCertificateAuthorityRequest {
+ // Required. [CertificateAuthority][google.cloud.security.privateca.v1beta1.CertificateAuthority] with updated values.
+ CertificateAuthority certificate_authority = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.GetCertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetCertificateRevocationList].
+message GetCertificateRevocationListRequest {
+ // Required. The [name][google.cloud.security.privateca.v1beta1.CertificateRevocationList.name] of the
+ // [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateRevocationList"
+ }
+ ];
+}
+
+// Request message for
+// [CertificateAuthorityService.ListCertificateRevocationLists][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificateRevocationLists].
+message ListCertificateRevocationListsRequest {
+ // Required. The resource name of the location associated with the
+ // [CertificateRevocationLists][google.cloud.security.privateca.v1beta1.CertificateRevocationList], in the format
+ // `projects/*/locations/*/certificateauthorities/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/CertificateAuthority"
+ }
+ ];
+
+ // Optional. Limit on the number of
+ // [CertificateRevocationLists][google.cloud.security.privateca.v1beta1.CertificateRevocationList] to include in the
+ // response. Further [CertificateRevocationLists][google.cloud.security.privateca.v1beta1.CertificateRevocationList]
+ // can subsequently be obtained by including the
+ // [ListCertificateRevocationListsResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse.next_page_token] in a subsequent
+ // request. If unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListCertificateRevocationListsResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.ListCertificateRevocationLists][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificateRevocationLists].
+message ListCertificateRevocationListsResponse {
+ // The list of [CertificateRevocationLists][google.cloud.security.privateca.v1beta1.CertificateRevocationList].
+ repeated CertificateRevocationList certificate_revocation_lists = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListCertificateRevocationListsRequest.next_page_token][] to retrieve the
+ // next page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Request message for
+// [CertificateAuthorityService.UpdateCertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.UpdateCertificateRevocationList].
+message UpdateCertificateRevocationListRequest {
+ // Required. [CertificateRevocationList][google.cloud.security.privateca.v1beta1.CertificateRevocationList] with updated values.
+ CertificateRevocationList certificate_revocation_list = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A list of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. An ID to identify requests. Specify a unique request ID so that if you must
+ // retry your request, the server will know to ignore the request if it has
+ // already been completed. The server will guarantee that for at least 60
+ // minutes since the first request.
+ //
+ // For example, consider a situation where you make an initial request and t
+ // he request times out. If you make the request again with the same request
+ // ID, the server can check if original operation with the same request ID
+ // was received, and if so, will ignore the second request. This prevents
+ // clients from accidentally creating duplicate commitments.
+ //
+ // The request ID must be a valid UUID with the exception that zero UUID is
+ // not supported (00000000-0000-0000-0000-000000000000).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for
+// [CertificateAuthorityService.GetReusableConfig][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetReusableConfig].
+message GetReusableConfigRequest {
+ // Required. The [name][ReusableConfigs.name] of the [ReusableConfigs][] to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "privateca.googleapis.com/ReusableConfig"
+ }
+ ];
+}
+
+// Request message for
+// [CertificateAuthorityService.ListReusableConfigs][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListReusableConfigs].
+message ListReusableConfigsRequest {
+ // Required. The resource name of the location associated with the
+ // [ReusableConfigs][google.cloud.security.privateca.v1beta1.ReusableConfig], in the format
+ // `projects/*/locations/*`.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. Limit on the number of
+ // [ReusableConfigs][google.cloud.security.privateca.v1beta1.ReusableConfig] to include in the response.
+ // Further [ReusableConfigs][google.cloud.security.privateca.v1beta1.ReusableConfig] can subsequently be
+ // obtained by including the
+ // [ListReusableConfigsResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse.next_page_token] in a subsequent request. If
+ // unspecified, the server will pick an appropriate default.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Pagination token, returned earlier via
+ // [ListReusableConfigsResponse.next_page_token][google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse.next_page_token].
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Only include resources that match the filter in the response.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specify how the results should be sorted.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CertificateAuthorityService.ListReusableConfigs][google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListReusableConfigs].
+message ListReusableConfigsResponse {
+ // The list of [ReusableConfigs][google.cloud.security.privateca.v1beta1.ReusableConfig].
+ repeated ReusableConfig reusable_configs = 1;
+
+ // A token to retrieve next page of results. Pass this value in
+ // [ListReusableConfigsRequest.next_page_token][] to retrieve
+ // the next page of results.
+ string next_page_token = 2;
+
+ // A list of locations (e.g. "us-west1") that could not be reached.
+ repeated string unreachable = 3;
+}
+
+// Represents the metadata of the long-running operation.
+message OperationMetadata {
+ // Output only. The time the operation was created.
+ google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time the operation finished running.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Server-defined resource path for the target of the operation.
+ string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Name of the verb executed by the operation.
+ string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Human-readable status of the operation, if any.
+ string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Identifies whether the user has requested cancellation
+ // of the operation. Operations that have successfully been cancelled
+ // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
+ // corresponding to `Code.CANCELLED`.
+ bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. API version used to start the operation.
+ string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-security-privateca/protos/protos.d.ts b/packages/google-cloud-security-privateca/protos/protos.d.ts
new file mode 100644
index 00000000000..2fbf732d438
--- /dev/null
+++ b/packages/google-cloud-security-privateca/protos/protos.d.ts
@@ -0,0 +1,22746 @@
+// 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 security. */
+ namespace security {
+
+ /** Namespace privateca. */
+ namespace privateca {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of a CertificateAuthority. */
+ interface ICertificateAuthority {
+
+ /** CertificateAuthority name */
+ name?: (string|null);
+
+ /** CertificateAuthority type */
+ type?: (google.cloud.security.privateca.v1.CertificateAuthority.Type|keyof typeof google.cloud.security.privateca.v1.CertificateAuthority.Type|null);
+
+ /** CertificateAuthority config */
+ config?: (google.cloud.security.privateca.v1.ICertificateConfig|null);
+
+ /** CertificateAuthority lifetime */
+ lifetime?: (google.protobuf.IDuration|null);
+
+ /** CertificateAuthority keySpec */
+ keySpec?: (google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec|null);
+
+ /** CertificateAuthority subordinateConfig */
+ subordinateConfig?: (google.cloud.security.privateca.v1.ISubordinateConfig|null);
+
+ /** CertificateAuthority tier */
+ tier?: (google.cloud.security.privateca.v1.CaPool.Tier|keyof typeof google.cloud.security.privateca.v1.CaPool.Tier|null);
+
+ /** CertificateAuthority state */
+ state?: (google.cloud.security.privateca.v1.CertificateAuthority.State|keyof typeof google.cloud.security.privateca.v1.CertificateAuthority.State|null);
+
+ /** CertificateAuthority pemCaCertificates */
+ pemCaCertificates?: (string[]|null);
+
+ /** CertificateAuthority caCertificateDescriptions */
+ caCertificateDescriptions?: (google.cloud.security.privateca.v1.ICertificateDescription[]|null);
+
+ /** CertificateAuthority gcsBucket */
+ gcsBucket?: (string|null);
+
+ /** CertificateAuthority accessUrls */
+ accessUrls?: (google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls|null);
+
+ /** CertificateAuthority createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority deleteTime */
+ deleteTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority expireTime */
+ expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a CertificateAuthority. */
+ class CertificateAuthority implements ICertificateAuthority {
+
+ /**
+ * Constructs a new CertificateAuthority.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificateAuthority);
+
+ /** CertificateAuthority name. */
+ public name: string;
+
+ /** CertificateAuthority type. */
+ public type: (google.cloud.security.privateca.v1.CertificateAuthority.Type|keyof typeof google.cloud.security.privateca.v1.CertificateAuthority.Type);
+
+ /** CertificateAuthority config. */
+ public config?: (google.cloud.security.privateca.v1.ICertificateConfig|null);
+
+ /** CertificateAuthority lifetime. */
+ public lifetime?: (google.protobuf.IDuration|null);
+
+ /** CertificateAuthority keySpec. */
+ public keySpec?: (google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec|null);
+
+ /** CertificateAuthority subordinateConfig. */
+ public subordinateConfig?: (google.cloud.security.privateca.v1.ISubordinateConfig|null);
+
+ /** CertificateAuthority tier. */
+ public tier: (google.cloud.security.privateca.v1.CaPool.Tier|keyof typeof google.cloud.security.privateca.v1.CaPool.Tier);
+
+ /** CertificateAuthority state. */
+ public state: (google.cloud.security.privateca.v1.CertificateAuthority.State|keyof typeof google.cloud.security.privateca.v1.CertificateAuthority.State);
+
+ /** CertificateAuthority pemCaCertificates. */
+ public pemCaCertificates: string[];
+
+ /** CertificateAuthority caCertificateDescriptions. */
+ public caCertificateDescriptions: google.cloud.security.privateca.v1.ICertificateDescription[];
+
+ /** CertificateAuthority gcsBucket. */
+ public gcsBucket: string;
+
+ /** CertificateAuthority accessUrls. */
+ public accessUrls?: (google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls|null);
+
+ /** CertificateAuthority createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority deleteTime. */
+ public deleteTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority expireTime. */
+ public expireTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new CertificateAuthority instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateAuthority instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificateAuthority): google.cloud.security.privateca.v1.CertificateAuthority;
+
+ /**
+ * Encodes the specified CertificateAuthority message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.verify|verify} messages.
+ * @param message CertificateAuthority message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificateAuthority, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateAuthority message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.verify|verify} messages.
+ * @param message CertificateAuthority message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificateAuthority, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateAuthority message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateAuthority
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateAuthority;
+
+ /**
+ * Decodes a CertificateAuthority message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateAuthority
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateAuthority;
+
+ /**
+ * Verifies a CertificateAuthority message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateAuthority message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateAuthority
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateAuthority;
+
+ /**
+ * Creates a plain object from a CertificateAuthority message. Also converts values to other types if specified.
+ * @param message CertificateAuthority
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateAuthority, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateAuthority to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateAuthority
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateAuthority {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ SELF_SIGNED = 1,
+ SUBORDINATE = 2
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ENABLED = 1,
+ DISABLED = 2,
+ STAGED = 3,
+ AWAITING_USER_ACTIVATION = 4,
+ DELETED = 5
+ }
+
+ /** Properties of an AccessUrls. */
+ interface IAccessUrls {
+
+ /** AccessUrls caCertificateAccessUrl */
+ caCertificateAccessUrl?: (string|null);
+
+ /** AccessUrls crlAccessUrls */
+ crlAccessUrls?: (string[]|null);
+ }
+
+ /** Represents an AccessUrls. */
+ class AccessUrls implements IAccessUrls {
+
+ /**
+ * Constructs a new AccessUrls.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls);
+
+ /** AccessUrls caCertificateAccessUrl. */
+ public caCertificateAccessUrl: string;
+
+ /** AccessUrls crlAccessUrls. */
+ public crlAccessUrls: string[];
+
+ /**
+ * Creates a new AccessUrls instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessUrls instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls): google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Encodes the specified AccessUrls message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.verify|verify} messages.
+ * @param message AccessUrls message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessUrls message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.verify|verify} messages.
+ * @param message AccessUrls message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessUrls message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessUrls
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Decodes an AccessUrls message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessUrls
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Verifies an AccessUrls message.
+ * @param message Plain 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 AccessUrls message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessUrls
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Creates a plain object from an AccessUrls message. Also converts values to other types if specified.
+ * @param message AccessUrls
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessUrls to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessUrls
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a KeyVersionSpec. */
+ interface IKeyVersionSpec {
+
+ /** KeyVersionSpec cloudKmsKeyVersion */
+ cloudKmsKeyVersion?: (string|null);
+
+ /** KeyVersionSpec algorithm */
+ algorithm?: (google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm|keyof typeof google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm|null);
+ }
+
+ /** Represents a KeyVersionSpec. */
+ class KeyVersionSpec implements IKeyVersionSpec {
+
+ /**
+ * Constructs a new KeyVersionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec);
+
+ /** KeyVersionSpec cloudKmsKeyVersion. */
+ public cloudKmsKeyVersion?: (string|null);
+
+ /** KeyVersionSpec algorithm. */
+ public algorithm?: (google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm|keyof typeof google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm|null);
+
+ /** KeyVersionSpec KeyVersion. */
+ public KeyVersion?: ("cloudKmsKeyVersion"|"algorithm");
+
+ /**
+ * Creates a new KeyVersionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyVersionSpec instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec): google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Encodes the specified KeyVersionSpec message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.verify|verify} messages.
+ * @param message KeyVersionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyVersionSpec message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.verify|verify} messages.
+ * @param message KeyVersionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyVersionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyVersionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Decodes a KeyVersionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyVersionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Verifies a KeyVersionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyVersionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyVersionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Creates a plain object from a KeyVersionSpec message. Also converts values to other types if specified.
+ * @param message KeyVersionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyVersionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyVersionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** SignHashAlgorithm enum. */
+ enum SignHashAlgorithm {
+ SIGN_HASH_ALGORITHM_UNSPECIFIED = 0,
+ RSA_PSS_2048_SHA256 = 1,
+ RSA_PSS_3072_SHA256 = 2,
+ RSA_PSS_4096_SHA256 = 3,
+ RSA_PKCS1_2048_SHA256 = 6,
+ RSA_PKCS1_3072_SHA256 = 7,
+ RSA_PKCS1_4096_SHA256 = 8,
+ EC_P256_SHA256 = 4,
+ EC_P384_SHA384 = 5
+ }
+ }
+
+ /** Properties of a CaPool. */
+ interface ICaPool {
+
+ /** CaPool name */
+ name?: (string|null);
+
+ /** CaPool tier */
+ tier?: (google.cloud.security.privateca.v1.CaPool.Tier|keyof typeof google.cloud.security.privateca.v1.CaPool.Tier|null);
+
+ /** CaPool issuancePolicy */
+ issuancePolicy?: (google.cloud.security.privateca.v1.CaPool.IIssuancePolicy|null);
+
+ /** CaPool publishingOptions */
+ publishingOptions?: (google.cloud.security.privateca.v1.CaPool.IPublishingOptions|null);
+
+ /** CaPool labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a CaPool. */
+ class CaPool implements ICaPool {
+
+ /**
+ * Constructs a new CaPool.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICaPool);
+
+ /** CaPool name. */
+ public name: string;
+
+ /** CaPool tier. */
+ public tier: (google.cloud.security.privateca.v1.CaPool.Tier|keyof typeof google.cloud.security.privateca.v1.CaPool.Tier);
+
+ /** CaPool issuancePolicy. */
+ public issuancePolicy?: (google.cloud.security.privateca.v1.CaPool.IIssuancePolicy|null);
+
+ /** CaPool publishingOptions. */
+ public publishingOptions?: (google.cloud.security.privateca.v1.CaPool.IPublishingOptions|null);
+
+ /** CaPool labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new CaPool instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CaPool instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICaPool): google.cloud.security.privateca.v1.CaPool;
+
+ /**
+ * Encodes the specified CaPool message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.verify|verify} messages.
+ * @param message CaPool message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICaPool, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CaPool message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.verify|verify} messages.
+ * @param message CaPool message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICaPool, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CaPool message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CaPool
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CaPool;
+
+ /**
+ * Decodes a CaPool message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CaPool
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CaPool;
+
+ /**
+ * Verifies a CaPool message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CaPool message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CaPool
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CaPool;
+
+ /**
+ * Creates a plain object from a CaPool message. Also converts values to other types if specified.
+ * @param message CaPool
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CaPool, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CaPool to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CaPool
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CaPool {
+
+ /** Tier enum. */
+ enum Tier {
+ TIER_UNSPECIFIED = 0,
+ ENTERPRISE = 1,
+ DEVOPS = 2
+ }
+
+ /** Properties of a PublishingOptions. */
+ interface IPublishingOptions {
+
+ /** PublishingOptions publishCaCert */
+ publishCaCert?: (boolean|null);
+
+ /** PublishingOptions publishCrl */
+ publishCrl?: (boolean|null);
+ }
+
+ /** Represents a PublishingOptions. */
+ class PublishingOptions implements IPublishingOptions {
+
+ /**
+ * Constructs a new PublishingOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CaPool.IPublishingOptions);
+
+ /** PublishingOptions publishCaCert. */
+ public publishCaCert: boolean;
+
+ /** PublishingOptions publishCrl. */
+ public publishCrl: boolean;
+
+ /**
+ * Creates a new PublishingOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublishingOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CaPool.IPublishingOptions): google.cloud.security.privateca.v1.CaPool.PublishingOptions;
+
+ /**
+ * Encodes the specified PublishingOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.PublishingOptions.verify|verify} messages.
+ * @param message PublishingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CaPool.IPublishingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublishingOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.PublishingOptions.verify|verify} messages.
+ * @param message PublishingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CaPool.IPublishingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublishingOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublishingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CaPool.PublishingOptions;
+
+ /**
+ * Decodes a PublishingOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublishingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CaPool.PublishingOptions;
+
+ /**
+ * Verifies a PublishingOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublishingOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublishingOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CaPool.PublishingOptions;
+
+ /**
+ * Creates a plain object from a PublishingOptions message. Also converts values to other types if specified.
+ * @param message PublishingOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CaPool.PublishingOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublishingOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PublishingOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IssuancePolicy. */
+ interface IIssuancePolicy {
+
+ /** IssuancePolicy allowedKeyTypes */
+ allowedKeyTypes?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType[]|null);
+
+ /** IssuancePolicy maximumLifetime */
+ maximumLifetime?: (google.protobuf.IDuration|null);
+
+ /** IssuancePolicy allowedIssuanceModes */
+ allowedIssuanceModes?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes|null);
+
+ /** IssuancePolicy baselineValues */
+ baselineValues?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** IssuancePolicy identityConstraints */
+ identityConstraints?: (google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null);
+
+ /** IssuancePolicy passthroughExtensions */
+ passthroughExtensions?: (google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null);
+ }
+
+ /** Represents an IssuancePolicy. */
+ class IssuancePolicy implements IIssuancePolicy {
+
+ /**
+ * Constructs a new IssuancePolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CaPool.IIssuancePolicy);
+
+ /** IssuancePolicy allowedKeyTypes. */
+ public allowedKeyTypes: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType[];
+
+ /** IssuancePolicy maximumLifetime. */
+ public maximumLifetime?: (google.protobuf.IDuration|null);
+
+ /** IssuancePolicy allowedIssuanceModes. */
+ public allowedIssuanceModes?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes|null);
+
+ /** IssuancePolicy baselineValues. */
+ public baselineValues?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** IssuancePolicy identityConstraints. */
+ public identityConstraints?: (google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null);
+
+ /** IssuancePolicy passthroughExtensions. */
+ public passthroughExtensions?: (google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null);
+
+ /**
+ * Creates a new IssuancePolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IssuancePolicy instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CaPool.IIssuancePolicy): google.cloud.security.privateca.v1.CaPool.IssuancePolicy;
+
+ /**
+ * Encodes the specified IssuancePolicy message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.verify|verify} messages.
+ * @param message IssuancePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CaPool.IIssuancePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IssuancePolicy message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.verify|verify} messages.
+ * @param message IssuancePolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CaPool.IIssuancePolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IssuancePolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IssuancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CaPool.IssuancePolicy;
+
+ /**
+ * Decodes an IssuancePolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IssuancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CaPool.IssuancePolicy;
+
+ /**
+ * Verifies an IssuancePolicy message.
+ * @param message Plain 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 IssuancePolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IssuancePolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CaPool.IssuancePolicy;
+
+ /**
+ * Creates a plain object from an IssuancePolicy message. Also converts values to other types if specified.
+ * @param message IssuancePolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IssuancePolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IssuancePolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace IssuancePolicy {
+
+ /** Properties of an AllowedKeyType. */
+ interface IAllowedKeyType {
+
+ /** AllowedKeyType rsa */
+ rsa?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType|null);
+
+ /** AllowedKeyType ellipticCurve */
+ ellipticCurve?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType|null);
+ }
+
+ /** Represents an AllowedKeyType. */
+ class AllowedKeyType implements IAllowedKeyType {
+
+ /**
+ * Constructs a new AllowedKeyType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType);
+
+ /** AllowedKeyType rsa. */
+ public rsa?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType|null);
+
+ /** AllowedKeyType ellipticCurve. */
+ public ellipticCurve?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType|null);
+
+ /** AllowedKeyType keyType. */
+ public keyType?: ("rsa"|"ellipticCurve");
+
+ /**
+ * Creates a new AllowedKeyType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AllowedKeyType instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType;
+
+ /**
+ * Encodes the specified AllowedKeyType message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.verify|verify} messages.
+ * @param message AllowedKeyType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AllowedKeyType message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.verify|verify} messages.
+ * @param message AllowedKeyType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AllowedKeyType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AllowedKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType;
+
+ /**
+ * Decodes an AllowedKeyType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AllowedKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType;
+
+ /**
+ * Verifies an AllowedKeyType message.
+ * @param message Plain 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 AllowedKeyType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AllowedKeyType
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType;
+
+ /**
+ * Creates a plain object from an AllowedKeyType message. Also converts values to other types if specified.
+ * @param message AllowedKeyType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AllowedKeyType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AllowedKeyType
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AllowedKeyType {
+
+ /** Properties of a RsaKeyType. */
+ interface IRsaKeyType {
+
+ /** RsaKeyType minModulusSize */
+ minModulusSize?: (number|Long|string|null);
+
+ /** RsaKeyType maxModulusSize */
+ maxModulusSize?: (number|Long|string|null);
+ }
+
+ /** Represents a RsaKeyType. */
+ class RsaKeyType implements IRsaKeyType {
+
+ /**
+ * Constructs a new RsaKeyType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType);
+
+ /** RsaKeyType minModulusSize. */
+ public minModulusSize: (number|Long|string);
+
+ /** RsaKeyType maxModulusSize. */
+ public maxModulusSize: (number|Long|string);
+
+ /**
+ * Creates a new RsaKeyType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RsaKeyType instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType;
+
+ /**
+ * Encodes the specified RsaKeyType message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.verify|verify} messages.
+ * @param message RsaKeyType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RsaKeyType message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.verify|verify} messages.
+ * @param message RsaKeyType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RsaKeyType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RsaKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType;
+
+ /**
+ * Decodes a RsaKeyType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RsaKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType;
+
+ /**
+ * Verifies a RsaKeyType message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RsaKeyType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RsaKeyType
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType;
+
+ /**
+ * Creates a plain object from a RsaKeyType message. Also converts values to other types if specified.
+ * @param message RsaKeyType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RsaKeyType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RsaKeyType
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EcKeyType. */
+ interface IEcKeyType {
+
+ /** EcKeyType signatureAlgorithm */
+ signatureAlgorithm?: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm|keyof typeof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm|null);
+ }
+
+ /** Represents an EcKeyType. */
+ class EcKeyType implements IEcKeyType {
+
+ /**
+ * Constructs a new EcKeyType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType);
+
+ /** EcKeyType signatureAlgorithm. */
+ public signatureAlgorithm: (google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm|keyof typeof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm);
+
+ /**
+ * Creates a new EcKeyType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EcKeyType instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType;
+
+ /**
+ * Encodes the specified EcKeyType message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.verify|verify} messages.
+ * @param message EcKeyType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EcKeyType message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.verify|verify} messages.
+ * @param message EcKeyType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EcKeyType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EcKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType;
+
+ /**
+ * Decodes an EcKeyType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EcKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType;
+
+ /**
+ * Verifies an EcKeyType message.
+ * @param message Plain 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 EcKeyType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EcKeyType
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType;
+
+ /**
+ * Creates a plain object from an EcKeyType message. Also converts values to other types if specified.
+ * @param message EcKeyType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EcKeyType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EcKeyType
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EcKeyType {
+
+ /** EcSignatureAlgorithm enum. */
+ enum EcSignatureAlgorithm {
+ EC_SIGNATURE_ALGORITHM_UNSPECIFIED = 0,
+ ECDSA_P256 = 1,
+ ECDSA_P384 = 2,
+ EDDSA_25519 = 3
+ }
+ }
+ }
+
+ /** Properties of an IssuanceModes. */
+ interface IIssuanceModes {
+
+ /** IssuanceModes allowCsrBasedIssuance */
+ allowCsrBasedIssuance?: (boolean|null);
+
+ /** IssuanceModes allowConfigBasedIssuance */
+ allowConfigBasedIssuance?: (boolean|null);
+ }
+
+ /** Represents an IssuanceModes. */
+ class IssuanceModes implements IIssuanceModes {
+
+ /**
+ * Constructs a new IssuanceModes.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes);
+
+ /** IssuanceModes allowCsrBasedIssuance. */
+ public allowCsrBasedIssuance: boolean;
+
+ /** IssuanceModes allowConfigBasedIssuance. */
+ public allowConfigBasedIssuance: boolean;
+
+ /**
+ * Creates a new IssuanceModes instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IssuanceModes instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes;
+
+ /**
+ * Encodes the specified IssuanceModes message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.verify|verify} messages.
+ * @param message IssuanceModes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IssuanceModes message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.verify|verify} messages.
+ * @param message IssuanceModes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IssuanceModes message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IssuanceModes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes;
+
+ /**
+ * Decodes an IssuanceModes message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IssuanceModes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes;
+
+ /**
+ * Verifies an IssuanceModes message.
+ * @param message Plain 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 IssuanceModes message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IssuanceModes
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes;
+
+ /**
+ * Creates a plain object from an IssuanceModes message. Also converts values to other types if specified.
+ * @param message IssuanceModes
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IssuanceModes to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IssuanceModes
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+
+ /** Properties of a CertificateRevocationList. */
+ interface ICertificateRevocationList {
+
+ /** CertificateRevocationList name */
+ name?: (string|null);
+
+ /** CertificateRevocationList sequenceNumber */
+ sequenceNumber?: (number|Long|string|null);
+
+ /** CertificateRevocationList revokedCertificates */
+ revokedCertificates?: (google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate[]|null);
+
+ /** CertificateRevocationList pemCrl */
+ pemCrl?: (string|null);
+
+ /** CertificateRevocationList accessUrl */
+ accessUrl?: (string|null);
+
+ /** CertificateRevocationList state */
+ state?: (google.cloud.security.privateca.v1.CertificateRevocationList.State|keyof typeof google.cloud.security.privateca.v1.CertificateRevocationList.State|null);
+
+ /** CertificateRevocationList createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList revisionId */
+ revisionId?: (string|null);
+
+ /** CertificateRevocationList labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a CertificateRevocationList. */
+ class CertificateRevocationList implements ICertificateRevocationList {
+
+ /**
+ * Constructs a new CertificateRevocationList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificateRevocationList);
+
+ /** CertificateRevocationList name. */
+ public name: string;
+
+ /** CertificateRevocationList sequenceNumber. */
+ public sequenceNumber: (number|Long|string);
+
+ /** CertificateRevocationList revokedCertificates. */
+ public revokedCertificates: google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate[];
+
+ /** CertificateRevocationList pemCrl. */
+ public pemCrl: string;
+
+ /** CertificateRevocationList accessUrl. */
+ public accessUrl: string;
+
+ /** CertificateRevocationList state. */
+ public state: (google.cloud.security.privateca.v1.CertificateRevocationList.State|keyof typeof google.cloud.security.privateca.v1.CertificateRevocationList.State);
+
+ /** CertificateRevocationList createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList revisionId. */
+ public revisionId: string;
+
+ /** CertificateRevocationList labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new CertificateRevocationList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateRevocationList instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificateRevocationList): google.cloud.security.privateca.v1.CertificateRevocationList;
+
+ /**
+ * Encodes the specified CertificateRevocationList message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.verify|verify} messages.
+ * @param message CertificateRevocationList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificateRevocationList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateRevocationList message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.verify|verify} messages.
+ * @param message CertificateRevocationList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificateRevocationList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateRevocationList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateRevocationList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateRevocationList;
+
+ /**
+ * Decodes a CertificateRevocationList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateRevocationList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateRevocationList;
+
+ /**
+ * Verifies a CertificateRevocationList message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateRevocationList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateRevocationList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateRevocationList;
+
+ /**
+ * Creates a plain object from a CertificateRevocationList message. Also converts values to other types if specified.
+ * @param message CertificateRevocationList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateRevocationList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateRevocationList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateRevocationList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateRevocationList {
+
+ /** Properties of a RevokedCertificate. */
+ interface IRevokedCertificate {
+
+ /** RevokedCertificate certificate */
+ certificate?: (string|null);
+
+ /** RevokedCertificate hexSerialNumber */
+ hexSerialNumber?: (string|null);
+
+ /** RevokedCertificate revocationReason */
+ revocationReason?: (google.cloud.security.privateca.v1.RevocationReason|keyof typeof google.cloud.security.privateca.v1.RevocationReason|null);
+ }
+
+ /** Represents a RevokedCertificate. */
+ class RevokedCertificate implements IRevokedCertificate {
+
+ /**
+ * Constructs a new RevokedCertificate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate);
+
+ /** RevokedCertificate certificate. */
+ public certificate: string;
+
+ /** RevokedCertificate hexSerialNumber. */
+ public hexSerialNumber: string;
+
+ /** RevokedCertificate revocationReason. */
+ public revocationReason: (google.cloud.security.privateca.v1.RevocationReason|keyof typeof google.cloud.security.privateca.v1.RevocationReason);
+
+ /**
+ * Creates a new RevokedCertificate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RevokedCertificate instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate): google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Encodes the specified RevokedCertificate message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.verify|verify} messages.
+ * @param message RevokedCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RevokedCertificate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.verify|verify} messages.
+ * @param message RevokedCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RevokedCertificate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RevokedCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Decodes a RevokedCertificate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RevokedCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Verifies a RevokedCertificate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RevokedCertificate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RevokedCertificate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Creates a plain object from a RevokedCertificate message. Also converts values to other types if specified.
+ * @param message RevokedCertificate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RevokedCertificate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RevokedCertificate
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ SUPERSEDED = 2
+ }
+ }
+
+ /** Properties of a Certificate. */
+ interface ICertificate {
+
+ /** Certificate name */
+ name?: (string|null);
+
+ /** Certificate pemCsr */
+ pemCsr?: (string|null);
+
+ /** Certificate config */
+ config?: (google.cloud.security.privateca.v1.ICertificateConfig|null);
+
+ /** Certificate issuerCertificateAuthority */
+ issuerCertificateAuthority?: (string|null);
+
+ /** Certificate lifetime */
+ lifetime?: (google.protobuf.IDuration|null);
+
+ /** Certificate certificateTemplate */
+ certificateTemplate?: (string|null);
+
+ /** Certificate subjectMode */
+ subjectMode?: (google.cloud.security.privateca.v1.SubjectRequestMode|keyof typeof google.cloud.security.privateca.v1.SubjectRequestMode|null);
+
+ /** Certificate revocationDetails */
+ revocationDetails?: (google.cloud.security.privateca.v1.Certificate.IRevocationDetails|null);
+
+ /** Certificate pemCertificate */
+ pemCertificate?: (string|null);
+
+ /** Certificate certificateDescription */
+ certificateDescription?: (google.cloud.security.privateca.v1.ICertificateDescription|null);
+
+ /** Certificate pemCertificateChain */
+ pemCertificateChain?: (string[]|null);
+
+ /** Certificate createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Certificate. */
+ class Certificate implements ICertificate {
+
+ /**
+ * Constructs a new Certificate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificate);
+
+ /** Certificate name. */
+ public name: string;
+
+ /** Certificate pemCsr. */
+ public pemCsr?: (string|null);
+
+ /** Certificate config. */
+ public config?: (google.cloud.security.privateca.v1.ICertificateConfig|null);
+
+ /** Certificate issuerCertificateAuthority. */
+ public issuerCertificateAuthority: string;
+
+ /** Certificate lifetime. */
+ public lifetime?: (google.protobuf.IDuration|null);
+
+ /** Certificate certificateTemplate. */
+ public certificateTemplate: string;
+
+ /** Certificate subjectMode. */
+ public subjectMode: (google.cloud.security.privateca.v1.SubjectRequestMode|keyof typeof google.cloud.security.privateca.v1.SubjectRequestMode);
+
+ /** Certificate revocationDetails. */
+ public revocationDetails?: (google.cloud.security.privateca.v1.Certificate.IRevocationDetails|null);
+
+ /** Certificate pemCertificate. */
+ public pemCertificate: string;
+
+ /** Certificate certificateDescription. */
+ public certificateDescription?: (google.cloud.security.privateca.v1.ICertificateDescription|null);
+
+ /** Certificate pemCertificateChain. */
+ public pemCertificateChain: string[];
+
+ /** Certificate createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate labels. */
+ public labels: { [k: string]: string };
+
+ /** Certificate certificateConfig. */
+ public certificateConfig?: ("pemCsr"|"config");
+
+ /**
+ * Creates a new Certificate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Certificate instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificate): google.cloud.security.privateca.v1.Certificate;
+
+ /**
+ * Encodes the specified Certificate message. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.verify|verify} messages.
+ * @param message Certificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Certificate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.verify|verify} messages.
+ * @param message Certificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Certificate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Certificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.Certificate;
+
+ /**
+ * Decodes a Certificate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Certificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.Certificate;
+
+ /**
+ * Verifies a Certificate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Certificate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Certificate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.Certificate;
+
+ /**
+ * Creates a plain object from a Certificate message. Also converts values to other types if specified.
+ * @param message Certificate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.Certificate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Certificate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Certificate
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Certificate {
+
+ /** Properties of a RevocationDetails. */
+ interface IRevocationDetails {
+
+ /** RevocationDetails revocationState */
+ revocationState?: (google.cloud.security.privateca.v1.RevocationReason|keyof typeof google.cloud.security.privateca.v1.RevocationReason|null);
+
+ /** RevocationDetails revocationTime */
+ revocationTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a RevocationDetails. */
+ class RevocationDetails implements IRevocationDetails {
+
+ /**
+ * Constructs a new RevocationDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.Certificate.IRevocationDetails);
+
+ /** RevocationDetails revocationState. */
+ public revocationState: (google.cloud.security.privateca.v1.RevocationReason|keyof typeof google.cloud.security.privateca.v1.RevocationReason);
+
+ /** RevocationDetails revocationTime. */
+ public revocationTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new RevocationDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RevocationDetails instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.Certificate.IRevocationDetails): google.cloud.security.privateca.v1.Certificate.RevocationDetails;
+
+ /**
+ * Encodes the specified RevocationDetails message. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.RevocationDetails.verify|verify} messages.
+ * @param message RevocationDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.Certificate.IRevocationDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RevocationDetails message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.RevocationDetails.verify|verify} messages.
+ * @param message RevocationDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.Certificate.IRevocationDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RevocationDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RevocationDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.Certificate.RevocationDetails;
+
+ /**
+ * Decodes a RevocationDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RevocationDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.Certificate.RevocationDetails;
+
+ /**
+ * Verifies a RevocationDetails message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RevocationDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RevocationDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.Certificate.RevocationDetails;
+
+ /**
+ * Creates a plain object from a RevocationDetails message. Also converts values to other types if specified.
+ * @param message RevocationDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.Certificate.RevocationDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RevocationDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RevocationDetails
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a CertificateTemplate. */
+ interface ICertificateTemplate {
+
+ /** CertificateTemplate name */
+ name?: (string|null);
+
+ /** CertificateTemplate predefinedValues */
+ predefinedValues?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** CertificateTemplate identityConstraints */
+ identityConstraints?: (google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null);
+
+ /** CertificateTemplate passthroughExtensions */
+ passthroughExtensions?: (google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null);
+
+ /** CertificateTemplate description */
+ description?: (string|null);
+
+ /** CertificateTemplate createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateTemplate updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateTemplate labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a CertificateTemplate. */
+ class CertificateTemplate implements ICertificateTemplate {
+
+ /**
+ * Constructs a new CertificateTemplate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificateTemplate);
+
+ /** CertificateTemplate name. */
+ public name: string;
+
+ /** CertificateTemplate predefinedValues. */
+ public predefinedValues?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** CertificateTemplate identityConstraints. */
+ public identityConstraints?: (google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null);
+
+ /** CertificateTemplate passthroughExtensions. */
+ public passthroughExtensions?: (google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null);
+
+ /** CertificateTemplate description. */
+ public description: string;
+
+ /** CertificateTemplate createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateTemplate updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateTemplate labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new CertificateTemplate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateTemplate instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificateTemplate): google.cloud.security.privateca.v1.CertificateTemplate;
+
+ /**
+ * Encodes the specified CertificateTemplate message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateTemplate.verify|verify} messages.
+ * @param message CertificateTemplate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificateTemplate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateTemplate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateTemplate.verify|verify} messages.
+ * @param message CertificateTemplate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificateTemplate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateTemplate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateTemplate;
+
+ /**
+ * Decodes a CertificateTemplate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateTemplate;
+
+ /**
+ * Verifies a CertificateTemplate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateTemplate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateTemplate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateTemplate;
+
+ /**
+ * Creates a plain object from a CertificateTemplate message. Also converts values to other types if specified.
+ * @param message CertificateTemplate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateTemplate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateTemplate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateTemplate
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a X509Parameters. */
+ interface IX509Parameters {
+
+ /** X509Parameters keyUsage */
+ keyUsage?: (google.cloud.security.privateca.v1.IKeyUsage|null);
+
+ /** X509Parameters caOptions */
+ caOptions?: (google.cloud.security.privateca.v1.X509Parameters.ICaOptions|null);
+
+ /** X509Parameters policyIds */
+ policyIds?: (google.cloud.security.privateca.v1.IObjectId[]|null);
+
+ /** X509Parameters aiaOcspServers */
+ aiaOcspServers?: (string[]|null);
+
+ /** X509Parameters additionalExtensions */
+ additionalExtensions?: (google.cloud.security.privateca.v1.IX509Extension[]|null);
+ }
+
+ /** Represents a X509Parameters. */
+ class X509Parameters implements IX509Parameters {
+
+ /**
+ * Constructs a new X509Parameters.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IX509Parameters);
+
+ /** X509Parameters keyUsage. */
+ public keyUsage?: (google.cloud.security.privateca.v1.IKeyUsage|null);
+
+ /** X509Parameters caOptions. */
+ public caOptions?: (google.cloud.security.privateca.v1.X509Parameters.ICaOptions|null);
+
+ /** X509Parameters policyIds. */
+ public policyIds: google.cloud.security.privateca.v1.IObjectId[];
+
+ /** X509Parameters aiaOcspServers. */
+ public aiaOcspServers: string[];
+
+ /** X509Parameters additionalExtensions. */
+ public additionalExtensions: google.cloud.security.privateca.v1.IX509Extension[];
+
+ /**
+ * Creates a new X509Parameters instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns X509Parameters instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IX509Parameters): google.cloud.security.privateca.v1.X509Parameters;
+
+ /**
+ * Encodes the specified X509Parameters message. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.verify|verify} messages.
+ * @param message X509Parameters message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IX509Parameters, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified X509Parameters message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.verify|verify} messages.
+ * @param message X509Parameters message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IX509Parameters, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a X509Parameters message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns X509Parameters
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.X509Parameters;
+
+ /**
+ * Decodes a X509Parameters message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns X509Parameters
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.X509Parameters;
+
+ /**
+ * Verifies a X509Parameters message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a X509Parameters message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns X509Parameters
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.X509Parameters;
+
+ /**
+ * Creates a plain object from a X509Parameters message. Also converts values to other types if specified.
+ * @param message X509Parameters
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.X509Parameters, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this X509Parameters to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for X509Parameters
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace X509Parameters {
+
+ /** Properties of a CaOptions. */
+ interface ICaOptions {
+
+ /** CaOptions isCa */
+ isCa?: (boolean|null);
+
+ /** CaOptions maxIssuerPathLength */
+ maxIssuerPathLength?: (number|null);
+ }
+
+ /** Represents a CaOptions. */
+ class CaOptions implements ICaOptions {
+
+ /**
+ * Constructs a new CaOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.X509Parameters.ICaOptions);
+
+ /** CaOptions isCa. */
+ public isCa?: (boolean|null);
+
+ /** CaOptions maxIssuerPathLength. */
+ public maxIssuerPathLength?: (number|null);
+
+ /** CaOptions _isCa. */
+ public _isCa?: "isCa";
+
+ /** CaOptions _maxIssuerPathLength. */
+ public _maxIssuerPathLength?: "maxIssuerPathLength";
+
+ /**
+ * Creates a new CaOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CaOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.X509Parameters.ICaOptions): google.cloud.security.privateca.v1.X509Parameters.CaOptions;
+
+ /**
+ * Encodes the specified CaOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.CaOptions.verify|verify} messages.
+ * @param message CaOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.X509Parameters.ICaOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CaOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.CaOptions.verify|verify} messages.
+ * @param message CaOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.X509Parameters.ICaOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CaOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CaOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.X509Parameters.CaOptions;
+
+ /**
+ * Decodes a CaOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CaOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.X509Parameters.CaOptions;
+
+ /**
+ * Verifies a CaOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CaOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CaOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.X509Parameters.CaOptions;
+
+ /**
+ * Creates a plain object from a CaOptions message. Also converts values to other types if specified.
+ * @param message CaOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.X509Parameters.CaOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CaOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CaOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SubordinateConfig. */
+ interface ISubordinateConfig {
+
+ /** SubordinateConfig certificateAuthority */
+ certificateAuthority?: (string|null);
+
+ /** SubordinateConfig pemIssuerChain */
+ pemIssuerChain?: (google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain|null);
+ }
+
+ /** Represents a SubordinateConfig. */
+ class SubordinateConfig implements ISubordinateConfig {
+
+ /**
+ * Constructs a new SubordinateConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ISubordinateConfig);
+
+ /** SubordinateConfig certificateAuthority. */
+ public certificateAuthority?: (string|null);
+
+ /** SubordinateConfig pemIssuerChain. */
+ public pemIssuerChain?: (google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain|null);
+
+ /** SubordinateConfig subordinateConfig. */
+ public subordinateConfig?: ("certificateAuthority"|"pemIssuerChain");
+
+ /**
+ * Creates a new SubordinateConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubordinateConfig instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ISubordinateConfig): google.cloud.security.privateca.v1.SubordinateConfig;
+
+ /**
+ * Encodes the specified SubordinateConfig message. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.verify|verify} messages.
+ * @param message SubordinateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ISubordinateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubordinateConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.verify|verify} messages.
+ * @param message SubordinateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ISubordinateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubordinateConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubordinateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.SubordinateConfig;
+
+ /**
+ * Decodes a SubordinateConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubordinateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.SubordinateConfig;
+
+ /**
+ * Verifies a SubordinateConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubordinateConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubordinateConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.SubordinateConfig;
+
+ /**
+ * Creates a plain object from a SubordinateConfig message. Also converts values to other types if specified.
+ * @param message SubordinateConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.SubordinateConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubordinateConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubordinateConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SubordinateConfig {
+
+ /** Properties of a SubordinateConfigChain. */
+ interface ISubordinateConfigChain {
+
+ /** SubordinateConfigChain pemCertificates */
+ pemCertificates?: (string[]|null);
+ }
+
+ /** Represents a SubordinateConfigChain. */
+ class SubordinateConfigChain implements ISubordinateConfigChain {
+
+ /**
+ * Constructs a new SubordinateConfigChain.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain);
+
+ /** SubordinateConfigChain pemCertificates. */
+ public pemCertificates: string[];
+
+ /**
+ * Creates a new SubordinateConfigChain instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubordinateConfigChain instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain): google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Encodes the specified SubordinateConfigChain message. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.verify|verify} messages.
+ * @param message SubordinateConfigChain message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubordinateConfigChain message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.verify|verify} messages.
+ * @param message SubordinateConfigChain message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubordinateConfigChain message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubordinateConfigChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Decodes a SubordinateConfigChain message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubordinateConfigChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Verifies a SubordinateConfigChain message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubordinateConfigChain message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubordinateConfigChain
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Creates a plain object from a SubordinateConfigChain message. Also converts values to other types if specified.
+ * @param message SubordinateConfigChain
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubordinateConfigChain to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubordinateConfigChain
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a PublicKey. */
+ interface IPublicKey {
+
+ /** PublicKey key */
+ key?: (Uint8Array|string|null);
+
+ /** PublicKey format */
+ format?: (google.cloud.security.privateca.v1.PublicKey.KeyFormat|keyof typeof google.cloud.security.privateca.v1.PublicKey.KeyFormat|null);
+ }
+
+ /** Represents a PublicKey. */
+ class PublicKey implements IPublicKey {
+
+ /**
+ * Constructs a new PublicKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IPublicKey);
+
+ /** PublicKey key. */
+ public key: (Uint8Array|string);
+
+ /** PublicKey format. */
+ public format: (google.cloud.security.privateca.v1.PublicKey.KeyFormat|keyof typeof google.cloud.security.privateca.v1.PublicKey.KeyFormat);
+
+ /**
+ * Creates a new PublicKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublicKey instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IPublicKey): google.cloud.security.privateca.v1.PublicKey;
+
+ /**
+ * Encodes the specified PublicKey message. Does not implicitly {@link google.cloud.security.privateca.v1.PublicKey.verify|verify} messages.
+ * @param message PublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublicKey message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.PublicKey.verify|verify} messages.
+ * @param message PublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublicKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.PublicKey;
+
+ /**
+ * Decodes a PublicKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.PublicKey;
+
+ /**
+ * Verifies a PublicKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublicKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublicKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.PublicKey;
+
+ /**
+ * Creates a plain object from a PublicKey message. Also converts values to other types if specified.
+ * @param message PublicKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.PublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublicKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PublicKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PublicKey {
+
+ /** KeyFormat enum. */
+ enum KeyFormat {
+ KEY_FORMAT_UNSPECIFIED = 0,
+ PEM = 1
+ }
+ }
+
+ /** Properties of a CertificateConfig. */
+ interface ICertificateConfig {
+
+ /** CertificateConfig subjectConfig */
+ subjectConfig?: (google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig|null);
+
+ /** CertificateConfig x509Config */
+ x509Config?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** CertificateConfig publicKey */
+ publicKey?: (google.cloud.security.privateca.v1.IPublicKey|null);
+ }
+
+ /** Represents a CertificateConfig. */
+ class CertificateConfig implements ICertificateConfig {
+
+ /**
+ * Constructs a new CertificateConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificateConfig);
+
+ /** CertificateConfig subjectConfig. */
+ public subjectConfig?: (google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig|null);
+
+ /** CertificateConfig x509Config. */
+ public x509Config?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** CertificateConfig publicKey. */
+ public publicKey?: (google.cloud.security.privateca.v1.IPublicKey|null);
+
+ /**
+ * Creates a new CertificateConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateConfig instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificateConfig): google.cloud.security.privateca.v1.CertificateConfig;
+
+ /**
+ * Encodes the specified CertificateConfig message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.verify|verify} messages.
+ * @param message CertificateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.verify|verify} messages.
+ * @param message CertificateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateConfig;
+
+ /**
+ * Decodes a CertificateConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateConfig;
+
+ /**
+ * Verifies a CertificateConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateConfig;
+
+ /**
+ * Creates a plain object from a CertificateConfig message. Also converts values to other types if specified.
+ * @param message CertificateConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateConfig {
+
+ /** Properties of a SubjectConfig. */
+ interface ISubjectConfig {
+
+ /** SubjectConfig subject */
+ subject?: (google.cloud.security.privateca.v1.ISubject|null);
+
+ /** SubjectConfig subjectAltName */
+ subjectAltName?: (google.cloud.security.privateca.v1.ISubjectAltNames|null);
+ }
+
+ /** Represents a SubjectConfig. */
+ class SubjectConfig implements ISubjectConfig {
+
+ /**
+ * Constructs a new SubjectConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig);
+
+ /** SubjectConfig subject. */
+ public subject?: (google.cloud.security.privateca.v1.ISubject|null);
+
+ /** SubjectConfig subjectAltName. */
+ public subjectAltName?: (google.cloud.security.privateca.v1.ISubjectAltNames|null);
+
+ /**
+ * Creates a new SubjectConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubjectConfig instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig): google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Encodes the specified SubjectConfig message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.verify|verify} messages.
+ * @param message SubjectConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubjectConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.verify|verify} messages.
+ * @param message SubjectConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubjectConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubjectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Decodes a SubjectConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubjectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Verifies a SubjectConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubjectConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubjectConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Creates a plain object from a SubjectConfig message. Also converts values to other types if specified.
+ * @param message SubjectConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubjectConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubjectConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a CertificateDescription. */
+ interface ICertificateDescription {
+
+ /** CertificateDescription subjectDescription */
+ subjectDescription?: (google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription|null);
+
+ /** CertificateDescription x509Description */
+ x509Description?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** CertificateDescription publicKey */
+ publicKey?: (google.cloud.security.privateca.v1.IPublicKey|null);
+
+ /** CertificateDescription subjectKeyId */
+ subjectKeyId?: (google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription authorityKeyId */
+ authorityKeyId?: (google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription crlDistributionPoints */
+ crlDistributionPoints?: (string[]|null);
+
+ /** CertificateDescription aiaIssuingCertificateUrls */
+ aiaIssuingCertificateUrls?: (string[]|null);
+
+ /** CertificateDescription certFingerprint */
+ certFingerprint?: (google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint|null);
+ }
+
+ /** Represents a CertificateDescription. */
+ class CertificateDescription implements ICertificateDescription {
+
+ /**
+ * Constructs a new CertificateDescription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificateDescription);
+
+ /** CertificateDescription subjectDescription. */
+ public subjectDescription?: (google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription|null);
+
+ /** CertificateDescription x509Description. */
+ public x509Description?: (google.cloud.security.privateca.v1.IX509Parameters|null);
+
+ /** CertificateDescription publicKey. */
+ public publicKey?: (google.cloud.security.privateca.v1.IPublicKey|null);
+
+ /** CertificateDescription subjectKeyId. */
+ public subjectKeyId?: (google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription authorityKeyId. */
+ public authorityKeyId?: (google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription crlDistributionPoints. */
+ public crlDistributionPoints: string[];
+
+ /** CertificateDescription aiaIssuingCertificateUrls. */
+ public aiaIssuingCertificateUrls: string[];
+
+ /** CertificateDescription certFingerprint. */
+ public certFingerprint?: (google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint|null);
+
+ /**
+ * Creates a new CertificateDescription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateDescription instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificateDescription): google.cloud.security.privateca.v1.CertificateDescription;
+
+ /**
+ * Encodes the specified CertificateDescription message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.verify|verify} messages.
+ * @param message CertificateDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificateDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateDescription message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.verify|verify} messages.
+ * @param message CertificateDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificateDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateDescription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateDescription;
+
+ /**
+ * Decodes a CertificateDescription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateDescription;
+
+ /**
+ * Verifies a CertificateDescription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateDescription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateDescription
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateDescription;
+
+ /**
+ * Creates a plain object from a CertificateDescription message. Also converts values to other types if specified.
+ * @param message CertificateDescription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateDescription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateDescription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateDescription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateDescription {
+
+ /** Properties of a SubjectDescription. */
+ interface ISubjectDescription {
+
+ /** SubjectDescription subject */
+ subject?: (google.cloud.security.privateca.v1.ISubject|null);
+
+ /** SubjectDescription subjectAltName */
+ subjectAltName?: (google.cloud.security.privateca.v1.ISubjectAltNames|null);
+
+ /** SubjectDescription hexSerialNumber */
+ hexSerialNumber?: (string|null);
+
+ /** SubjectDescription lifetime */
+ lifetime?: (google.protobuf.IDuration|null);
+
+ /** SubjectDescription notBeforeTime */
+ notBeforeTime?: (google.protobuf.ITimestamp|null);
+
+ /** SubjectDescription notAfterTime */
+ notAfterTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a SubjectDescription. */
+ class SubjectDescription implements ISubjectDescription {
+
+ /**
+ * Constructs a new SubjectDescription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription);
+
+ /** SubjectDescription subject. */
+ public subject?: (google.cloud.security.privateca.v1.ISubject|null);
+
+ /** SubjectDescription subjectAltName. */
+ public subjectAltName?: (google.cloud.security.privateca.v1.ISubjectAltNames|null);
+
+ /** SubjectDescription hexSerialNumber. */
+ public hexSerialNumber: string;
+
+ /** SubjectDescription lifetime. */
+ public lifetime?: (google.protobuf.IDuration|null);
+
+ /** SubjectDescription notBeforeTime. */
+ public notBeforeTime?: (google.protobuf.ITimestamp|null);
+
+ /** SubjectDescription notAfterTime. */
+ public notAfterTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new SubjectDescription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubjectDescription instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription): google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Encodes the specified SubjectDescription message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.verify|verify} messages.
+ * @param message SubjectDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubjectDescription message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.verify|verify} messages.
+ * @param message SubjectDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubjectDescription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubjectDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Decodes a SubjectDescription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubjectDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Verifies a SubjectDescription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubjectDescription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubjectDescription
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Creates a plain object from a SubjectDescription message. Also converts values to other types if specified.
+ * @param message SubjectDescription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubjectDescription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubjectDescription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a KeyId. */
+ interface IKeyId {
+
+ /** KeyId keyId */
+ keyId?: (string|null);
+ }
+
+ /** Represents a KeyId. */
+ class KeyId implements IKeyId {
+
+ /**
+ * Constructs a new KeyId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CertificateDescription.IKeyId);
+
+ /** KeyId keyId. */
+ public keyId: string;
+
+ /**
+ * Creates a new KeyId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyId instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CertificateDescription.IKeyId): google.cloud.security.privateca.v1.CertificateDescription.KeyId;
+
+ /**
+ * Encodes the specified KeyId message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.KeyId.verify|verify} messages.
+ * @param message KeyId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CertificateDescription.IKeyId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyId message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.KeyId.verify|verify} messages.
+ * @param message KeyId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CertificateDescription.IKeyId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateDescription.KeyId;
+
+ /**
+ * Decodes a KeyId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateDescription.KeyId;
+
+ /**
+ * Verifies a KeyId message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyId
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateDescription.KeyId;
+
+ /**
+ * Creates a plain object from a KeyId message. Also converts values to other types if specified.
+ * @param message KeyId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateDescription.KeyId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyId
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CertificateFingerprint. */
+ interface ICertificateFingerprint {
+
+ /** CertificateFingerprint sha256Hash */
+ sha256Hash?: (string|null);
+ }
+
+ /** Represents a CertificateFingerprint. */
+ class CertificateFingerprint implements ICertificateFingerprint {
+
+ /**
+ * Constructs a new CertificateFingerprint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint);
+
+ /** CertificateFingerprint sha256Hash. */
+ public sha256Hash: string;
+
+ /**
+ * Creates a new CertificateFingerprint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateFingerprint instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint): google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Encodes the specified CertificateFingerprint message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.verify|verify} messages.
+ * @param message CertificateFingerprint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateFingerprint message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.verify|verify} messages.
+ * @param message CertificateFingerprint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateFingerprint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateFingerprint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Decodes a CertificateFingerprint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateFingerprint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Verifies a CertificateFingerprint message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateFingerprint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateFingerprint
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Creates a plain object from a CertificateFingerprint message. Also converts values to other types if specified.
+ * @param message CertificateFingerprint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateFingerprint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateFingerprint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ObjectId. */
+ interface IObjectId {
+
+ /** ObjectId objectIdPath */
+ objectIdPath?: (number[]|null);
+ }
+
+ /** Represents an ObjectId. */
+ class ObjectId implements IObjectId {
+
+ /**
+ * Constructs a new ObjectId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IObjectId);
+
+ /** ObjectId objectIdPath. */
+ public objectIdPath: number[];
+
+ /**
+ * Creates a new ObjectId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectId instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IObjectId): google.cloud.security.privateca.v1.ObjectId;
+
+ /**
+ * Encodes the specified ObjectId message. Does not implicitly {@link google.cloud.security.privateca.v1.ObjectId.verify|verify} messages.
+ * @param message ObjectId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IObjectId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectId message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ObjectId.verify|verify} messages.
+ * @param message ObjectId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IObjectId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ObjectId;
+
+ /**
+ * Decodes an ObjectId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ObjectId;
+
+ /**
+ * Verifies an ObjectId message.
+ * @param message Plain 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 ObjectId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectId
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ObjectId;
+
+ /**
+ * Creates a plain object from an ObjectId message. Also converts values to other types if specified.
+ * @param message ObjectId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ObjectId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectId
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a X509Extension. */
+ interface IX509Extension {
+
+ /** X509Extension objectId */
+ objectId?: (google.cloud.security.privateca.v1.IObjectId|null);
+
+ /** X509Extension critical */
+ critical?: (boolean|null);
+
+ /** X509Extension value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents a X509Extension. */
+ class X509Extension implements IX509Extension {
+
+ /**
+ * Constructs a new X509Extension.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IX509Extension);
+
+ /** X509Extension objectId. */
+ public objectId?: (google.cloud.security.privateca.v1.IObjectId|null);
+
+ /** X509Extension critical. */
+ public critical: boolean;
+
+ /** X509Extension value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new X509Extension instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns X509Extension instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IX509Extension): google.cloud.security.privateca.v1.X509Extension;
+
+ /**
+ * Encodes the specified X509Extension message. Does not implicitly {@link google.cloud.security.privateca.v1.X509Extension.verify|verify} messages.
+ * @param message X509Extension message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IX509Extension, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified X509Extension message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.X509Extension.verify|verify} messages.
+ * @param message X509Extension message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IX509Extension, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a X509Extension message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns X509Extension
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.X509Extension;
+
+ /**
+ * Decodes a X509Extension message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns X509Extension
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.X509Extension;
+
+ /**
+ * Verifies a X509Extension message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a X509Extension message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns X509Extension
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.X509Extension;
+
+ /**
+ * Creates a plain object from a X509Extension message. Also converts values to other types if specified.
+ * @param message X509Extension
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.X509Extension, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this X509Extension to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for X509Extension
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a KeyUsage. */
+ interface IKeyUsage {
+
+ /** KeyUsage baseKeyUsage */
+ baseKeyUsage?: (google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions|null);
+
+ /** KeyUsage extendedKeyUsage */
+ extendedKeyUsage?: (google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions|null);
+
+ /** KeyUsage unknownExtendedKeyUsages */
+ unknownExtendedKeyUsages?: (google.cloud.security.privateca.v1.IObjectId[]|null);
+ }
+
+ /** Represents a KeyUsage. */
+ class KeyUsage implements IKeyUsage {
+
+ /**
+ * Constructs a new KeyUsage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IKeyUsage);
+
+ /** KeyUsage baseKeyUsage. */
+ public baseKeyUsage?: (google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions|null);
+
+ /** KeyUsage extendedKeyUsage. */
+ public extendedKeyUsage?: (google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions|null);
+
+ /** KeyUsage unknownExtendedKeyUsages. */
+ public unknownExtendedKeyUsages: google.cloud.security.privateca.v1.IObjectId[];
+
+ /**
+ * Creates a new KeyUsage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyUsage instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IKeyUsage): google.cloud.security.privateca.v1.KeyUsage;
+
+ /**
+ * Encodes the specified KeyUsage message. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.verify|verify} messages.
+ * @param message KeyUsage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IKeyUsage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyUsage message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.verify|verify} messages.
+ * @param message KeyUsage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IKeyUsage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyUsage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyUsage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.KeyUsage;
+
+ /**
+ * Decodes a KeyUsage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyUsage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.KeyUsage;
+
+ /**
+ * Verifies a KeyUsage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyUsage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyUsage
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.KeyUsage;
+
+ /**
+ * Creates a plain object from a KeyUsage message. Also converts values to other types if specified.
+ * @param message KeyUsage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.KeyUsage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyUsage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyUsage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace KeyUsage {
+
+ /** Properties of a KeyUsageOptions. */
+ interface IKeyUsageOptions {
+
+ /** KeyUsageOptions digitalSignature */
+ digitalSignature?: (boolean|null);
+
+ /** KeyUsageOptions contentCommitment */
+ contentCommitment?: (boolean|null);
+
+ /** KeyUsageOptions keyEncipherment */
+ keyEncipherment?: (boolean|null);
+
+ /** KeyUsageOptions dataEncipherment */
+ dataEncipherment?: (boolean|null);
+
+ /** KeyUsageOptions keyAgreement */
+ keyAgreement?: (boolean|null);
+
+ /** KeyUsageOptions certSign */
+ certSign?: (boolean|null);
+
+ /** KeyUsageOptions crlSign */
+ crlSign?: (boolean|null);
+
+ /** KeyUsageOptions encipherOnly */
+ encipherOnly?: (boolean|null);
+
+ /** KeyUsageOptions decipherOnly */
+ decipherOnly?: (boolean|null);
+ }
+
+ /** Represents a KeyUsageOptions. */
+ class KeyUsageOptions implements IKeyUsageOptions {
+
+ /**
+ * Constructs a new KeyUsageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions);
+
+ /** KeyUsageOptions digitalSignature. */
+ public digitalSignature: boolean;
+
+ /** KeyUsageOptions contentCommitment. */
+ public contentCommitment: boolean;
+
+ /** KeyUsageOptions keyEncipherment. */
+ public keyEncipherment: boolean;
+
+ /** KeyUsageOptions dataEncipherment. */
+ public dataEncipherment: boolean;
+
+ /** KeyUsageOptions keyAgreement. */
+ public keyAgreement: boolean;
+
+ /** KeyUsageOptions certSign. */
+ public certSign: boolean;
+
+ /** KeyUsageOptions crlSign. */
+ public crlSign: boolean;
+
+ /** KeyUsageOptions encipherOnly. */
+ public encipherOnly: boolean;
+
+ /** KeyUsageOptions decipherOnly. */
+ public decipherOnly: boolean;
+
+ /**
+ * Creates a new KeyUsageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyUsageOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions): google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Encodes the specified KeyUsageOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.verify|verify} messages.
+ * @param message KeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyUsageOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.verify|verify} messages.
+ * @param message KeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyUsageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Decodes a KeyUsageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Verifies a KeyUsageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyUsageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyUsageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Creates a plain object from a KeyUsageOptions message. Also converts values to other types if specified.
+ * @param message KeyUsageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyUsageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyUsageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExtendedKeyUsageOptions. */
+ interface IExtendedKeyUsageOptions {
+
+ /** ExtendedKeyUsageOptions serverAuth */
+ serverAuth?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions clientAuth */
+ clientAuth?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions codeSigning */
+ codeSigning?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions emailProtection */
+ emailProtection?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions timeStamping */
+ timeStamping?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions ocspSigning */
+ ocspSigning?: (boolean|null);
+ }
+
+ /** Represents an ExtendedKeyUsageOptions. */
+ class ExtendedKeyUsageOptions implements IExtendedKeyUsageOptions {
+
+ /**
+ * Constructs a new ExtendedKeyUsageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions);
+
+ /** ExtendedKeyUsageOptions serverAuth. */
+ public serverAuth: boolean;
+
+ /** ExtendedKeyUsageOptions clientAuth. */
+ public clientAuth: boolean;
+
+ /** ExtendedKeyUsageOptions codeSigning. */
+ public codeSigning: boolean;
+
+ /** ExtendedKeyUsageOptions emailProtection. */
+ public emailProtection: boolean;
+
+ /** ExtendedKeyUsageOptions timeStamping. */
+ public timeStamping: boolean;
+
+ /** ExtendedKeyUsageOptions ocspSigning. */
+ public ocspSigning: boolean;
+
+ /**
+ * Creates a new ExtendedKeyUsageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtendedKeyUsageOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions): google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Encodes the specified ExtendedKeyUsageOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.verify|verify} messages.
+ * @param message ExtendedKeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtendedKeyUsageOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.verify|verify} messages.
+ * @param message ExtendedKeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtendedKeyUsageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtendedKeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Decodes an ExtendedKeyUsageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtendedKeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Verifies an ExtendedKeyUsageOptions message.
+ * @param message Plain 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 ExtendedKeyUsageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtendedKeyUsageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Creates a plain object from an ExtendedKeyUsageOptions message. Also converts values to other types if specified.
+ * @param message ExtendedKeyUsageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtendedKeyUsageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtendedKeyUsageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Subject. */
+ interface ISubject {
+
+ /** Subject commonName */
+ commonName?: (string|null);
+
+ /** Subject countryCode */
+ countryCode?: (string|null);
+
+ /** Subject organization */
+ organization?: (string|null);
+
+ /** Subject organizationalUnit */
+ organizationalUnit?: (string|null);
+
+ /** Subject locality */
+ locality?: (string|null);
+
+ /** Subject province */
+ province?: (string|null);
+
+ /** Subject streetAddress */
+ streetAddress?: (string|null);
+
+ /** Subject postalCode */
+ postalCode?: (string|null);
+ }
+
+ /** Represents a Subject. */
+ class Subject implements ISubject {
+
+ /**
+ * Constructs a new Subject.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ISubject);
+
+ /** Subject commonName. */
+ public commonName: string;
+
+ /** Subject countryCode. */
+ public countryCode: string;
+
+ /** Subject organization. */
+ public organization: string;
+
+ /** Subject organizationalUnit. */
+ public organizationalUnit: string;
+
+ /** Subject locality. */
+ public locality: string;
+
+ /** Subject province. */
+ public province: string;
+
+ /** Subject streetAddress. */
+ public streetAddress: string;
+
+ /** Subject postalCode. */
+ public postalCode: string;
+
+ /**
+ * Creates a new Subject instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Subject instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ISubject): google.cloud.security.privateca.v1.Subject;
+
+ /**
+ * Encodes the specified Subject message. Does not implicitly {@link google.cloud.security.privateca.v1.Subject.verify|verify} messages.
+ * @param message Subject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ISubject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Subject message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.Subject.verify|verify} messages.
+ * @param message Subject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ISubject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Subject message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Subject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.Subject;
+
+ /**
+ * Decodes a Subject message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Subject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.Subject;
+
+ /**
+ * Verifies a Subject message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Subject message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Subject
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.Subject;
+
+ /**
+ * Creates a plain object from a Subject message. Also converts values to other types if specified.
+ * @param message Subject
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.Subject, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Subject to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Subject
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SubjectAltNames. */
+ interface ISubjectAltNames {
+
+ /** SubjectAltNames dnsNames */
+ dnsNames?: (string[]|null);
+
+ /** SubjectAltNames uris */
+ uris?: (string[]|null);
+
+ /** SubjectAltNames emailAddresses */
+ emailAddresses?: (string[]|null);
+
+ /** SubjectAltNames ipAddresses */
+ ipAddresses?: (string[]|null);
+
+ /** SubjectAltNames customSans */
+ customSans?: (google.cloud.security.privateca.v1.IX509Extension[]|null);
+ }
+
+ /** Represents a SubjectAltNames. */
+ class SubjectAltNames implements ISubjectAltNames {
+
+ /**
+ * Constructs a new SubjectAltNames.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ISubjectAltNames);
+
+ /** SubjectAltNames dnsNames. */
+ public dnsNames: string[];
+
+ /** SubjectAltNames uris. */
+ public uris: string[];
+
+ /** SubjectAltNames emailAddresses. */
+ public emailAddresses: string[];
+
+ /** SubjectAltNames ipAddresses. */
+ public ipAddresses: string[];
+
+ /** SubjectAltNames customSans. */
+ public customSans: google.cloud.security.privateca.v1.IX509Extension[];
+
+ /**
+ * Creates a new SubjectAltNames instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubjectAltNames instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ISubjectAltNames): google.cloud.security.privateca.v1.SubjectAltNames;
+
+ /**
+ * Encodes the specified SubjectAltNames message. Does not implicitly {@link google.cloud.security.privateca.v1.SubjectAltNames.verify|verify} messages.
+ * @param message SubjectAltNames message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ISubjectAltNames, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubjectAltNames message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.SubjectAltNames.verify|verify} messages.
+ * @param message SubjectAltNames message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ISubjectAltNames, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubjectAltNames message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.SubjectAltNames;
+
+ /**
+ * Decodes a SubjectAltNames message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.SubjectAltNames;
+
+ /**
+ * Verifies a SubjectAltNames message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubjectAltNames message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubjectAltNames
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.SubjectAltNames;
+
+ /**
+ * Creates a plain object from a SubjectAltNames message. Also converts values to other types if specified.
+ * @param message SubjectAltNames
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.SubjectAltNames, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubjectAltNames to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubjectAltNames
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CertificateIdentityConstraints. */
+ interface ICertificateIdentityConstraints {
+
+ /** CertificateIdentityConstraints celExpression */
+ celExpression?: (google.type.IExpr|null);
+
+ /** CertificateIdentityConstraints allowSubjectPassthrough */
+ allowSubjectPassthrough?: (boolean|null);
+
+ /** CertificateIdentityConstraints allowSubjectAltNamesPassthrough */
+ allowSubjectAltNamesPassthrough?: (boolean|null);
+ }
+
+ /** Represents a CertificateIdentityConstraints. */
+ class CertificateIdentityConstraints implements ICertificateIdentityConstraints {
+
+ /**
+ * Constructs a new CertificateIdentityConstraints.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificateIdentityConstraints);
+
+ /** CertificateIdentityConstraints celExpression. */
+ public celExpression?: (google.type.IExpr|null);
+
+ /** CertificateIdentityConstraints allowSubjectPassthrough. */
+ public allowSubjectPassthrough?: (boolean|null);
+
+ /** CertificateIdentityConstraints allowSubjectAltNamesPassthrough. */
+ public allowSubjectAltNamesPassthrough?: (boolean|null);
+
+ /** CertificateIdentityConstraints _allowSubjectPassthrough. */
+ public _allowSubjectPassthrough?: "allowSubjectPassthrough";
+
+ /** CertificateIdentityConstraints _allowSubjectAltNamesPassthrough. */
+ public _allowSubjectAltNamesPassthrough?: "allowSubjectAltNamesPassthrough";
+
+ /**
+ * Creates a new CertificateIdentityConstraints instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateIdentityConstraints instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificateIdentityConstraints): google.cloud.security.privateca.v1.CertificateIdentityConstraints;
+
+ /**
+ * Encodes the specified CertificateIdentityConstraints message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateIdentityConstraints.verify|verify} messages.
+ * @param message CertificateIdentityConstraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificateIdentityConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateIdentityConstraints message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateIdentityConstraints.verify|verify} messages.
+ * @param message CertificateIdentityConstraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificateIdentityConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateIdentityConstraints message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateIdentityConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateIdentityConstraints;
+
+ /**
+ * Decodes a CertificateIdentityConstraints message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateIdentityConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateIdentityConstraints;
+
+ /**
+ * Verifies a CertificateIdentityConstraints message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateIdentityConstraints message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateIdentityConstraints
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateIdentityConstraints;
+
+ /**
+ * Creates a plain object from a CertificateIdentityConstraints message. Also converts values to other types if specified.
+ * @param message CertificateIdentityConstraints
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateIdentityConstraints, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateIdentityConstraints to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateIdentityConstraints
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CertificateExtensionConstraints. */
+ interface ICertificateExtensionConstraints {
+
+ /** CertificateExtensionConstraints knownExtensions */
+ knownExtensions?: (google.cloud.security.privateca.v1.CertificateExtensionConstraints.KnownCertificateExtension[]|null);
+
+ /** CertificateExtensionConstraints additionalExtensions */
+ additionalExtensions?: (google.cloud.security.privateca.v1.IObjectId[]|null);
+ }
+
+ /** Represents a CertificateExtensionConstraints. */
+ class CertificateExtensionConstraints implements ICertificateExtensionConstraints {
+
+ /**
+ * Constructs a new CertificateExtensionConstraints.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICertificateExtensionConstraints);
+
+ /** CertificateExtensionConstraints knownExtensions. */
+ public knownExtensions: google.cloud.security.privateca.v1.CertificateExtensionConstraints.KnownCertificateExtension[];
+
+ /** CertificateExtensionConstraints additionalExtensions. */
+ public additionalExtensions: google.cloud.security.privateca.v1.IObjectId[];
+
+ /**
+ * Creates a new CertificateExtensionConstraints instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateExtensionConstraints instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICertificateExtensionConstraints): google.cloud.security.privateca.v1.CertificateExtensionConstraints;
+
+ /**
+ * Encodes the specified CertificateExtensionConstraints message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateExtensionConstraints.verify|verify} messages.
+ * @param message CertificateExtensionConstraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICertificateExtensionConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateExtensionConstraints message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateExtensionConstraints.verify|verify} messages.
+ * @param message CertificateExtensionConstraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICertificateExtensionConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateExtensionConstraints message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateExtensionConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CertificateExtensionConstraints;
+
+ /**
+ * Decodes a CertificateExtensionConstraints message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateExtensionConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CertificateExtensionConstraints;
+
+ /**
+ * Verifies a CertificateExtensionConstraints message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateExtensionConstraints message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateExtensionConstraints
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CertificateExtensionConstraints;
+
+ /**
+ * Creates a plain object from a CertificateExtensionConstraints message. Also converts values to other types if specified.
+ * @param message CertificateExtensionConstraints
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CertificateExtensionConstraints, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateExtensionConstraints to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateExtensionConstraints
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateExtensionConstraints {
+
+ /** KnownCertificateExtension enum. */
+ enum KnownCertificateExtension {
+ KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED = 0,
+ BASE_KEY_USAGE = 1,
+ EXTENDED_KEY_USAGE = 2,
+ CA_OPTIONS = 3,
+ POLICY_IDS = 4,
+ AIA_OCSP_SERVERS = 5
+ }
+ }
+
+ /** RevocationReason enum. */
+ enum RevocationReason {
+ REVOCATION_REASON_UNSPECIFIED = 0,
+ KEY_COMPROMISE = 1,
+ CERTIFICATE_AUTHORITY_COMPROMISE = 2,
+ AFFILIATION_CHANGED = 3,
+ SUPERSEDED = 4,
+ CESSATION_OF_OPERATION = 5,
+ CERTIFICATE_HOLD = 6,
+ PRIVILEGE_WITHDRAWN = 7,
+ ATTRIBUTE_AUTHORITY_COMPROMISE = 8
+ }
+
+ /** SubjectRequestMode enum. */
+ enum SubjectRequestMode {
+ SUBJECT_REQUEST_MODE_UNSPECIFIED = 0,
+ DEFAULT = 1,
+ REFLECTED_SPIFFE = 2
+ }
+
+ /** Represents a CertificateAuthorityService */
+ class CertificateAuthorityService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CertificateAuthorityService 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 CertificateAuthorityService 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): CertificateAuthorityService;
+
+ /**
+ * Calls CreateCertificate.
+ * @param request CreateCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public createCertificate(request: google.cloud.security.privateca.v1.ICreateCertificateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificateCallback): void;
+
+ /**
+ * Calls CreateCertificate.
+ * @param request CreateCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public createCertificate(request: google.cloud.security.privateca.v1.ICreateCertificateRequest): Promise;
+
+ /**
+ * Calls GetCertificate.
+ * @param request GetCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public getCertificate(request: google.cloud.security.privateca.v1.IGetCertificateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateCallback): void;
+
+ /**
+ * Calls GetCertificate.
+ * @param request GetCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public getCertificate(request: google.cloud.security.privateca.v1.IGetCertificateRequest): Promise;
+
+ /**
+ * Calls ListCertificates.
+ * @param request ListCertificatesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCertificatesResponse
+ */
+ public listCertificates(request: google.cloud.security.privateca.v1.IListCertificatesRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificatesCallback): void;
+
+ /**
+ * Calls ListCertificates.
+ * @param request ListCertificatesRequest message or plain object
+ * @returns Promise
+ */
+ public listCertificates(request: google.cloud.security.privateca.v1.IListCertificatesRequest): Promise;
+
+ /**
+ * Calls RevokeCertificate.
+ * @param request RevokeCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public revokeCertificate(request: google.cloud.security.privateca.v1.IRevokeCertificateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.RevokeCertificateCallback): void;
+
+ /**
+ * Calls RevokeCertificate.
+ * @param request RevokeCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public revokeCertificate(request: google.cloud.security.privateca.v1.IRevokeCertificateRequest): Promise;
+
+ /**
+ * Calls UpdateCertificate.
+ * @param request UpdateCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public updateCertificate(request: google.cloud.security.privateca.v1.IUpdateCertificateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateCallback): void;
+
+ /**
+ * Calls UpdateCertificate.
+ * @param request UpdateCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public updateCertificate(request: google.cloud.security.privateca.v1.IUpdateCertificateRequest): Promise;
+
+ /**
+ * Calls ActivateCertificateAuthority.
+ * @param request ActivateCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public activateCertificateAuthority(request: google.cloud.security.privateca.v1.IActivateCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.ActivateCertificateAuthorityCallback): void;
+
+ /**
+ * Calls ActivateCertificateAuthority.
+ * @param request ActivateCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public activateCertificateAuthority(request: google.cloud.security.privateca.v1.IActivateCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls CreateCertificateAuthority.
+ * @param request CreateCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createCertificateAuthority(request: google.cloud.security.privateca.v1.ICreateCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificateAuthorityCallback): void;
+
+ /**
+ * Calls CreateCertificateAuthority.
+ * @param request CreateCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public createCertificateAuthority(request: google.cloud.security.privateca.v1.ICreateCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls DisableCertificateAuthority.
+ * @param request DisableCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public disableCertificateAuthority(request: google.cloud.security.privateca.v1.IDisableCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.DisableCertificateAuthorityCallback): void;
+
+ /**
+ * Calls DisableCertificateAuthority.
+ * @param request DisableCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public disableCertificateAuthority(request: google.cloud.security.privateca.v1.IDisableCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls EnableCertificateAuthority.
+ * @param request EnableCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public enableCertificateAuthority(request: google.cloud.security.privateca.v1.IEnableCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.EnableCertificateAuthorityCallback): void;
+
+ /**
+ * Calls EnableCertificateAuthority.
+ * @param request EnableCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public enableCertificateAuthority(request: google.cloud.security.privateca.v1.IEnableCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls FetchCertificateAuthorityCsr.
+ * @param request FetchCertificateAuthorityCsrRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and FetchCertificateAuthorityCsrResponse
+ */
+ public fetchCertificateAuthorityCsr(request: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCertificateAuthorityCsrCallback): void;
+
+ /**
+ * Calls FetchCertificateAuthorityCsr.
+ * @param request FetchCertificateAuthorityCsrRequest message or plain object
+ * @returns Promise
+ */
+ public fetchCertificateAuthorityCsr(request: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrRequest): Promise;
+
+ /**
+ * Calls GetCertificateAuthority.
+ * @param request GetCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CertificateAuthority
+ */
+ public getCertificateAuthority(request: google.cloud.security.privateca.v1.IGetCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateAuthorityCallback): void;
+
+ /**
+ * Calls GetCertificateAuthority.
+ * @param request GetCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public getCertificateAuthority(request: google.cloud.security.privateca.v1.IGetCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls ListCertificateAuthorities.
+ * @param request ListCertificateAuthoritiesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCertificateAuthoritiesResponse
+ */
+ public listCertificateAuthorities(request: google.cloud.security.privateca.v1.IListCertificateAuthoritiesRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateAuthoritiesCallback): void;
+
+ /**
+ * Calls ListCertificateAuthorities.
+ * @param request ListCertificateAuthoritiesRequest message or plain object
+ * @returns Promise
+ */
+ public listCertificateAuthorities(request: google.cloud.security.privateca.v1.IListCertificateAuthoritiesRequest): Promise;
+
+ /**
+ * Calls UndeleteCertificateAuthority.
+ * @param request UndeleteCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public undeleteCertificateAuthority(request: google.cloud.security.privateca.v1.IUndeleteCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.UndeleteCertificateAuthorityCallback): void;
+
+ /**
+ * Calls UndeleteCertificateAuthority.
+ * @param request UndeleteCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public undeleteCertificateAuthority(request: google.cloud.security.privateca.v1.IUndeleteCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls DeleteCertificateAuthority.
+ * @param request DeleteCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteCertificateAuthority(request: google.cloud.security.privateca.v1.IDeleteCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCertificateAuthorityCallback): void;
+
+ /**
+ * Calls DeleteCertificateAuthority.
+ * @param request DeleteCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public deleteCertificateAuthority(request: google.cloud.security.privateca.v1.IDeleteCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls UpdateCertificateAuthority.
+ * @param request UpdateCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateCertificateAuthority(request: google.cloud.security.privateca.v1.IUpdateCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateAuthorityCallback): void;
+
+ /**
+ * Calls UpdateCertificateAuthority.
+ * @param request UpdateCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public updateCertificateAuthority(request: google.cloud.security.privateca.v1.IUpdateCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls CreateCaPool.
+ * @param request CreateCaPoolRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createCaPool(request: google.cloud.security.privateca.v1.ICreateCaPoolRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCaPoolCallback): void;
+
+ /**
+ * Calls CreateCaPool.
+ * @param request CreateCaPoolRequest message or plain object
+ * @returns Promise
+ */
+ public createCaPool(request: google.cloud.security.privateca.v1.ICreateCaPoolRequest): Promise;
+
+ /**
+ * Calls UpdateCaPool.
+ * @param request UpdateCaPoolRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateCaPool(request: google.cloud.security.privateca.v1.IUpdateCaPoolRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCaPoolCallback): void;
+
+ /**
+ * Calls UpdateCaPool.
+ * @param request UpdateCaPoolRequest message or plain object
+ * @returns Promise
+ */
+ public updateCaPool(request: google.cloud.security.privateca.v1.IUpdateCaPoolRequest): Promise;
+
+ /**
+ * Calls GetCaPool.
+ * @param request GetCaPoolRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CaPool
+ */
+ public getCaPool(request: google.cloud.security.privateca.v1.IGetCaPoolRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.GetCaPoolCallback): void;
+
+ /**
+ * Calls GetCaPool.
+ * @param request GetCaPoolRequest message or plain object
+ * @returns Promise
+ */
+ public getCaPool(request: google.cloud.security.privateca.v1.IGetCaPoolRequest): Promise;
+
+ /**
+ * Calls ListCaPools.
+ * @param request ListCaPoolsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCaPoolsResponse
+ */
+ public listCaPools(request: google.cloud.security.privateca.v1.IListCaPoolsRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.ListCaPoolsCallback): void;
+
+ /**
+ * Calls ListCaPools.
+ * @param request ListCaPoolsRequest message or plain object
+ * @returns Promise
+ */
+ public listCaPools(request: google.cloud.security.privateca.v1.IListCaPoolsRequest): Promise;
+
+ /**
+ * Calls DeleteCaPool.
+ * @param request DeleteCaPoolRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteCaPool(request: google.cloud.security.privateca.v1.IDeleteCaPoolRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCaPoolCallback): void;
+
+ /**
+ * Calls DeleteCaPool.
+ * @param request DeleteCaPoolRequest message or plain object
+ * @returns Promise
+ */
+ public deleteCaPool(request: google.cloud.security.privateca.v1.IDeleteCaPoolRequest): Promise;
+
+ /**
+ * Calls FetchCaCerts.
+ * @param request FetchCaCertsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and FetchCaCertsResponse
+ */
+ public fetchCaCerts(request: google.cloud.security.privateca.v1.IFetchCaCertsRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.FetchCaCertsCallback): void;
+
+ /**
+ * Calls FetchCaCerts.
+ * @param request FetchCaCertsRequest message or plain object
+ * @returns Promise
+ */
+ public fetchCaCerts(request: google.cloud.security.privateca.v1.IFetchCaCertsRequest): Promise;
+
+ /**
+ * Calls GetCertificateRevocationList.
+ * @param request GetCertificateRevocationListRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CertificateRevocationList
+ */
+ public getCertificateRevocationList(request: google.cloud.security.privateca.v1.IGetCertificateRevocationListRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateRevocationListCallback): void;
+
+ /**
+ * Calls GetCertificateRevocationList.
+ * @param request GetCertificateRevocationListRequest message or plain object
+ * @returns Promise
+ */
+ public getCertificateRevocationList(request: google.cloud.security.privateca.v1.IGetCertificateRevocationListRequest): Promise;
+
+ /**
+ * Calls ListCertificateRevocationLists.
+ * @param request ListCertificateRevocationListsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCertificateRevocationListsResponse
+ */
+ public listCertificateRevocationLists(request: google.cloud.security.privateca.v1.IListCertificateRevocationListsRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateRevocationListsCallback): void;
+
+ /**
+ * Calls ListCertificateRevocationLists.
+ * @param request ListCertificateRevocationListsRequest message or plain object
+ * @returns Promise
+ */
+ public listCertificateRevocationLists(request: google.cloud.security.privateca.v1.IListCertificateRevocationListsRequest): Promise;
+
+ /**
+ * Calls UpdateCertificateRevocationList.
+ * @param request UpdateCertificateRevocationListRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateCertificateRevocationList(request: google.cloud.security.privateca.v1.IUpdateCertificateRevocationListRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateRevocationListCallback): void;
+
+ /**
+ * Calls UpdateCertificateRevocationList.
+ * @param request UpdateCertificateRevocationListRequest message or plain object
+ * @returns Promise
+ */
+ public updateCertificateRevocationList(request: google.cloud.security.privateca.v1.IUpdateCertificateRevocationListRequest): Promise;
+
+ /**
+ * Calls CreateCertificateTemplate.
+ * @param request CreateCertificateTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createCertificateTemplate(request: google.cloud.security.privateca.v1.ICreateCertificateTemplateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.CreateCertificateTemplateCallback): void;
+
+ /**
+ * Calls CreateCertificateTemplate.
+ * @param request CreateCertificateTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public createCertificateTemplate(request: google.cloud.security.privateca.v1.ICreateCertificateTemplateRequest): Promise;
+
+ /**
+ * Calls DeleteCertificateTemplate.
+ * @param request DeleteCertificateTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public deleteCertificateTemplate(request: google.cloud.security.privateca.v1.IDeleteCertificateTemplateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.DeleteCertificateTemplateCallback): void;
+
+ /**
+ * Calls DeleteCertificateTemplate.
+ * @param request DeleteCertificateTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public deleteCertificateTemplate(request: google.cloud.security.privateca.v1.IDeleteCertificateTemplateRequest): Promise;
+
+ /**
+ * Calls GetCertificateTemplate.
+ * @param request GetCertificateTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CertificateTemplate
+ */
+ public getCertificateTemplate(request: google.cloud.security.privateca.v1.IGetCertificateTemplateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.GetCertificateTemplateCallback): void;
+
+ /**
+ * Calls GetCertificateTemplate.
+ * @param request GetCertificateTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public getCertificateTemplate(request: google.cloud.security.privateca.v1.IGetCertificateTemplateRequest): Promise;
+
+ /**
+ * Calls ListCertificateTemplates.
+ * @param request ListCertificateTemplatesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCertificateTemplatesResponse
+ */
+ public listCertificateTemplates(request: google.cloud.security.privateca.v1.IListCertificateTemplatesRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.ListCertificateTemplatesCallback): void;
+
+ /**
+ * Calls ListCertificateTemplates.
+ * @param request ListCertificateTemplatesRequest message or plain object
+ * @returns Promise
+ */
+ public listCertificateTemplates(request: google.cloud.security.privateca.v1.IListCertificateTemplatesRequest): Promise;
+
+ /**
+ * Calls UpdateCertificateTemplate.
+ * @param request UpdateCertificateTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateCertificateTemplate(request: google.cloud.security.privateca.v1.IUpdateCertificateTemplateRequest, callback: google.cloud.security.privateca.v1.CertificateAuthorityService.UpdateCertificateTemplateCallback): void;
+
+ /**
+ * Calls UpdateCertificateTemplate.
+ * @param request UpdateCertificateTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public updateCertificateTemplate(request: google.cloud.security.privateca.v1.IUpdateCertificateTemplateRequest): Promise;
+ }
+
+ namespace CertificateAuthorityService {
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|createCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type CreateCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|getCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type GetCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|listCertificates}.
+ * @param error Error, if any
+ * @param [response] ListCertificatesResponse
+ */
+ type ListCertificatesCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.ListCertificatesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|revokeCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type RevokeCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|updateCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type UpdateCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|activateCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ActivateCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|createCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|disableCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DisableCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|enableCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type EnableCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|fetchCertificateAuthorityCsr}.
+ * @param error Error, if any
+ * @param [response] FetchCertificateAuthorityCsrResponse
+ */
+ type FetchCertificateAuthorityCsrCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|getCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] CertificateAuthority
+ */
+ type GetCertificateAuthorityCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.CertificateAuthority) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|listCertificateAuthorities}.
+ * @param error Error, if any
+ * @param [response] ListCertificateAuthoritiesResponse
+ */
+ type ListCertificateAuthoritiesCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|undeleteCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UndeleteCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|deleteCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|updateCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|createCaPool}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateCaPoolCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|updateCaPool}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateCaPoolCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|getCaPool}.
+ * @param error Error, if any
+ * @param [response] CaPool
+ */
+ type GetCaPoolCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.CaPool) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|listCaPools}.
+ * @param error Error, if any
+ * @param [response] ListCaPoolsResponse
+ */
+ type ListCaPoolsCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.ListCaPoolsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|deleteCaPool}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteCaPoolCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|fetchCaCerts}.
+ * @param error Error, if any
+ * @param [response] FetchCaCertsResponse
+ */
+ type FetchCaCertsCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.FetchCaCertsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|getCertificateRevocationList}.
+ * @param error Error, if any
+ * @param [response] CertificateRevocationList
+ */
+ type GetCertificateRevocationListCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.CertificateRevocationList) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|listCertificateRevocationLists}.
+ * @param error Error, if any
+ * @param [response] ListCertificateRevocationListsResponse
+ */
+ type ListCertificateRevocationListsCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|updateCertificateRevocationList}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateCertificateRevocationListCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|createCertificateTemplate}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateCertificateTemplateCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|deleteCertificateTemplate}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DeleteCertificateTemplateCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|getCertificateTemplate}.
+ * @param error Error, if any
+ * @param [response] CertificateTemplate
+ */
+ type GetCertificateTemplateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.CertificateTemplate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|listCertificateTemplates}.
+ * @param error Error, if any
+ * @param [response] ListCertificateTemplatesResponse
+ */
+ type ListCertificateTemplatesCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1.ListCertificateTemplatesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1.CertificateAuthorityService|updateCertificateTemplate}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateCertificateTemplateCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of a CreateCertificateRequest. */
+ interface ICreateCertificateRequest {
+
+ /** CreateCertificateRequest parent */
+ parent?: (string|null);
+
+ /** CreateCertificateRequest certificateId */
+ certificateId?: (string|null);
+
+ /** CreateCertificateRequest certificate */
+ certificate?: (google.cloud.security.privateca.v1.ICertificate|null);
+
+ /** CreateCertificateRequest requestId */
+ requestId?: (string|null);
+
+ /** CreateCertificateRequest validateOnly */
+ validateOnly?: (boolean|null);
+
+ /** CreateCertificateRequest issuingCertificateAuthorityId */
+ issuingCertificateAuthorityId?: (string|null);
+ }
+
+ /** Represents a CreateCertificateRequest. */
+ class CreateCertificateRequest implements ICreateCertificateRequest {
+
+ /**
+ * Constructs a new CreateCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICreateCertificateRequest);
+
+ /** CreateCertificateRequest parent. */
+ public parent: string;
+
+ /** CreateCertificateRequest certificateId. */
+ public certificateId: string;
+
+ /** CreateCertificateRequest certificate. */
+ public certificate?: (google.cloud.security.privateca.v1.ICertificate|null);
+
+ /** CreateCertificateRequest requestId. */
+ public requestId: string;
+
+ /** CreateCertificateRequest validateOnly. */
+ public validateOnly: boolean;
+
+ /** CreateCertificateRequest issuingCertificateAuthorityId. */
+ public issuingCertificateAuthorityId: string;
+
+ /**
+ * Creates a new CreateCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICreateCertificateRequest): google.cloud.security.privateca.v1.CreateCertificateRequest;
+
+ /**
+ * Encodes the specified CreateCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCertificateRequest.verify|verify} messages.
+ * @param message CreateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICreateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCertificateRequest.verify|verify} messages.
+ * @param message CreateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICreateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CreateCertificateRequest;
+
+ /**
+ * Decodes a CreateCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CreateCertificateRequest;
+
+ /**
+ * Verifies a CreateCertificateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CreateCertificateRequest;
+
+ /**
+ * Creates a plain object from a CreateCertificateRequest message. Also converts values to other types if specified.
+ * @param message CreateCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CreateCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCertificateRequest. */
+ interface IGetCertificateRequest {
+
+ /** GetCertificateRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCertificateRequest. */
+ class GetCertificateRequest implements IGetCertificateRequest {
+
+ /**
+ * Constructs a new GetCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IGetCertificateRequest);
+
+ /** GetCertificateRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IGetCertificateRequest): google.cloud.security.privateca.v1.GetCertificateRequest;
+
+ /**
+ * Encodes the specified GetCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateRequest.verify|verify} messages.
+ * @param message GetCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IGetCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateRequest.verify|verify} messages.
+ * @param message GetCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IGetCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.GetCertificateRequest;
+
+ /**
+ * Decodes a GetCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.GetCertificateRequest;
+
+ /**
+ * Verifies a GetCertificateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.GetCertificateRequest;
+
+ /**
+ * Creates a plain object from a GetCertificateRequest message. Also converts values to other types if specified.
+ * @param message GetCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.GetCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificatesRequest. */
+ interface IListCertificatesRequest {
+
+ /** ListCertificatesRequest parent */
+ parent?: (string|null);
+
+ /** ListCertificatesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCertificatesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCertificatesRequest filter */
+ filter?: (string|null);
+
+ /** ListCertificatesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCertificatesRequest. */
+ class ListCertificatesRequest implements IListCertificatesRequest {
+
+ /**
+ * Constructs a new ListCertificatesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificatesRequest);
+
+ /** ListCertificatesRequest parent. */
+ public parent: string;
+
+ /** ListCertificatesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCertificatesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCertificatesRequest filter. */
+ public filter: string;
+
+ /** ListCertificatesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCertificatesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificatesRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificatesRequest): google.cloud.security.privateca.v1.ListCertificatesRequest;
+
+ /**
+ * Encodes the specified ListCertificatesRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificatesRequest.verify|verify} messages.
+ * @param message ListCertificatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificatesRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificatesRequest.verify|verify} messages.
+ * @param message ListCertificatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificatesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificatesRequest;
+
+ /**
+ * Decodes a ListCertificatesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificatesRequest;
+
+ /**
+ * Verifies a ListCertificatesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificatesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificatesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificatesRequest;
+
+ /**
+ * Creates a plain object from a ListCertificatesRequest message. Also converts values to other types if specified.
+ * @param message ListCertificatesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificatesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificatesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificatesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificatesResponse. */
+ interface IListCertificatesResponse {
+
+ /** ListCertificatesResponse certificates */
+ certificates?: (google.cloud.security.privateca.v1.ICertificate[]|null);
+
+ /** ListCertificatesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCertificatesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCertificatesResponse. */
+ class ListCertificatesResponse implements IListCertificatesResponse {
+
+ /**
+ * Constructs a new ListCertificatesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificatesResponse);
+
+ /** ListCertificatesResponse certificates. */
+ public certificates: google.cloud.security.privateca.v1.ICertificate[];
+
+ /** ListCertificatesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCertificatesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCertificatesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificatesResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificatesResponse): google.cloud.security.privateca.v1.ListCertificatesResponse;
+
+ /**
+ * Encodes the specified ListCertificatesResponse message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificatesResponse.verify|verify} messages.
+ * @param message ListCertificatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificatesResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificatesResponse.verify|verify} messages.
+ * @param message ListCertificatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificatesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificatesResponse;
+
+ /**
+ * Decodes a ListCertificatesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificatesResponse;
+
+ /**
+ * Verifies a ListCertificatesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificatesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificatesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificatesResponse;
+
+ /**
+ * Creates a plain object from a ListCertificatesResponse message. Also converts values to other types if specified.
+ * @param message ListCertificatesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificatesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificatesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificatesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RevokeCertificateRequest. */
+ interface IRevokeCertificateRequest {
+
+ /** RevokeCertificateRequest name */
+ name?: (string|null);
+
+ /** RevokeCertificateRequest reason */
+ reason?: (google.cloud.security.privateca.v1.RevocationReason|keyof typeof google.cloud.security.privateca.v1.RevocationReason|null);
+
+ /** RevokeCertificateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a RevokeCertificateRequest. */
+ class RevokeCertificateRequest implements IRevokeCertificateRequest {
+
+ /**
+ * Constructs a new RevokeCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IRevokeCertificateRequest);
+
+ /** RevokeCertificateRequest name. */
+ public name: string;
+
+ /** RevokeCertificateRequest reason. */
+ public reason: (google.cloud.security.privateca.v1.RevocationReason|keyof typeof google.cloud.security.privateca.v1.RevocationReason);
+
+ /** RevokeCertificateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new RevokeCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RevokeCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IRevokeCertificateRequest): google.cloud.security.privateca.v1.RevokeCertificateRequest;
+
+ /**
+ * Encodes the specified RevokeCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.RevokeCertificateRequest.verify|verify} messages.
+ * @param message RevokeCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IRevokeCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RevokeCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.RevokeCertificateRequest.verify|verify} messages.
+ * @param message RevokeCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IRevokeCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RevokeCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RevokeCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.RevokeCertificateRequest;
+
+ /**
+ * Decodes a RevokeCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RevokeCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.RevokeCertificateRequest;
+
+ /**
+ * Verifies a RevokeCertificateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RevokeCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RevokeCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.RevokeCertificateRequest;
+
+ /**
+ * Creates a plain object from a RevokeCertificateRequest message. Also converts values to other types if specified.
+ * @param message RevokeCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.RevokeCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RevokeCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RevokeCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCertificateRequest. */
+ interface IUpdateCertificateRequest {
+
+ /** UpdateCertificateRequest certificate */
+ certificate?: (google.cloud.security.privateca.v1.ICertificate|null);
+
+ /** UpdateCertificateRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCertificateRequest. */
+ class UpdateCertificateRequest implements IUpdateCertificateRequest {
+
+ /**
+ * Constructs a new UpdateCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IUpdateCertificateRequest);
+
+ /** UpdateCertificateRequest certificate. */
+ public certificate?: (google.cloud.security.privateca.v1.ICertificate|null);
+
+ /** UpdateCertificateRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IUpdateCertificateRequest): google.cloud.security.privateca.v1.UpdateCertificateRequest;
+
+ /**
+ * Encodes the specified UpdateCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateRequest.verify|verify} messages.
+ * @param message UpdateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IUpdateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateRequest.verify|verify} messages.
+ * @param message UpdateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IUpdateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.UpdateCertificateRequest;
+
+ /**
+ * Decodes an UpdateCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.UpdateCertificateRequest;
+
+ /**
+ * Verifies an UpdateCertificateRequest message.
+ * @param message Plain 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 UpdateCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.UpdateCertificateRequest;
+
+ /**
+ * Creates a plain object from an UpdateCertificateRequest message. Also converts values to other types if specified.
+ * @param message UpdateCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.UpdateCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ActivateCertificateAuthorityRequest. */
+ interface IActivateCertificateAuthorityRequest {
+
+ /** ActivateCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** ActivateCertificateAuthorityRequest pemCaCertificate */
+ pemCaCertificate?: (string|null);
+
+ /** ActivateCertificateAuthorityRequest subordinateConfig */
+ subordinateConfig?: (google.cloud.security.privateca.v1.ISubordinateConfig|null);
+
+ /** ActivateCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an ActivateCertificateAuthorityRequest. */
+ class ActivateCertificateAuthorityRequest implements IActivateCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new ActivateCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IActivateCertificateAuthorityRequest);
+
+ /** ActivateCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** ActivateCertificateAuthorityRequest pemCaCertificate. */
+ public pemCaCertificate: string;
+
+ /** ActivateCertificateAuthorityRequest subordinateConfig. */
+ public subordinateConfig?: (google.cloud.security.privateca.v1.ISubordinateConfig|null);
+
+ /** ActivateCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ActivateCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ActivateCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IActivateCertificateAuthorityRequest): google.cloud.security.privateca.v1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified ActivateCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.ActivateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message ActivateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IActivateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ActivateCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ActivateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message ActivateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IActivateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ActivateCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ActivateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Decodes an ActivateCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ActivateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Verifies an ActivateCertificateAuthorityRequest message.
+ * @param message Plain 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 ActivateCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ActivateCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from an ActivateCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message ActivateCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ActivateCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ActivateCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ActivateCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateCertificateAuthorityRequest. */
+ interface ICreateCertificateAuthorityRequest {
+
+ /** CreateCertificateAuthorityRequest parent */
+ parent?: (string|null);
+
+ /** CreateCertificateAuthorityRequest certificateAuthorityId */
+ certificateAuthorityId?: (string|null);
+
+ /** CreateCertificateAuthorityRequest certificateAuthority */
+ certificateAuthority?: (google.cloud.security.privateca.v1.ICertificateAuthority|null);
+
+ /** CreateCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateCertificateAuthorityRequest. */
+ class CreateCertificateAuthorityRequest implements ICreateCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new CreateCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICreateCertificateAuthorityRequest);
+
+ /** CreateCertificateAuthorityRequest parent. */
+ public parent: string;
+
+ /** CreateCertificateAuthorityRequest certificateAuthorityId. */
+ public certificateAuthorityId: string;
+
+ /** CreateCertificateAuthorityRequest certificateAuthority. */
+ public certificateAuthority?: (google.cloud.security.privateca.v1.ICertificateAuthority|null);
+
+ /** CreateCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICreateCertificateAuthorityRequest): google.cloud.security.privateca.v1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified CreateCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message CreateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICreateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message CreateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICreateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Decodes a CreateCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Verifies a CreateCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a CreateCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message CreateCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CreateCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DisableCertificateAuthorityRequest. */
+ interface IDisableCertificateAuthorityRequest {
+
+ /** DisableCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** DisableCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DisableCertificateAuthorityRequest. */
+ class DisableCertificateAuthorityRequest implements IDisableCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new DisableCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IDisableCertificateAuthorityRequest);
+
+ /** DisableCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** DisableCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DisableCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DisableCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IDisableCertificateAuthorityRequest): google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified DisableCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message DisableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IDisableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DisableCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message DisableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IDisableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DisableCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DisableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Decodes a DisableCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DisableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Verifies a DisableCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DisableCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DisableCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a DisableCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message DisableCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.DisableCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DisableCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DisableCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnableCertificateAuthorityRequest. */
+ interface IEnableCertificateAuthorityRequest {
+
+ /** EnableCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** EnableCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an EnableCertificateAuthorityRequest. */
+ class EnableCertificateAuthorityRequest implements IEnableCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new EnableCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IEnableCertificateAuthorityRequest);
+
+ /** EnableCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** EnableCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new EnableCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnableCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IEnableCertificateAuthorityRequest): google.cloud.security.privateca.v1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified EnableCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.EnableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message EnableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IEnableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnableCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.EnableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message EnableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IEnableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnableCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Decodes an EnableCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Verifies an EnableCertificateAuthorityRequest message.
+ * @param message Plain 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 EnableCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnableCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from an EnableCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message EnableCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.EnableCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnableCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnableCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchCertificateAuthorityCsrRequest. */
+ interface IFetchCertificateAuthorityCsrRequest {
+
+ /** FetchCertificateAuthorityCsrRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a FetchCertificateAuthorityCsrRequest. */
+ class FetchCertificateAuthorityCsrRequest implements IFetchCertificateAuthorityCsrRequest {
+
+ /**
+ * Constructs a new FetchCertificateAuthorityCsrRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrRequest);
+
+ /** FetchCertificateAuthorityCsrRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new FetchCertificateAuthorityCsrRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchCertificateAuthorityCsrRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrRequest): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrRequest.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrRequest.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchCertificateAuthorityCsrRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchCertificateAuthorityCsrRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Verifies a FetchCertificateAuthorityCsrRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchCertificateAuthorityCsrRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchCertificateAuthorityCsrRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Creates a plain object from a FetchCertificateAuthorityCsrRequest message. Also converts values to other types if specified.
+ * @param message FetchCertificateAuthorityCsrRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchCertificateAuthorityCsrRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchCertificateAuthorityCsrRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchCertificateAuthorityCsrResponse. */
+ interface IFetchCertificateAuthorityCsrResponse {
+
+ /** FetchCertificateAuthorityCsrResponse pemCsr */
+ pemCsr?: (string|null);
+ }
+
+ /** Represents a FetchCertificateAuthorityCsrResponse. */
+ class FetchCertificateAuthorityCsrResponse implements IFetchCertificateAuthorityCsrResponse {
+
+ /**
+ * Constructs a new FetchCertificateAuthorityCsrResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrResponse);
+
+ /** FetchCertificateAuthorityCsrResponse pemCsr. */
+ public pemCsr: string;
+
+ /**
+ * Creates a new FetchCertificateAuthorityCsrResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchCertificateAuthorityCsrResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrResponse): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrResponse message. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IFetchCertificateAuthorityCsrResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchCertificateAuthorityCsrResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchCertificateAuthorityCsrResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Verifies a FetchCertificateAuthorityCsrResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchCertificateAuthorityCsrResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchCertificateAuthorityCsrResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Creates a plain object from a FetchCertificateAuthorityCsrResponse message. Also converts values to other types if specified.
+ * @param message FetchCertificateAuthorityCsrResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.FetchCertificateAuthorityCsrResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchCertificateAuthorityCsrResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchCertificateAuthorityCsrResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCertificateAuthorityRequest. */
+ interface IGetCertificateAuthorityRequest {
+
+ /** GetCertificateAuthorityRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCertificateAuthorityRequest. */
+ class GetCertificateAuthorityRequest implements IGetCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new GetCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IGetCertificateAuthorityRequest);
+
+ /** GetCertificateAuthorityRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IGetCertificateAuthorityRequest): google.cloud.security.privateca.v1.GetCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified GetCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateAuthorityRequest.verify|verify} messages.
+ * @param message GetCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IGetCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateAuthorityRequest.verify|verify} messages.
+ * @param message GetCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IGetCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.GetCertificateAuthorityRequest;
+
+ /**
+ * Decodes a GetCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.GetCertificateAuthorityRequest;
+
+ /**
+ * Verifies a GetCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.GetCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a GetCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message GetCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.GetCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateAuthoritiesRequest. */
+ interface IListCertificateAuthoritiesRequest {
+
+ /** ListCertificateAuthoritiesRequest parent */
+ parent?: (string|null);
+
+ /** ListCertificateAuthoritiesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCertificateAuthoritiesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCertificateAuthoritiesRequest filter */
+ filter?: (string|null);
+
+ /** ListCertificateAuthoritiesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCertificateAuthoritiesRequest. */
+ class ListCertificateAuthoritiesRequest implements IListCertificateAuthoritiesRequest {
+
+ /**
+ * Constructs a new ListCertificateAuthoritiesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificateAuthoritiesRequest);
+
+ /** ListCertificateAuthoritiesRequest parent. */
+ public parent: string;
+
+ /** ListCertificateAuthoritiesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCertificateAuthoritiesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCertificateAuthoritiesRequest filter. */
+ public filter: string;
+
+ /** ListCertificateAuthoritiesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCertificateAuthoritiesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateAuthoritiesRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificateAuthoritiesRequest): google.cloud.security.privateca.v1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateAuthoritiesRequest.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificateAuthoritiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateAuthoritiesRequest.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificateAuthoritiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateAuthoritiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateAuthoritiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Verifies a ListCertificateAuthoritiesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateAuthoritiesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateAuthoritiesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Creates a plain object from a ListCertificateAuthoritiesRequest message. Also converts values to other types if specified.
+ * @param message ListCertificateAuthoritiesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificateAuthoritiesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateAuthoritiesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateAuthoritiesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateAuthoritiesResponse. */
+ interface IListCertificateAuthoritiesResponse {
+
+ /** ListCertificateAuthoritiesResponse certificateAuthorities */
+ certificateAuthorities?: (google.cloud.security.privateca.v1.ICertificateAuthority[]|null);
+
+ /** ListCertificateAuthoritiesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCertificateAuthoritiesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCertificateAuthoritiesResponse. */
+ class ListCertificateAuthoritiesResponse implements IListCertificateAuthoritiesResponse {
+
+ /**
+ * Constructs a new ListCertificateAuthoritiesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificateAuthoritiesResponse);
+
+ /** ListCertificateAuthoritiesResponse certificateAuthorities. */
+ public certificateAuthorities: google.cloud.security.privateca.v1.ICertificateAuthority[];
+
+ /** ListCertificateAuthoritiesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCertificateAuthoritiesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCertificateAuthoritiesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateAuthoritiesResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificateAuthoritiesResponse): google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesResponse message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificateAuthoritiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificateAuthoritiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateAuthoritiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateAuthoritiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Verifies a ListCertificateAuthoritiesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateAuthoritiesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateAuthoritiesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Creates a plain object from a ListCertificateAuthoritiesResponse message. Also converts values to other types if specified.
+ * @param message ListCertificateAuthoritiesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificateAuthoritiesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateAuthoritiesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateAuthoritiesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UndeleteCertificateAuthorityRequest. */
+ interface IUndeleteCertificateAuthorityRequest {
+
+ /** UndeleteCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** UndeleteCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UndeleteCertificateAuthorityRequest. */
+ class UndeleteCertificateAuthorityRequest implements IUndeleteCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new UndeleteCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IUndeleteCertificateAuthorityRequest);
+
+ /** UndeleteCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** UndeleteCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UndeleteCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UndeleteCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IUndeleteCertificateAuthorityRequest): google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified UndeleteCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest.verify|verify} messages.
+ * @param message UndeleteCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IUndeleteCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UndeleteCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest.verify|verify} messages.
+ * @param message UndeleteCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IUndeleteCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UndeleteCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UndeleteCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest;
+
+ /**
+ * Decodes an UndeleteCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UndeleteCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest;
+
+ /**
+ * Verifies an UndeleteCertificateAuthorityRequest message.
+ * @param message Plain 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 UndeleteCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UndeleteCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from an UndeleteCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message UndeleteCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.UndeleteCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UndeleteCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UndeleteCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteCertificateAuthorityRequest. */
+ interface IDeleteCertificateAuthorityRequest {
+
+ /** DeleteCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** DeleteCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+
+ /** DeleteCertificateAuthorityRequest ignoreActiveCertificates */
+ ignoreActiveCertificates?: (boolean|null);
+
+ /** DeleteCertificateAuthorityRequest skipGracePeriod */
+ skipGracePeriod?: (boolean|null);
+ }
+
+ /** Represents a DeleteCertificateAuthorityRequest. */
+ class DeleteCertificateAuthorityRequest implements IDeleteCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new DeleteCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IDeleteCertificateAuthorityRequest);
+
+ /** DeleteCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** DeleteCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /** DeleteCertificateAuthorityRequest ignoreActiveCertificates. */
+ public ignoreActiveCertificates: boolean;
+
+ /** DeleteCertificateAuthorityRequest skipGracePeriod. */
+ public skipGracePeriod: boolean;
+
+ /**
+ * Creates a new DeleteCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IDeleteCertificateAuthorityRequest): google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified DeleteCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest.verify|verify} messages.
+ * @param message DeleteCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IDeleteCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest.verify|verify} messages.
+ * @param message DeleteCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IDeleteCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest;
+
+ /**
+ * Decodes a DeleteCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest;
+
+ /**
+ * Verifies a DeleteCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a DeleteCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message DeleteCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.DeleteCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCertificateAuthorityRequest. */
+ interface IUpdateCertificateAuthorityRequest {
+
+ /** UpdateCertificateAuthorityRequest certificateAuthority */
+ certificateAuthority?: (google.cloud.security.privateca.v1.ICertificateAuthority|null);
+
+ /** UpdateCertificateAuthorityRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCertificateAuthorityRequest. */
+ class UpdateCertificateAuthorityRequest implements IUpdateCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new UpdateCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IUpdateCertificateAuthorityRequest);
+
+ /** UpdateCertificateAuthorityRequest certificateAuthority. */
+ public certificateAuthority?: (google.cloud.security.privateca.v1.ICertificateAuthority|null);
+
+ /** UpdateCertificateAuthorityRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IUpdateCertificateAuthorityRequest): google.cloud.security.privateca.v1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified UpdateCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message UpdateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IUpdateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message UpdateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IUpdateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Decodes an UpdateCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Verifies an UpdateCertificateAuthorityRequest message.
+ * @param message Plain 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 UpdateCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from an UpdateCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message UpdateCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.UpdateCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateCaPoolRequest. */
+ interface ICreateCaPoolRequest {
+
+ /** CreateCaPoolRequest parent */
+ parent?: (string|null);
+
+ /** CreateCaPoolRequest caPoolId */
+ caPoolId?: (string|null);
+
+ /** CreateCaPoolRequest caPool */
+ caPool?: (google.cloud.security.privateca.v1.ICaPool|null);
+
+ /** CreateCaPoolRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateCaPoolRequest. */
+ class CreateCaPoolRequest implements ICreateCaPoolRequest {
+
+ /**
+ * Constructs a new CreateCaPoolRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICreateCaPoolRequest);
+
+ /** CreateCaPoolRequest parent. */
+ public parent: string;
+
+ /** CreateCaPoolRequest caPoolId. */
+ public caPoolId: string;
+
+ /** CreateCaPoolRequest caPool. */
+ public caPool?: (google.cloud.security.privateca.v1.ICaPool|null);
+
+ /** CreateCaPoolRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateCaPoolRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCaPoolRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICreateCaPoolRequest): google.cloud.security.privateca.v1.CreateCaPoolRequest;
+
+ /**
+ * Encodes the specified CreateCaPoolRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCaPoolRequest.verify|verify} messages.
+ * @param message CreateCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICreateCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCaPoolRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCaPoolRequest.verify|verify} messages.
+ * @param message CreateCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICreateCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCaPoolRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CreateCaPoolRequest;
+
+ /**
+ * Decodes a CreateCaPoolRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CreateCaPoolRequest;
+
+ /**
+ * Verifies a CreateCaPoolRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCaPoolRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCaPoolRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CreateCaPoolRequest;
+
+ /**
+ * Creates a plain object from a CreateCaPoolRequest message. Also converts values to other types if specified.
+ * @param message CreateCaPoolRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CreateCaPoolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCaPoolRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCaPoolRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCaPoolRequest. */
+ interface IUpdateCaPoolRequest {
+
+ /** UpdateCaPoolRequest caPool */
+ caPool?: (google.cloud.security.privateca.v1.ICaPool|null);
+
+ /** UpdateCaPoolRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCaPoolRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCaPoolRequest. */
+ class UpdateCaPoolRequest implements IUpdateCaPoolRequest {
+
+ /**
+ * Constructs a new UpdateCaPoolRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IUpdateCaPoolRequest);
+
+ /** UpdateCaPoolRequest caPool. */
+ public caPool?: (google.cloud.security.privateca.v1.ICaPool|null);
+
+ /** UpdateCaPoolRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCaPoolRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCaPoolRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCaPoolRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IUpdateCaPoolRequest): google.cloud.security.privateca.v1.UpdateCaPoolRequest;
+
+ /**
+ * Encodes the specified UpdateCaPoolRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCaPoolRequest.verify|verify} messages.
+ * @param message UpdateCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IUpdateCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCaPoolRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCaPoolRequest.verify|verify} messages.
+ * @param message UpdateCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IUpdateCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCaPoolRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.UpdateCaPoolRequest;
+
+ /**
+ * Decodes an UpdateCaPoolRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.UpdateCaPoolRequest;
+
+ /**
+ * Verifies an UpdateCaPoolRequest message.
+ * @param message Plain 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 UpdateCaPoolRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCaPoolRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.UpdateCaPoolRequest;
+
+ /**
+ * Creates a plain object from an UpdateCaPoolRequest message. Also converts values to other types if specified.
+ * @param message UpdateCaPoolRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.UpdateCaPoolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCaPoolRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCaPoolRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteCaPoolRequest. */
+ interface IDeleteCaPoolRequest {
+
+ /** DeleteCaPoolRequest name */
+ name?: (string|null);
+
+ /** DeleteCaPoolRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteCaPoolRequest. */
+ class DeleteCaPoolRequest implements IDeleteCaPoolRequest {
+
+ /**
+ * Constructs a new DeleteCaPoolRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IDeleteCaPoolRequest);
+
+ /** DeleteCaPoolRequest name. */
+ public name: string;
+
+ /** DeleteCaPoolRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteCaPoolRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteCaPoolRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IDeleteCaPoolRequest): google.cloud.security.privateca.v1.DeleteCaPoolRequest;
+
+ /**
+ * Encodes the specified DeleteCaPoolRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.DeleteCaPoolRequest.verify|verify} messages.
+ * @param message DeleteCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IDeleteCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteCaPoolRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.DeleteCaPoolRequest.verify|verify} messages.
+ * @param message DeleteCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IDeleteCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteCaPoolRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.DeleteCaPoolRequest;
+
+ /**
+ * Decodes a DeleteCaPoolRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.DeleteCaPoolRequest;
+
+ /**
+ * Verifies a DeleteCaPoolRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteCaPoolRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteCaPoolRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.DeleteCaPoolRequest;
+
+ /**
+ * Creates a plain object from a DeleteCaPoolRequest message. Also converts values to other types if specified.
+ * @param message DeleteCaPoolRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.DeleteCaPoolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteCaPoolRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteCaPoolRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchCaCertsRequest. */
+ interface IFetchCaCertsRequest {
+
+ /** FetchCaCertsRequest caPool */
+ caPool?: (string|null);
+
+ /** FetchCaCertsRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a FetchCaCertsRequest. */
+ class FetchCaCertsRequest implements IFetchCaCertsRequest {
+
+ /**
+ * Constructs a new FetchCaCertsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IFetchCaCertsRequest);
+
+ /** FetchCaCertsRequest caPool. */
+ public caPool: string;
+
+ /** FetchCaCertsRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new FetchCaCertsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchCaCertsRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IFetchCaCertsRequest): google.cloud.security.privateca.v1.FetchCaCertsRequest;
+
+ /**
+ * Encodes the specified FetchCaCertsRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCaCertsRequest.verify|verify} messages.
+ * @param message FetchCaCertsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IFetchCaCertsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchCaCertsRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCaCertsRequest.verify|verify} messages.
+ * @param message FetchCaCertsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IFetchCaCertsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchCaCertsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchCaCertsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.FetchCaCertsRequest;
+
+ /**
+ * Decodes a FetchCaCertsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchCaCertsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.FetchCaCertsRequest;
+
+ /**
+ * Verifies a FetchCaCertsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchCaCertsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchCaCertsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.FetchCaCertsRequest;
+
+ /**
+ * Creates a plain object from a FetchCaCertsRequest message. Also converts values to other types if specified.
+ * @param message FetchCaCertsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.FetchCaCertsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchCaCertsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchCaCertsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchCaCertsResponse. */
+ interface IFetchCaCertsResponse {
+
+ /** FetchCaCertsResponse caCerts */
+ caCerts?: (google.cloud.security.privateca.v1.FetchCaCertsResponse.ICertChain[]|null);
+ }
+
+ /** Represents a FetchCaCertsResponse. */
+ class FetchCaCertsResponse implements IFetchCaCertsResponse {
+
+ /**
+ * Constructs a new FetchCaCertsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IFetchCaCertsResponse);
+
+ /** FetchCaCertsResponse caCerts. */
+ public caCerts: google.cloud.security.privateca.v1.FetchCaCertsResponse.ICertChain[];
+
+ /**
+ * Creates a new FetchCaCertsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchCaCertsResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IFetchCaCertsResponse): google.cloud.security.privateca.v1.FetchCaCertsResponse;
+
+ /**
+ * Encodes the specified FetchCaCertsResponse message. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCaCertsResponse.verify|verify} messages.
+ * @param message FetchCaCertsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IFetchCaCertsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchCaCertsResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCaCertsResponse.verify|verify} messages.
+ * @param message FetchCaCertsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IFetchCaCertsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchCaCertsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchCaCertsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.FetchCaCertsResponse;
+
+ /**
+ * Decodes a FetchCaCertsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchCaCertsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.FetchCaCertsResponse;
+
+ /**
+ * Verifies a FetchCaCertsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchCaCertsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchCaCertsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.FetchCaCertsResponse;
+
+ /**
+ * Creates a plain object from a FetchCaCertsResponse message. Also converts values to other types if specified.
+ * @param message FetchCaCertsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.FetchCaCertsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchCaCertsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchCaCertsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FetchCaCertsResponse {
+
+ /** Properties of a CertChain. */
+ interface ICertChain {
+
+ /** CertChain certificates */
+ certificates?: (string[]|null);
+ }
+
+ /** Represents a CertChain. */
+ class CertChain implements ICertChain {
+
+ /**
+ * Constructs a new CertChain.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.FetchCaCertsResponse.ICertChain);
+
+ /** CertChain certificates. */
+ public certificates: string[];
+
+ /**
+ * Creates a new CertChain instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertChain instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.FetchCaCertsResponse.ICertChain): google.cloud.security.privateca.v1.FetchCaCertsResponse.CertChain;
+
+ /**
+ * Encodes the specified CertChain message. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCaCertsResponse.CertChain.verify|verify} messages.
+ * @param message CertChain message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.FetchCaCertsResponse.ICertChain, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertChain message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.FetchCaCertsResponse.CertChain.verify|verify} messages.
+ * @param message CertChain message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.FetchCaCertsResponse.ICertChain, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertChain message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.FetchCaCertsResponse.CertChain;
+
+ /**
+ * Decodes a CertChain message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.FetchCaCertsResponse.CertChain;
+
+ /**
+ * Verifies a CertChain message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertChain message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertChain
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.FetchCaCertsResponse.CertChain;
+
+ /**
+ * Creates a plain object from a CertChain message. Also converts values to other types if specified.
+ * @param message CertChain
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.FetchCaCertsResponse.CertChain, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertChain to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertChain
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GetCaPoolRequest. */
+ interface IGetCaPoolRequest {
+
+ /** GetCaPoolRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCaPoolRequest. */
+ class GetCaPoolRequest implements IGetCaPoolRequest {
+
+ /**
+ * Constructs a new GetCaPoolRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IGetCaPoolRequest);
+
+ /** GetCaPoolRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCaPoolRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCaPoolRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IGetCaPoolRequest): google.cloud.security.privateca.v1.GetCaPoolRequest;
+
+ /**
+ * Encodes the specified GetCaPoolRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.GetCaPoolRequest.verify|verify} messages.
+ * @param message GetCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IGetCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCaPoolRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.GetCaPoolRequest.verify|verify} messages.
+ * @param message GetCaPoolRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IGetCaPoolRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCaPoolRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.GetCaPoolRequest;
+
+ /**
+ * Decodes a GetCaPoolRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCaPoolRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.GetCaPoolRequest;
+
+ /**
+ * Verifies a GetCaPoolRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCaPoolRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCaPoolRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.GetCaPoolRequest;
+
+ /**
+ * Creates a plain object from a GetCaPoolRequest message. Also converts values to other types if specified.
+ * @param message GetCaPoolRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.GetCaPoolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCaPoolRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCaPoolRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCaPoolsRequest. */
+ interface IListCaPoolsRequest {
+
+ /** ListCaPoolsRequest parent */
+ parent?: (string|null);
+
+ /** ListCaPoolsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCaPoolsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCaPoolsRequest filter */
+ filter?: (string|null);
+
+ /** ListCaPoolsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCaPoolsRequest. */
+ class ListCaPoolsRequest implements IListCaPoolsRequest {
+
+ /**
+ * Constructs a new ListCaPoolsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCaPoolsRequest);
+
+ /** ListCaPoolsRequest parent. */
+ public parent: string;
+
+ /** ListCaPoolsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCaPoolsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCaPoolsRequest filter. */
+ public filter: string;
+
+ /** ListCaPoolsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCaPoolsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCaPoolsRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCaPoolsRequest): google.cloud.security.privateca.v1.ListCaPoolsRequest;
+
+ /**
+ * Encodes the specified ListCaPoolsRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCaPoolsRequest.verify|verify} messages.
+ * @param message ListCaPoolsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCaPoolsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCaPoolsRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCaPoolsRequest.verify|verify} messages.
+ * @param message ListCaPoolsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCaPoolsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCaPoolsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCaPoolsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCaPoolsRequest;
+
+ /**
+ * Decodes a ListCaPoolsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCaPoolsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCaPoolsRequest;
+
+ /**
+ * Verifies a ListCaPoolsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCaPoolsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCaPoolsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCaPoolsRequest;
+
+ /**
+ * Creates a plain object from a ListCaPoolsRequest message. Also converts values to other types if specified.
+ * @param message ListCaPoolsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCaPoolsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCaPoolsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCaPoolsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCaPoolsResponse. */
+ interface IListCaPoolsResponse {
+
+ /** ListCaPoolsResponse caPools */
+ caPools?: (google.cloud.security.privateca.v1.ICaPool[]|null);
+
+ /** ListCaPoolsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCaPoolsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCaPoolsResponse. */
+ class ListCaPoolsResponse implements IListCaPoolsResponse {
+
+ /**
+ * Constructs a new ListCaPoolsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCaPoolsResponse);
+
+ /** ListCaPoolsResponse caPools. */
+ public caPools: google.cloud.security.privateca.v1.ICaPool[];
+
+ /** ListCaPoolsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCaPoolsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCaPoolsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCaPoolsResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCaPoolsResponse): google.cloud.security.privateca.v1.ListCaPoolsResponse;
+
+ /**
+ * Encodes the specified ListCaPoolsResponse message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCaPoolsResponse.verify|verify} messages.
+ * @param message ListCaPoolsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCaPoolsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCaPoolsResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCaPoolsResponse.verify|verify} messages.
+ * @param message ListCaPoolsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCaPoolsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCaPoolsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCaPoolsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCaPoolsResponse;
+
+ /**
+ * Decodes a ListCaPoolsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCaPoolsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCaPoolsResponse;
+
+ /**
+ * Verifies a ListCaPoolsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCaPoolsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCaPoolsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCaPoolsResponse;
+
+ /**
+ * Creates a plain object from a ListCaPoolsResponse message. Also converts values to other types if specified.
+ * @param message ListCaPoolsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCaPoolsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCaPoolsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCaPoolsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCertificateRevocationListRequest. */
+ interface IGetCertificateRevocationListRequest {
+
+ /** GetCertificateRevocationListRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCertificateRevocationListRequest. */
+ class GetCertificateRevocationListRequest implements IGetCertificateRevocationListRequest {
+
+ /**
+ * Constructs a new GetCertificateRevocationListRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IGetCertificateRevocationListRequest);
+
+ /** GetCertificateRevocationListRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCertificateRevocationListRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCertificateRevocationListRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IGetCertificateRevocationListRequest): google.cloud.security.privateca.v1.GetCertificateRevocationListRequest;
+
+ /**
+ * Encodes the specified GetCertificateRevocationListRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateRevocationListRequest.verify|verify} messages.
+ * @param message GetCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IGetCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCertificateRevocationListRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateRevocationListRequest.verify|verify} messages.
+ * @param message GetCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IGetCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCertificateRevocationListRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.GetCertificateRevocationListRequest;
+
+ /**
+ * Decodes a GetCertificateRevocationListRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.GetCertificateRevocationListRequest;
+
+ /**
+ * Verifies a GetCertificateRevocationListRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCertificateRevocationListRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCertificateRevocationListRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.GetCertificateRevocationListRequest;
+
+ /**
+ * Creates a plain object from a GetCertificateRevocationListRequest message. Also converts values to other types if specified.
+ * @param message GetCertificateRevocationListRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.GetCertificateRevocationListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCertificateRevocationListRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCertificateRevocationListRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateRevocationListsRequest. */
+ interface IListCertificateRevocationListsRequest {
+
+ /** ListCertificateRevocationListsRequest parent */
+ parent?: (string|null);
+
+ /** ListCertificateRevocationListsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCertificateRevocationListsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCertificateRevocationListsRequest filter */
+ filter?: (string|null);
+
+ /** ListCertificateRevocationListsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCertificateRevocationListsRequest. */
+ class ListCertificateRevocationListsRequest implements IListCertificateRevocationListsRequest {
+
+ /**
+ * Constructs a new ListCertificateRevocationListsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificateRevocationListsRequest);
+
+ /** ListCertificateRevocationListsRequest parent. */
+ public parent: string;
+
+ /** ListCertificateRevocationListsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCertificateRevocationListsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCertificateRevocationListsRequest filter. */
+ public filter: string;
+
+ /** ListCertificateRevocationListsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCertificateRevocationListsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateRevocationListsRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificateRevocationListsRequest): google.cloud.security.privateca.v1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateRevocationListsRequest.verify|verify} messages.
+ * @param message ListCertificateRevocationListsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificateRevocationListsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateRevocationListsRequest.verify|verify} messages.
+ * @param message ListCertificateRevocationListsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificateRevocationListsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateRevocationListsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateRevocationListsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Decodes a ListCertificateRevocationListsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateRevocationListsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Verifies a ListCertificateRevocationListsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateRevocationListsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateRevocationListsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Creates a plain object from a ListCertificateRevocationListsRequest message. Also converts values to other types if specified.
+ * @param message ListCertificateRevocationListsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificateRevocationListsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateRevocationListsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateRevocationListsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateRevocationListsResponse. */
+ interface IListCertificateRevocationListsResponse {
+
+ /** ListCertificateRevocationListsResponse certificateRevocationLists */
+ certificateRevocationLists?: (google.cloud.security.privateca.v1.ICertificateRevocationList[]|null);
+
+ /** ListCertificateRevocationListsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCertificateRevocationListsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCertificateRevocationListsResponse. */
+ class ListCertificateRevocationListsResponse implements IListCertificateRevocationListsResponse {
+
+ /**
+ * Constructs a new ListCertificateRevocationListsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificateRevocationListsResponse);
+
+ /** ListCertificateRevocationListsResponse certificateRevocationLists. */
+ public certificateRevocationLists: google.cloud.security.privateca.v1.ICertificateRevocationList[];
+
+ /** ListCertificateRevocationListsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCertificateRevocationListsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCertificateRevocationListsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateRevocationListsResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificateRevocationListsResponse): google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsResponse message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse.verify|verify} messages.
+ * @param message ListCertificateRevocationListsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificateRevocationListsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse.verify|verify} messages.
+ * @param message ListCertificateRevocationListsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificateRevocationListsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateRevocationListsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateRevocationListsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Decodes a ListCertificateRevocationListsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateRevocationListsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Verifies a ListCertificateRevocationListsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateRevocationListsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateRevocationListsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Creates a plain object from a ListCertificateRevocationListsResponse message. Also converts values to other types if specified.
+ * @param message ListCertificateRevocationListsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificateRevocationListsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateRevocationListsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateRevocationListsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCertificateRevocationListRequest. */
+ interface IUpdateCertificateRevocationListRequest {
+
+ /** UpdateCertificateRevocationListRequest certificateRevocationList */
+ certificateRevocationList?: (google.cloud.security.privateca.v1.ICertificateRevocationList|null);
+
+ /** UpdateCertificateRevocationListRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRevocationListRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCertificateRevocationListRequest. */
+ class UpdateCertificateRevocationListRequest implements IUpdateCertificateRevocationListRequest {
+
+ /**
+ * Constructs a new UpdateCertificateRevocationListRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IUpdateCertificateRevocationListRequest);
+
+ /** UpdateCertificateRevocationListRequest certificateRevocationList. */
+ public certificateRevocationList?: (google.cloud.security.privateca.v1.ICertificateRevocationList|null);
+
+ /** UpdateCertificateRevocationListRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRevocationListRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCertificateRevocationListRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCertificateRevocationListRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IUpdateCertificateRevocationListRequest): google.cloud.security.privateca.v1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Encodes the specified UpdateCertificateRevocationListRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateRevocationListRequest.verify|verify} messages.
+ * @param message UpdateCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IUpdateCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCertificateRevocationListRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateRevocationListRequest.verify|verify} messages.
+ * @param message UpdateCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IUpdateCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCertificateRevocationListRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Decodes an UpdateCertificateRevocationListRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Verifies an UpdateCertificateRevocationListRequest message.
+ * @param message Plain 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 UpdateCertificateRevocationListRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCertificateRevocationListRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Creates a plain object from an UpdateCertificateRevocationListRequest message. Also converts values to other types if specified.
+ * @param message UpdateCertificateRevocationListRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.UpdateCertificateRevocationListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCertificateRevocationListRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCertificateRevocationListRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateCertificateTemplateRequest. */
+ interface ICreateCertificateTemplateRequest {
+
+ /** CreateCertificateTemplateRequest parent */
+ parent?: (string|null);
+
+ /** CreateCertificateTemplateRequest certificateTemplateId */
+ certificateTemplateId?: (string|null);
+
+ /** CreateCertificateTemplateRequest certificateTemplate */
+ certificateTemplate?: (google.cloud.security.privateca.v1.ICertificateTemplate|null);
+
+ /** CreateCertificateTemplateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateCertificateTemplateRequest. */
+ class CreateCertificateTemplateRequest implements ICreateCertificateTemplateRequest {
+
+ /**
+ * Constructs a new CreateCertificateTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.ICreateCertificateTemplateRequest);
+
+ /** CreateCertificateTemplateRequest parent. */
+ public parent: string;
+
+ /** CreateCertificateTemplateRequest certificateTemplateId. */
+ public certificateTemplateId: string;
+
+ /** CreateCertificateTemplateRequest certificateTemplate. */
+ public certificateTemplate?: (google.cloud.security.privateca.v1.ICertificateTemplate|null);
+
+ /** CreateCertificateTemplateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateCertificateTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCertificateTemplateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.ICreateCertificateTemplateRequest): google.cloud.security.privateca.v1.CreateCertificateTemplateRequest;
+
+ /**
+ * Encodes the specified CreateCertificateTemplateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCertificateTemplateRequest.verify|verify} messages.
+ * @param message CreateCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.ICreateCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCertificateTemplateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CreateCertificateTemplateRequest.verify|verify} messages.
+ * @param message CreateCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.ICreateCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCertificateTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.CreateCertificateTemplateRequest;
+
+ /**
+ * Decodes a CreateCertificateTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.CreateCertificateTemplateRequest;
+
+ /**
+ * Verifies a CreateCertificateTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCertificateTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCertificateTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.CreateCertificateTemplateRequest;
+
+ /**
+ * Creates a plain object from a CreateCertificateTemplateRequest message. Also converts values to other types if specified.
+ * @param message CreateCertificateTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.CreateCertificateTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCertificateTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCertificateTemplateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteCertificateTemplateRequest. */
+ interface IDeleteCertificateTemplateRequest {
+
+ /** DeleteCertificateTemplateRequest name */
+ name?: (string|null);
+
+ /** DeleteCertificateTemplateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DeleteCertificateTemplateRequest. */
+ class DeleteCertificateTemplateRequest implements IDeleteCertificateTemplateRequest {
+
+ /**
+ * Constructs a new DeleteCertificateTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IDeleteCertificateTemplateRequest);
+
+ /** DeleteCertificateTemplateRequest name. */
+ public name: string;
+
+ /** DeleteCertificateTemplateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DeleteCertificateTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteCertificateTemplateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IDeleteCertificateTemplateRequest): google.cloud.security.privateca.v1.DeleteCertificateTemplateRequest;
+
+ /**
+ * Encodes the specified DeleteCertificateTemplateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.DeleteCertificateTemplateRequest.verify|verify} messages.
+ * @param message DeleteCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IDeleteCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteCertificateTemplateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.DeleteCertificateTemplateRequest.verify|verify} messages.
+ * @param message DeleteCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IDeleteCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteCertificateTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.DeleteCertificateTemplateRequest;
+
+ /**
+ * Decodes a DeleteCertificateTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.DeleteCertificateTemplateRequest;
+
+ /**
+ * Verifies a DeleteCertificateTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteCertificateTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteCertificateTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.DeleteCertificateTemplateRequest;
+
+ /**
+ * Creates a plain object from a DeleteCertificateTemplateRequest message. Also converts values to other types if specified.
+ * @param message DeleteCertificateTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.DeleteCertificateTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteCertificateTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteCertificateTemplateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCertificateTemplateRequest. */
+ interface IGetCertificateTemplateRequest {
+
+ /** GetCertificateTemplateRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCertificateTemplateRequest. */
+ class GetCertificateTemplateRequest implements IGetCertificateTemplateRequest {
+
+ /**
+ * Constructs a new GetCertificateTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IGetCertificateTemplateRequest);
+
+ /** GetCertificateTemplateRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCertificateTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCertificateTemplateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IGetCertificateTemplateRequest): google.cloud.security.privateca.v1.GetCertificateTemplateRequest;
+
+ /**
+ * Encodes the specified GetCertificateTemplateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateTemplateRequest.verify|verify} messages.
+ * @param message GetCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IGetCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCertificateTemplateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.GetCertificateTemplateRequest.verify|verify} messages.
+ * @param message GetCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IGetCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCertificateTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.GetCertificateTemplateRequest;
+
+ /**
+ * Decodes a GetCertificateTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.GetCertificateTemplateRequest;
+
+ /**
+ * Verifies a GetCertificateTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCertificateTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCertificateTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.GetCertificateTemplateRequest;
+
+ /**
+ * Creates a plain object from a GetCertificateTemplateRequest message. Also converts values to other types if specified.
+ * @param message GetCertificateTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.GetCertificateTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCertificateTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCertificateTemplateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateTemplatesRequest. */
+ interface IListCertificateTemplatesRequest {
+
+ /** ListCertificateTemplatesRequest parent */
+ parent?: (string|null);
+
+ /** ListCertificateTemplatesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCertificateTemplatesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCertificateTemplatesRequest filter */
+ filter?: (string|null);
+
+ /** ListCertificateTemplatesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCertificateTemplatesRequest. */
+ class ListCertificateTemplatesRequest implements IListCertificateTemplatesRequest {
+
+ /**
+ * Constructs a new ListCertificateTemplatesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificateTemplatesRequest);
+
+ /** ListCertificateTemplatesRequest parent. */
+ public parent: string;
+
+ /** ListCertificateTemplatesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCertificateTemplatesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCertificateTemplatesRequest filter. */
+ public filter: string;
+
+ /** ListCertificateTemplatesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCertificateTemplatesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateTemplatesRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificateTemplatesRequest): google.cloud.security.privateca.v1.ListCertificateTemplatesRequest;
+
+ /**
+ * Encodes the specified ListCertificateTemplatesRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateTemplatesRequest.verify|verify} messages.
+ * @param message ListCertificateTemplatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificateTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateTemplatesRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateTemplatesRequest.verify|verify} messages.
+ * @param message ListCertificateTemplatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificateTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateTemplatesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateTemplatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificateTemplatesRequest;
+
+ /**
+ * Decodes a ListCertificateTemplatesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateTemplatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificateTemplatesRequest;
+
+ /**
+ * Verifies a ListCertificateTemplatesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateTemplatesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateTemplatesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificateTemplatesRequest;
+
+ /**
+ * Creates a plain object from a ListCertificateTemplatesRequest message. Also converts values to other types if specified.
+ * @param message ListCertificateTemplatesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificateTemplatesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateTemplatesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateTemplatesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateTemplatesResponse. */
+ interface IListCertificateTemplatesResponse {
+
+ /** ListCertificateTemplatesResponse certificateTemplates */
+ certificateTemplates?: (google.cloud.security.privateca.v1.ICertificateTemplate[]|null);
+
+ /** ListCertificateTemplatesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCertificateTemplatesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCertificateTemplatesResponse. */
+ class ListCertificateTemplatesResponse implements IListCertificateTemplatesResponse {
+
+ /**
+ * Constructs a new ListCertificateTemplatesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IListCertificateTemplatesResponse);
+
+ /** ListCertificateTemplatesResponse certificateTemplates. */
+ public certificateTemplates: google.cloud.security.privateca.v1.ICertificateTemplate[];
+
+ /** ListCertificateTemplatesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCertificateTemplatesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCertificateTemplatesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateTemplatesResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IListCertificateTemplatesResponse): google.cloud.security.privateca.v1.ListCertificateTemplatesResponse;
+
+ /**
+ * Encodes the specified ListCertificateTemplatesResponse message. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateTemplatesResponse.verify|verify} messages.
+ * @param message ListCertificateTemplatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IListCertificateTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateTemplatesResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ListCertificateTemplatesResponse.verify|verify} messages.
+ * @param message ListCertificateTemplatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IListCertificateTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateTemplatesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateTemplatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.ListCertificateTemplatesResponse;
+
+ /**
+ * Decodes a ListCertificateTemplatesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateTemplatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.ListCertificateTemplatesResponse;
+
+ /**
+ * Verifies a ListCertificateTemplatesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateTemplatesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateTemplatesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.ListCertificateTemplatesResponse;
+
+ /**
+ * Creates a plain object from a ListCertificateTemplatesResponse message. Also converts values to other types if specified.
+ * @param message ListCertificateTemplatesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.ListCertificateTemplatesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateTemplatesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateTemplatesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCertificateTemplateRequest. */
+ interface IUpdateCertificateTemplateRequest {
+
+ /** UpdateCertificateTemplateRequest certificateTemplate */
+ certificateTemplate?: (google.cloud.security.privateca.v1.ICertificateTemplate|null);
+
+ /** UpdateCertificateTemplateRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateTemplateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCertificateTemplateRequest. */
+ class UpdateCertificateTemplateRequest implements IUpdateCertificateTemplateRequest {
+
+ /**
+ * Constructs a new UpdateCertificateTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IUpdateCertificateTemplateRequest);
+
+ /** UpdateCertificateTemplateRequest certificateTemplate. */
+ public certificateTemplate?: (google.cloud.security.privateca.v1.ICertificateTemplate|null);
+
+ /** UpdateCertificateTemplateRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateTemplateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCertificateTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCertificateTemplateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IUpdateCertificateTemplateRequest): google.cloud.security.privateca.v1.UpdateCertificateTemplateRequest;
+
+ /**
+ * Encodes the specified UpdateCertificateTemplateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateTemplateRequest.verify|verify} messages.
+ * @param message UpdateCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IUpdateCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCertificateTemplateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.UpdateCertificateTemplateRequest.verify|verify} messages.
+ * @param message UpdateCertificateTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IUpdateCertificateTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCertificateTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.UpdateCertificateTemplateRequest;
+
+ /**
+ * Decodes an UpdateCertificateTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCertificateTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.UpdateCertificateTemplateRequest;
+
+ /**
+ * Verifies an UpdateCertificateTemplateRequest message.
+ * @param message Plain 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 UpdateCertificateTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCertificateTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.UpdateCertificateTemplateRequest;
+
+ /**
+ * Creates a plain object from an UpdateCertificateTemplateRequest message. Also converts values to other types if specified.
+ * @param message UpdateCertificateTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.UpdateCertificateTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCertificateTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCertificateTemplateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationMetadata. */
+ interface IOperationMetadata {
+
+ /** OperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target */
+ target?: (string|null);
+
+ /** OperationMetadata verb */
+ verb?: (string|null);
+
+ /** OperationMetadata statusMessage */
+ statusMessage?: (string|null);
+
+ /** OperationMetadata requestedCancellation */
+ requestedCancellation?: (boolean|null);
+
+ /** OperationMetadata apiVersion */
+ apiVersion?: (string|null);
+ }
+
+ /** Represents an OperationMetadata. */
+ class OperationMetadata implements IOperationMetadata {
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1.IOperationMetadata);
+
+ /** OperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target. */
+ public target: string;
+
+ /** OperationMetadata verb. */
+ public verb: string;
+
+ /** OperationMetadata statusMessage. */
+ public statusMessage: string;
+
+ /** OperationMetadata requestedCancellation. */
+ public requestedCancellation: boolean;
+
+ /** OperationMetadata apiVersion. */
+ public apiVersion: string;
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationMetadata instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1.IOperationMetadata): google.cloud.security.privateca.v1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.security.privateca.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1.OperationMetadata;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1.OperationMetadata;
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1.OperationMetadata;
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @param message OperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace v1beta1. */
+ namespace v1beta1 {
+
+ /** Properties of a CertificateAuthority. */
+ interface ICertificateAuthority {
+
+ /** CertificateAuthority name */
+ name?: (string|null);
+
+ /** CertificateAuthority type */
+ type?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.Type|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.Type|null);
+
+ /** CertificateAuthority tier */
+ tier?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier|null);
+
+ /** CertificateAuthority config */
+ config?: (google.cloud.security.privateca.v1beta1.ICertificateConfig|null);
+
+ /** CertificateAuthority lifetime */
+ lifetime?: (google.protobuf.IDuration|null);
+
+ /** CertificateAuthority keySpec */
+ keySpec?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.IKeyVersionSpec|null);
+
+ /** CertificateAuthority certificatePolicy */
+ certificatePolicy?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.ICertificateAuthorityPolicy|null);
+
+ /** CertificateAuthority issuingOptions */
+ issuingOptions?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.IIssuingOptions|null);
+
+ /** CertificateAuthority subordinateConfig */
+ subordinateConfig?: (google.cloud.security.privateca.v1beta1.ISubordinateConfig|null);
+
+ /** CertificateAuthority state */
+ state?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.State|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.State|null);
+
+ /** CertificateAuthority pemCaCertificates */
+ pemCaCertificates?: (string[]|null);
+
+ /** CertificateAuthority caCertificateDescriptions */
+ caCertificateDescriptions?: (google.cloud.security.privateca.v1beta1.ICertificateDescription[]|null);
+
+ /** CertificateAuthority gcsBucket */
+ gcsBucket?: (string|null);
+
+ /** CertificateAuthority accessUrls */
+ accessUrls?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.IAccessUrls|null);
+
+ /** CertificateAuthority createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority deleteTime */
+ deleteTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a CertificateAuthority. */
+ class CertificateAuthority implements ICertificateAuthority {
+
+ /**
+ * Constructs a new CertificateAuthority.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ICertificateAuthority);
+
+ /** CertificateAuthority name. */
+ public name: string;
+
+ /** CertificateAuthority type. */
+ public type: (google.cloud.security.privateca.v1beta1.CertificateAuthority.Type|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.Type);
+
+ /** CertificateAuthority tier. */
+ public tier: (google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.Tier);
+
+ /** CertificateAuthority config. */
+ public config?: (google.cloud.security.privateca.v1beta1.ICertificateConfig|null);
+
+ /** CertificateAuthority lifetime. */
+ public lifetime?: (google.protobuf.IDuration|null);
+
+ /** CertificateAuthority keySpec. */
+ public keySpec?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.IKeyVersionSpec|null);
+
+ /** CertificateAuthority certificatePolicy. */
+ public certificatePolicy?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.ICertificateAuthorityPolicy|null);
+
+ /** CertificateAuthority issuingOptions. */
+ public issuingOptions?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.IIssuingOptions|null);
+
+ /** CertificateAuthority subordinateConfig. */
+ public subordinateConfig?: (google.cloud.security.privateca.v1beta1.ISubordinateConfig|null);
+
+ /** CertificateAuthority state. */
+ public state: (google.cloud.security.privateca.v1beta1.CertificateAuthority.State|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.State);
+
+ /** CertificateAuthority pemCaCertificates. */
+ public pemCaCertificates: string[];
+
+ /** CertificateAuthority caCertificateDescriptions. */
+ public caCertificateDescriptions: google.cloud.security.privateca.v1beta1.ICertificateDescription[];
+
+ /** CertificateAuthority gcsBucket. */
+ public gcsBucket: string;
+
+ /** CertificateAuthority accessUrls. */
+ public accessUrls?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.IAccessUrls|null);
+
+ /** CertificateAuthority createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority deleteTime. */
+ public deleteTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateAuthority labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new CertificateAuthority instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateAuthority instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ICertificateAuthority): google.cloud.security.privateca.v1beta1.CertificateAuthority;
+
+ /**
+ * Encodes the specified CertificateAuthority message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.verify|verify} messages.
+ * @param message CertificateAuthority message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ICertificateAuthority, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateAuthority message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.verify|verify} messages.
+ * @param message CertificateAuthority message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ICertificateAuthority, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateAuthority message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateAuthority
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority;
+
+ /**
+ * Decodes a CertificateAuthority message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateAuthority
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority;
+
+ /**
+ * Verifies a CertificateAuthority message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateAuthority message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateAuthority
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority;
+
+ /**
+ * Creates a plain object from a CertificateAuthority message. Also converts values to other types if specified.
+ * @param message CertificateAuthority
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateAuthority to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateAuthority
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateAuthority {
+
+ /** Properties of an IssuingOptions. */
+ interface IIssuingOptions {
+
+ /** IssuingOptions includeCaCertUrl */
+ includeCaCertUrl?: (boolean|null);
+
+ /** IssuingOptions includeCrlAccessUrl */
+ includeCrlAccessUrl?: (boolean|null);
+ }
+
+ /** Represents an IssuingOptions. */
+ class IssuingOptions implements IIssuingOptions {
+
+ /**
+ * Constructs a new IssuingOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.IIssuingOptions);
+
+ /** IssuingOptions includeCaCertUrl. */
+ public includeCaCertUrl: boolean;
+
+ /** IssuingOptions includeCrlAccessUrl. */
+ public includeCrlAccessUrl: boolean;
+
+ /**
+ * Creates a new IssuingOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IssuingOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.IIssuingOptions): google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions;
+
+ /**
+ * Encodes the specified IssuingOptions message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions.verify|verify} messages.
+ * @param message IssuingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.IIssuingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IssuingOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions.verify|verify} messages.
+ * @param message IssuingOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.IIssuingOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IssuingOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IssuingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions;
+
+ /**
+ * Decodes an IssuingOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IssuingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions;
+
+ /**
+ * Verifies an IssuingOptions message.
+ * @param message Plain 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 IssuingOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IssuingOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions;
+
+ /**
+ * Creates a plain object from an IssuingOptions message. Also converts values to other types if specified.
+ * @param message IssuingOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.IssuingOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IssuingOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IssuingOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CertificateAuthorityPolicy. */
+ interface ICertificateAuthorityPolicy {
+
+ /** CertificateAuthorityPolicy allowedConfigList */
+ allowedConfigList?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedConfigList|null);
+
+ /** CertificateAuthorityPolicy overwriteConfigValues */
+ overwriteConfigValues?: (google.cloud.security.privateca.v1beta1.IReusableConfigWrapper|null);
+
+ /** CertificateAuthorityPolicy allowedLocationsAndOrganizations */
+ allowedLocationsAndOrganizations?: (google.cloud.security.privateca.v1beta1.ISubject[]|null);
+
+ /** CertificateAuthorityPolicy allowedCommonNames */
+ allowedCommonNames?: (string[]|null);
+
+ /** CertificateAuthorityPolicy allowedSans */
+ allowedSans?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedSubjectAltNames|null);
+
+ /** CertificateAuthorityPolicy maximumLifetime */
+ maximumLifetime?: (google.protobuf.IDuration|null);
+
+ /** CertificateAuthorityPolicy allowedIssuanceModes */
+ allowedIssuanceModes?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IIssuanceModes|null);
+ }
+
+ /** Represents a CertificateAuthorityPolicy. */
+ class CertificateAuthorityPolicy implements ICertificateAuthorityPolicy {
+
+ /**
+ * Constructs a new CertificateAuthorityPolicy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.ICertificateAuthorityPolicy);
+
+ /** CertificateAuthorityPolicy allowedConfigList. */
+ public allowedConfigList?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedConfigList|null);
+
+ /** CertificateAuthorityPolicy overwriteConfigValues. */
+ public overwriteConfigValues?: (google.cloud.security.privateca.v1beta1.IReusableConfigWrapper|null);
+
+ /** CertificateAuthorityPolicy allowedLocationsAndOrganizations. */
+ public allowedLocationsAndOrganizations: google.cloud.security.privateca.v1beta1.ISubject[];
+
+ /** CertificateAuthorityPolicy allowedCommonNames. */
+ public allowedCommonNames: string[];
+
+ /** CertificateAuthorityPolicy allowedSans. */
+ public allowedSans?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedSubjectAltNames|null);
+
+ /** CertificateAuthorityPolicy maximumLifetime. */
+ public maximumLifetime?: (google.protobuf.IDuration|null);
+
+ /** CertificateAuthorityPolicy allowedIssuanceModes. */
+ public allowedIssuanceModes?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IIssuanceModes|null);
+
+ /** CertificateAuthorityPolicy configPolicy. */
+ public configPolicy?: ("allowedConfigList"|"overwriteConfigValues");
+
+ /**
+ * Creates a new CertificateAuthorityPolicy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateAuthorityPolicy instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.ICertificateAuthorityPolicy): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy;
+
+ /**
+ * Encodes the specified CertificateAuthorityPolicy message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.verify|verify} messages.
+ * @param message CertificateAuthorityPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.ICertificateAuthorityPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateAuthorityPolicy message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.verify|verify} messages.
+ * @param message CertificateAuthorityPolicy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.ICertificateAuthorityPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateAuthorityPolicy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateAuthorityPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy;
+
+ /**
+ * Decodes a CertificateAuthorityPolicy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateAuthorityPolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy;
+
+ /**
+ * Verifies a CertificateAuthorityPolicy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateAuthorityPolicy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateAuthorityPolicy
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy;
+
+ /**
+ * Creates a plain object from a CertificateAuthorityPolicy message. Also converts values to other types if specified.
+ * @param message CertificateAuthorityPolicy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateAuthorityPolicy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateAuthorityPolicy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateAuthorityPolicy {
+
+ /** Properties of an AllowedConfigList. */
+ interface IAllowedConfigList {
+
+ /** AllowedConfigList allowedConfigValues */
+ allowedConfigValues?: (google.cloud.security.privateca.v1beta1.IReusableConfigWrapper[]|null);
+ }
+
+ /** Represents an AllowedConfigList. */
+ class AllowedConfigList implements IAllowedConfigList {
+
+ /**
+ * Constructs a new AllowedConfigList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedConfigList);
+
+ /** AllowedConfigList allowedConfigValues. */
+ public allowedConfigValues: google.cloud.security.privateca.v1beta1.IReusableConfigWrapper[];
+
+ /**
+ * Creates a new AllowedConfigList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AllowedConfigList instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedConfigList): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList;
+
+ /**
+ * Encodes the specified AllowedConfigList message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList.verify|verify} messages.
+ * @param message AllowedConfigList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedConfigList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AllowedConfigList message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList.verify|verify} messages.
+ * @param message AllowedConfigList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedConfigList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AllowedConfigList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AllowedConfigList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList;
+
+ /**
+ * Decodes an AllowedConfigList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AllowedConfigList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList;
+
+ /**
+ * Verifies an AllowedConfigList message.
+ * @param message Plain 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 AllowedConfigList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AllowedConfigList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList;
+
+ /**
+ * Creates a plain object from an AllowedConfigList message. Also converts values to other types if specified.
+ * @param message AllowedConfigList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedConfigList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AllowedConfigList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AllowedConfigList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AllowedSubjectAltNames. */
+ interface IAllowedSubjectAltNames {
+
+ /** AllowedSubjectAltNames allowedDnsNames */
+ allowedDnsNames?: (string[]|null);
+
+ /** AllowedSubjectAltNames allowedUris */
+ allowedUris?: (string[]|null);
+
+ /** AllowedSubjectAltNames allowedEmailAddresses */
+ allowedEmailAddresses?: (string[]|null);
+
+ /** AllowedSubjectAltNames allowedIps */
+ allowedIps?: (string[]|null);
+
+ /** AllowedSubjectAltNames allowGlobbingDnsWildcards */
+ allowGlobbingDnsWildcards?: (boolean|null);
+
+ /** AllowedSubjectAltNames allowCustomSans */
+ allowCustomSans?: (boolean|null);
+ }
+
+ /** Represents an AllowedSubjectAltNames. */
+ class AllowedSubjectAltNames implements IAllowedSubjectAltNames {
+
+ /**
+ * Constructs a new AllowedSubjectAltNames.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedSubjectAltNames);
+
+ /** AllowedSubjectAltNames allowedDnsNames. */
+ public allowedDnsNames: string[];
+
+ /** AllowedSubjectAltNames allowedUris. */
+ public allowedUris: string[];
+
+ /** AllowedSubjectAltNames allowedEmailAddresses. */
+ public allowedEmailAddresses: string[];
+
+ /** AllowedSubjectAltNames allowedIps. */
+ public allowedIps: string[];
+
+ /** AllowedSubjectAltNames allowGlobbingDnsWildcards. */
+ public allowGlobbingDnsWildcards: boolean;
+
+ /** AllowedSubjectAltNames allowCustomSans. */
+ public allowCustomSans: boolean;
+
+ /**
+ * Creates a new AllowedSubjectAltNames instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AllowedSubjectAltNames instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedSubjectAltNames): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames;
+
+ /**
+ * Encodes the specified AllowedSubjectAltNames message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames.verify|verify} messages.
+ * @param message AllowedSubjectAltNames message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedSubjectAltNames, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AllowedSubjectAltNames message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames.verify|verify} messages.
+ * @param message AllowedSubjectAltNames message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IAllowedSubjectAltNames, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AllowedSubjectAltNames message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AllowedSubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames;
+
+ /**
+ * Decodes an AllowedSubjectAltNames message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AllowedSubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames;
+
+ /**
+ * Verifies an AllowedSubjectAltNames message.
+ * @param message Plain 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 AllowedSubjectAltNames message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AllowedSubjectAltNames
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames;
+
+ /**
+ * Creates a plain object from an AllowedSubjectAltNames message. Also converts values to other types if specified.
+ * @param message AllowedSubjectAltNames
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.AllowedSubjectAltNames, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AllowedSubjectAltNames to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AllowedSubjectAltNames
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an IssuanceModes. */
+ interface IIssuanceModes {
+
+ /** IssuanceModes allowCsrBasedIssuance */
+ allowCsrBasedIssuance?: (boolean|null);
+
+ /** IssuanceModes allowConfigBasedIssuance */
+ allowConfigBasedIssuance?: (boolean|null);
+ }
+
+ /** Represents an IssuanceModes. */
+ class IssuanceModes implements IIssuanceModes {
+
+ /**
+ * Constructs a new IssuanceModes.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IIssuanceModes);
+
+ /** IssuanceModes allowCsrBasedIssuance. */
+ public allowCsrBasedIssuance: boolean;
+
+ /** IssuanceModes allowConfigBasedIssuance. */
+ public allowConfigBasedIssuance: boolean;
+
+ /**
+ * Creates a new IssuanceModes instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns IssuanceModes instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IIssuanceModes): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes;
+
+ /**
+ * Encodes the specified IssuanceModes message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes.verify|verify} messages.
+ * @param message IssuanceModes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IIssuanceModes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified IssuanceModes message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes.verify|verify} messages.
+ * @param message IssuanceModes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IIssuanceModes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an IssuanceModes message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns IssuanceModes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes;
+
+ /**
+ * Decodes an IssuanceModes message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns IssuanceModes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes;
+
+ /**
+ * Verifies an IssuanceModes message.
+ * @param message Plain 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 IssuanceModes message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns IssuanceModes
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes;
+
+ /**
+ * Creates a plain object from an IssuanceModes message. Also converts values to other types if specified.
+ * @param message IssuanceModes
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.CertificateAuthorityPolicy.IssuanceModes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this IssuanceModes to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for IssuanceModes
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an AccessUrls. */
+ interface IAccessUrls {
+
+ /** AccessUrls caCertificateAccessUrl */
+ caCertificateAccessUrl?: (string|null);
+
+ /** AccessUrls crlAccessUrl */
+ crlAccessUrl?: (string|null);
+ }
+
+ /** Represents an AccessUrls. */
+ class AccessUrls implements IAccessUrls {
+
+ /**
+ * Constructs a new AccessUrls.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.IAccessUrls);
+
+ /** AccessUrls caCertificateAccessUrl. */
+ public caCertificateAccessUrl: string;
+
+ /** AccessUrls crlAccessUrl. */
+ public crlAccessUrl: string;
+
+ /**
+ * Creates a new AccessUrls instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AccessUrls instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.IAccessUrls): google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Encodes the specified AccessUrls message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls.verify|verify} messages.
+ * @param message AccessUrls message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.IAccessUrls, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AccessUrls message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls.verify|verify} messages.
+ * @param message AccessUrls message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.IAccessUrls, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AccessUrls message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AccessUrls
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Decodes an AccessUrls message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AccessUrls
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Verifies an AccessUrls message.
+ * @param message Plain 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 AccessUrls message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AccessUrls
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls;
+
+ /**
+ * Creates a plain object from an AccessUrls message. Also converts values to other types if specified.
+ * @param message AccessUrls
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.AccessUrls, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AccessUrls to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AccessUrls
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a KeyVersionSpec. */
+ interface IKeyVersionSpec {
+
+ /** KeyVersionSpec cloudKmsKeyVersion */
+ cloudKmsKeyVersion?: (string|null);
+
+ /** KeyVersionSpec algorithm */
+ algorithm?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.SignHashAlgorithm|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.SignHashAlgorithm|null);
+ }
+
+ /** Represents a KeyVersionSpec. */
+ class KeyVersionSpec implements IKeyVersionSpec {
+
+ /**
+ * Constructs a new KeyVersionSpec.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.IKeyVersionSpec);
+
+ /** KeyVersionSpec cloudKmsKeyVersion. */
+ public cloudKmsKeyVersion?: (string|null);
+
+ /** KeyVersionSpec algorithm. */
+ public algorithm?: (google.cloud.security.privateca.v1beta1.CertificateAuthority.SignHashAlgorithm|keyof typeof google.cloud.security.privateca.v1beta1.CertificateAuthority.SignHashAlgorithm|null);
+
+ /** KeyVersionSpec KeyVersion. */
+ public KeyVersion?: ("cloudKmsKeyVersion"|"algorithm");
+
+ /**
+ * Creates a new KeyVersionSpec instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyVersionSpec instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateAuthority.IKeyVersionSpec): google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Encodes the specified KeyVersionSpec message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec.verify|verify} messages.
+ * @param message KeyVersionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.IKeyVersionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyVersionSpec message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec.verify|verify} messages.
+ * @param message KeyVersionSpec message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.IKeyVersionSpec, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyVersionSpec message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyVersionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Decodes a KeyVersionSpec message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyVersionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Verifies a KeyVersionSpec message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyVersionSpec message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyVersionSpec
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec;
+
+ /**
+ * Creates a plain object from a KeyVersionSpec message. Also converts values to other types if specified.
+ * @param message KeyVersionSpec
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateAuthority.KeyVersionSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyVersionSpec to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyVersionSpec
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ SELF_SIGNED = 1,
+ SUBORDINATE = 2
+ }
+
+ /** Tier enum. */
+ enum Tier {
+ TIER_UNSPECIFIED = 0,
+ ENTERPRISE = 1,
+ DEVOPS = 2
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ENABLED = 1,
+ DISABLED = 2,
+ PENDING_ACTIVATION = 3,
+ PENDING_DELETION = 4
+ }
+
+ /** SignHashAlgorithm enum. */
+ enum SignHashAlgorithm {
+ SIGN_HASH_ALGORITHM_UNSPECIFIED = 0,
+ RSA_PSS_2048_SHA256 = 1,
+ RSA_PSS_3072_SHA256 = 2,
+ RSA_PSS_4096_SHA256 = 3,
+ RSA_PKCS1_2048_SHA256 = 6,
+ RSA_PKCS1_3072_SHA256 = 7,
+ RSA_PKCS1_4096_SHA256 = 8,
+ EC_P256_SHA256 = 4,
+ EC_P384_SHA384 = 5
+ }
+ }
+
+ /** Properties of a CertificateRevocationList. */
+ interface ICertificateRevocationList {
+
+ /** CertificateRevocationList name */
+ name?: (string|null);
+
+ /** CertificateRevocationList sequenceNumber */
+ sequenceNumber?: (number|Long|string|null);
+
+ /** CertificateRevocationList revokedCertificates */
+ revokedCertificates?: (google.cloud.security.privateca.v1beta1.CertificateRevocationList.IRevokedCertificate[]|null);
+
+ /** CertificateRevocationList pemCrl */
+ pemCrl?: (string|null);
+
+ /** CertificateRevocationList accessUrl */
+ accessUrl?: (string|null);
+
+ /** CertificateRevocationList state */
+ state?: (google.cloud.security.privateca.v1beta1.CertificateRevocationList.State|keyof typeof google.cloud.security.privateca.v1beta1.CertificateRevocationList.State|null);
+
+ /** CertificateRevocationList createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a CertificateRevocationList. */
+ class CertificateRevocationList implements ICertificateRevocationList {
+
+ /**
+ * Constructs a new CertificateRevocationList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ICertificateRevocationList);
+
+ /** CertificateRevocationList name. */
+ public name: string;
+
+ /** CertificateRevocationList sequenceNumber. */
+ public sequenceNumber: (number|Long|string);
+
+ /** CertificateRevocationList revokedCertificates. */
+ public revokedCertificates: google.cloud.security.privateca.v1beta1.CertificateRevocationList.IRevokedCertificate[];
+
+ /** CertificateRevocationList pemCrl. */
+ public pemCrl: string;
+
+ /** CertificateRevocationList accessUrl. */
+ public accessUrl: string;
+
+ /** CertificateRevocationList state. */
+ public state: (google.cloud.security.privateca.v1beta1.CertificateRevocationList.State|keyof typeof google.cloud.security.privateca.v1beta1.CertificateRevocationList.State);
+
+ /** CertificateRevocationList createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** CertificateRevocationList labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new CertificateRevocationList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateRevocationList instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ICertificateRevocationList): google.cloud.security.privateca.v1beta1.CertificateRevocationList;
+
+ /**
+ * Encodes the specified CertificateRevocationList message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateRevocationList.verify|verify} messages.
+ * @param message CertificateRevocationList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ICertificateRevocationList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateRevocationList message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateRevocationList.verify|verify} messages.
+ * @param message CertificateRevocationList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ICertificateRevocationList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateRevocationList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateRevocationList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateRevocationList;
+
+ /**
+ * Decodes a CertificateRevocationList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateRevocationList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateRevocationList;
+
+ /**
+ * Verifies a CertificateRevocationList message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateRevocationList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateRevocationList
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateRevocationList;
+
+ /**
+ * Creates a plain object from a CertificateRevocationList message. Also converts values to other types if specified.
+ * @param message CertificateRevocationList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateRevocationList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateRevocationList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateRevocationList
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateRevocationList {
+
+ /** Properties of a RevokedCertificate. */
+ interface IRevokedCertificate {
+
+ /** RevokedCertificate certificate */
+ certificate?: (string|null);
+
+ /** RevokedCertificate hexSerialNumber */
+ hexSerialNumber?: (string|null);
+
+ /** RevokedCertificate revocationReason */
+ revocationReason?: (google.cloud.security.privateca.v1beta1.RevocationReason|keyof typeof google.cloud.security.privateca.v1beta1.RevocationReason|null);
+ }
+
+ /** Represents a RevokedCertificate. */
+ class RevokedCertificate implements IRevokedCertificate {
+
+ /**
+ * Constructs a new RevokedCertificate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateRevocationList.IRevokedCertificate);
+
+ /** RevokedCertificate certificate. */
+ public certificate: string;
+
+ /** RevokedCertificate hexSerialNumber. */
+ public hexSerialNumber: string;
+
+ /** RevokedCertificate revocationReason. */
+ public revocationReason: (google.cloud.security.privateca.v1beta1.RevocationReason|keyof typeof google.cloud.security.privateca.v1beta1.RevocationReason);
+
+ /**
+ * Creates a new RevokedCertificate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RevokedCertificate instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateRevocationList.IRevokedCertificate): google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Encodes the specified RevokedCertificate message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate.verify|verify} messages.
+ * @param message RevokedCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateRevocationList.IRevokedCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RevokedCertificate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate.verify|verify} messages.
+ * @param message RevokedCertificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateRevocationList.IRevokedCertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RevokedCertificate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RevokedCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Decodes a RevokedCertificate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RevokedCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Verifies a RevokedCertificate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RevokedCertificate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RevokedCertificate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate;
+
+ /**
+ * Creates a plain object from a RevokedCertificate message. Also converts values to other types if specified.
+ * @param message RevokedCertificate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateRevocationList.RevokedCertificate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RevokedCertificate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RevokedCertificate
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ SUPERSEDED = 2
+ }
+ }
+
+ /** Properties of a Certificate. */
+ interface ICertificate {
+
+ /** Certificate name */
+ name?: (string|null);
+
+ /** Certificate pemCsr */
+ pemCsr?: (string|null);
+
+ /** Certificate config */
+ config?: (google.cloud.security.privateca.v1beta1.ICertificateConfig|null);
+
+ /** Certificate lifetime */
+ lifetime?: (google.protobuf.IDuration|null);
+
+ /** Certificate revocationDetails */
+ revocationDetails?: (google.cloud.security.privateca.v1beta1.Certificate.IRevocationDetails|null);
+
+ /** Certificate pemCertificate */
+ pemCertificate?: (string|null);
+
+ /** Certificate certificateDescription */
+ certificateDescription?: (google.cloud.security.privateca.v1beta1.ICertificateDescription|null);
+
+ /** Certificate pemCertificateChain */
+ pemCertificateChain?: (string[]|null);
+
+ /** Certificate createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Certificate. */
+ class Certificate implements ICertificate {
+
+ /**
+ * Constructs a new Certificate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ICertificate);
+
+ /** Certificate name. */
+ public name: string;
+
+ /** Certificate pemCsr. */
+ public pemCsr?: (string|null);
+
+ /** Certificate config. */
+ public config?: (google.cloud.security.privateca.v1beta1.ICertificateConfig|null);
+
+ /** Certificate lifetime. */
+ public lifetime?: (google.protobuf.IDuration|null);
+
+ /** Certificate revocationDetails. */
+ public revocationDetails?: (google.cloud.security.privateca.v1beta1.Certificate.IRevocationDetails|null);
+
+ /** Certificate pemCertificate. */
+ public pemCertificate: string;
+
+ /** Certificate certificateDescription. */
+ public certificateDescription?: (google.cloud.security.privateca.v1beta1.ICertificateDescription|null);
+
+ /** Certificate pemCertificateChain. */
+ public pemCertificateChain: string[];
+
+ /** Certificate createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Certificate labels. */
+ public labels: { [k: string]: string };
+
+ /** Certificate certificateConfig. */
+ public certificateConfig?: ("pemCsr"|"config");
+
+ /**
+ * Creates a new Certificate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Certificate instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ICertificate): google.cloud.security.privateca.v1beta1.Certificate;
+
+ /**
+ * Encodes the specified Certificate message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.Certificate.verify|verify} messages.
+ * @param message Certificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ICertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Certificate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.Certificate.verify|verify} messages.
+ * @param message Certificate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ICertificate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Certificate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Certificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.Certificate;
+
+ /**
+ * Decodes a Certificate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Certificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.Certificate;
+
+ /**
+ * Verifies a Certificate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Certificate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Certificate
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.Certificate;
+
+ /**
+ * Creates a plain object from a Certificate message. Also converts values to other types if specified.
+ * @param message Certificate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.Certificate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Certificate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Certificate
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Certificate {
+
+ /** Properties of a RevocationDetails. */
+ interface IRevocationDetails {
+
+ /** RevocationDetails revocationState */
+ revocationState?: (google.cloud.security.privateca.v1beta1.RevocationReason|keyof typeof google.cloud.security.privateca.v1beta1.RevocationReason|null);
+
+ /** RevocationDetails revocationTime */
+ revocationTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a RevocationDetails. */
+ class RevocationDetails implements IRevocationDetails {
+
+ /**
+ * Constructs a new RevocationDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.Certificate.IRevocationDetails);
+
+ /** RevocationDetails revocationState. */
+ public revocationState: (google.cloud.security.privateca.v1beta1.RevocationReason|keyof typeof google.cloud.security.privateca.v1beta1.RevocationReason);
+
+ /** RevocationDetails revocationTime. */
+ public revocationTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new RevocationDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RevocationDetails instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.Certificate.IRevocationDetails): google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails;
+
+ /**
+ * Encodes the specified RevocationDetails message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails.verify|verify} messages.
+ * @param message RevocationDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.Certificate.IRevocationDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RevocationDetails message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails.verify|verify} messages.
+ * @param message RevocationDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.Certificate.IRevocationDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RevocationDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RevocationDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails;
+
+ /**
+ * Decodes a RevocationDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RevocationDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails;
+
+ /**
+ * Verifies a RevocationDetails message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RevocationDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RevocationDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails;
+
+ /**
+ * Creates a plain object from a RevocationDetails message. Also converts values to other types if specified.
+ * @param message RevocationDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.Certificate.RevocationDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RevocationDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RevocationDetails
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a ReusableConfig. */
+ interface IReusableConfig {
+
+ /** ReusableConfig name */
+ name?: (string|null);
+
+ /** ReusableConfig values */
+ values?: (google.cloud.security.privateca.v1beta1.IReusableConfigValues|null);
+
+ /** ReusableConfig description */
+ description?: (string|null);
+
+ /** ReusableConfig createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ReusableConfig updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ReusableConfig labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a ReusableConfig. */
+ class ReusableConfig implements IReusableConfig {
+
+ /**
+ * Constructs a new ReusableConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IReusableConfig);
+
+ /** ReusableConfig name. */
+ public name: string;
+
+ /** ReusableConfig values. */
+ public values?: (google.cloud.security.privateca.v1beta1.IReusableConfigValues|null);
+
+ /** ReusableConfig description. */
+ public description: string;
+
+ /** ReusableConfig createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ReusableConfig updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ReusableConfig labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new ReusableConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReusableConfig instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IReusableConfig): google.cloud.security.privateca.v1beta1.ReusableConfig;
+
+ /**
+ * Encodes the specified ReusableConfig message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfig.verify|verify} messages.
+ * @param message ReusableConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IReusableConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReusableConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfig.verify|verify} messages.
+ * @param message ReusableConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IReusableConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReusableConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReusableConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ReusableConfig;
+
+ /**
+ * Decodes a ReusableConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReusableConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ReusableConfig;
+
+ /**
+ * Verifies a ReusableConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReusableConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReusableConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ReusableConfig;
+
+ /**
+ * Creates a plain object from a ReusableConfig message. Also converts values to other types if specified.
+ * @param message ReusableConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ReusableConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReusableConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReusableConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReusableConfigValues. */
+ interface IReusableConfigValues {
+
+ /** ReusableConfigValues keyUsage */
+ keyUsage?: (google.cloud.security.privateca.v1beta1.IKeyUsage|null);
+
+ /** ReusableConfigValues caOptions */
+ caOptions?: (google.cloud.security.privateca.v1beta1.ReusableConfigValues.ICaOptions|null);
+
+ /** ReusableConfigValues policyIds */
+ policyIds?: (google.cloud.security.privateca.v1beta1.IObjectId[]|null);
+
+ /** ReusableConfigValues aiaOcspServers */
+ aiaOcspServers?: (string[]|null);
+
+ /** ReusableConfigValues additionalExtensions */
+ additionalExtensions?: (google.cloud.security.privateca.v1beta1.IX509Extension[]|null);
+ }
+
+ /** Represents a ReusableConfigValues. */
+ class ReusableConfigValues implements IReusableConfigValues {
+
+ /**
+ * Constructs a new ReusableConfigValues.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IReusableConfigValues);
+
+ /** ReusableConfigValues keyUsage. */
+ public keyUsage?: (google.cloud.security.privateca.v1beta1.IKeyUsage|null);
+
+ /** ReusableConfigValues caOptions. */
+ public caOptions?: (google.cloud.security.privateca.v1beta1.ReusableConfigValues.ICaOptions|null);
+
+ /** ReusableConfigValues policyIds. */
+ public policyIds: google.cloud.security.privateca.v1beta1.IObjectId[];
+
+ /** ReusableConfigValues aiaOcspServers. */
+ public aiaOcspServers: string[];
+
+ /** ReusableConfigValues additionalExtensions. */
+ public additionalExtensions: google.cloud.security.privateca.v1beta1.IX509Extension[];
+
+ /**
+ * Creates a new ReusableConfigValues instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReusableConfigValues instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IReusableConfigValues): google.cloud.security.privateca.v1beta1.ReusableConfigValues;
+
+ /**
+ * Encodes the specified ReusableConfigValues message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfigValues.verify|verify} messages.
+ * @param message ReusableConfigValues message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IReusableConfigValues, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReusableConfigValues message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfigValues.verify|verify} messages.
+ * @param message ReusableConfigValues message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IReusableConfigValues, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReusableConfigValues message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReusableConfigValues
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ReusableConfigValues;
+
+ /**
+ * Decodes a ReusableConfigValues message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReusableConfigValues
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ReusableConfigValues;
+
+ /**
+ * Verifies a ReusableConfigValues message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReusableConfigValues message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReusableConfigValues
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ReusableConfigValues;
+
+ /**
+ * Creates a plain object from a ReusableConfigValues message. Also converts values to other types if specified.
+ * @param message ReusableConfigValues
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ReusableConfigValues, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReusableConfigValues to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReusableConfigValues
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ReusableConfigValues {
+
+ /** Properties of a CaOptions. */
+ interface ICaOptions {
+
+ /** CaOptions isCa */
+ isCa?: (google.protobuf.IBoolValue|null);
+
+ /** CaOptions maxIssuerPathLength */
+ maxIssuerPathLength?: (google.protobuf.IInt32Value|null);
+ }
+
+ /** Represents a CaOptions. */
+ class CaOptions implements ICaOptions {
+
+ /**
+ * Constructs a new CaOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ReusableConfigValues.ICaOptions);
+
+ /** CaOptions isCa. */
+ public isCa?: (google.protobuf.IBoolValue|null);
+
+ /** CaOptions maxIssuerPathLength. */
+ public maxIssuerPathLength?: (google.protobuf.IInt32Value|null);
+
+ /**
+ * Creates a new CaOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CaOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ReusableConfigValues.ICaOptions): google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions;
+
+ /**
+ * Encodes the specified CaOptions message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions.verify|verify} messages.
+ * @param message CaOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ReusableConfigValues.ICaOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CaOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions.verify|verify} messages.
+ * @param message CaOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ReusableConfigValues.ICaOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CaOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CaOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions;
+
+ /**
+ * Decodes a CaOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CaOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions;
+
+ /**
+ * Verifies a CaOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CaOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CaOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions;
+
+ /**
+ * Creates a plain object from a CaOptions message. Also converts values to other types if specified.
+ * @param message CaOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ReusableConfigValues.CaOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CaOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CaOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a ReusableConfigWrapper. */
+ interface IReusableConfigWrapper {
+
+ /** ReusableConfigWrapper reusableConfig */
+ reusableConfig?: (string|null);
+
+ /** ReusableConfigWrapper reusableConfigValues */
+ reusableConfigValues?: (google.cloud.security.privateca.v1beta1.IReusableConfigValues|null);
+ }
+
+ /** Represents a ReusableConfigWrapper. */
+ class ReusableConfigWrapper implements IReusableConfigWrapper {
+
+ /**
+ * Constructs a new ReusableConfigWrapper.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IReusableConfigWrapper);
+
+ /** ReusableConfigWrapper reusableConfig. */
+ public reusableConfig?: (string|null);
+
+ /** ReusableConfigWrapper reusableConfigValues. */
+ public reusableConfigValues?: (google.cloud.security.privateca.v1beta1.IReusableConfigValues|null);
+
+ /** ReusableConfigWrapper configValues. */
+ public configValues?: ("reusableConfig"|"reusableConfigValues");
+
+ /**
+ * Creates a new ReusableConfigWrapper instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReusableConfigWrapper instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IReusableConfigWrapper): google.cloud.security.privateca.v1beta1.ReusableConfigWrapper;
+
+ /**
+ * Encodes the specified ReusableConfigWrapper message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfigWrapper.verify|verify} messages.
+ * @param message ReusableConfigWrapper message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IReusableConfigWrapper, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReusableConfigWrapper message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ReusableConfigWrapper.verify|verify} messages.
+ * @param message ReusableConfigWrapper message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IReusableConfigWrapper, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReusableConfigWrapper message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReusableConfigWrapper
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ReusableConfigWrapper;
+
+ /**
+ * Decodes a ReusableConfigWrapper message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReusableConfigWrapper
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ReusableConfigWrapper;
+
+ /**
+ * Verifies a ReusableConfigWrapper message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReusableConfigWrapper message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReusableConfigWrapper
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ReusableConfigWrapper;
+
+ /**
+ * Creates a plain object from a ReusableConfigWrapper message. Also converts values to other types if specified.
+ * @param message ReusableConfigWrapper
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ReusableConfigWrapper, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReusableConfigWrapper to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReusableConfigWrapper
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SubordinateConfig. */
+ interface ISubordinateConfig {
+
+ /** SubordinateConfig certificateAuthority */
+ certificateAuthority?: (string|null);
+
+ /** SubordinateConfig pemIssuerChain */
+ pemIssuerChain?: (google.cloud.security.privateca.v1beta1.SubordinateConfig.ISubordinateConfigChain|null);
+ }
+
+ /** Represents a SubordinateConfig. */
+ class SubordinateConfig implements ISubordinateConfig {
+
+ /**
+ * Constructs a new SubordinateConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ISubordinateConfig);
+
+ /** SubordinateConfig certificateAuthority. */
+ public certificateAuthority?: (string|null);
+
+ /** SubordinateConfig pemIssuerChain. */
+ public pemIssuerChain?: (google.cloud.security.privateca.v1beta1.SubordinateConfig.ISubordinateConfigChain|null);
+
+ /** SubordinateConfig subordinateConfig. */
+ public subordinateConfig?: ("certificateAuthority"|"pemIssuerChain");
+
+ /**
+ * Creates a new SubordinateConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubordinateConfig instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ISubordinateConfig): google.cloud.security.privateca.v1beta1.SubordinateConfig;
+
+ /**
+ * Encodes the specified SubordinateConfig message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.SubordinateConfig.verify|verify} messages.
+ * @param message SubordinateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ISubordinateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubordinateConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.SubordinateConfig.verify|verify} messages.
+ * @param message SubordinateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ISubordinateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubordinateConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubordinateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.SubordinateConfig;
+
+ /**
+ * Decodes a SubordinateConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubordinateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.SubordinateConfig;
+
+ /**
+ * Verifies a SubordinateConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubordinateConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubordinateConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.SubordinateConfig;
+
+ /**
+ * Creates a plain object from a SubordinateConfig message. Also converts values to other types if specified.
+ * @param message SubordinateConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.SubordinateConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubordinateConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubordinateConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SubordinateConfig {
+
+ /** Properties of a SubordinateConfigChain. */
+ interface ISubordinateConfigChain {
+
+ /** SubordinateConfigChain pemCertificates */
+ pemCertificates?: (string[]|null);
+ }
+
+ /** Represents a SubordinateConfigChain. */
+ class SubordinateConfigChain implements ISubordinateConfigChain {
+
+ /**
+ * Constructs a new SubordinateConfigChain.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.SubordinateConfig.ISubordinateConfigChain);
+
+ /** SubordinateConfigChain pemCertificates. */
+ public pemCertificates: string[];
+
+ /**
+ * Creates a new SubordinateConfigChain instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubordinateConfigChain instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.SubordinateConfig.ISubordinateConfigChain): google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Encodes the specified SubordinateConfigChain message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain.verify|verify} messages.
+ * @param message SubordinateConfigChain message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.SubordinateConfig.ISubordinateConfigChain, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubordinateConfigChain message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain.verify|verify} messages.
+ * @param message SubordinateConfigChain message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.SubordinateConfig.ISubordinateConfigChain, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubordinateConfigChain message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubordinateConfigChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Decodes a SubordinateConfigChain message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubordinateConfigChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Verifies a SubordinateConfigChain message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubordinateConfigChain message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubordinateConfigChain
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain;
+
+ /**
+ * Creates a plain object from a SubordinateConfigChain message. Also converts values to other types if specified.
+ * @param message SubordinateConfigChain
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.SubordinateConfig.SubordinateConfigChain, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubordinateConfigChain to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubordinateConfigChain
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a PublicKey. */
+ interface IPublicKey {
+
+ /** PublicKey type */
+ type?: (google.cloud.security.privateca.v1beta1.PublicKey.KeyType|keyof typeof google.cloud.security.privateca.v1beta1.PublicKey.KeyType|null);
+
+ /** PublicKey key */
+ key?: (Uint8Array|string|null);
+ }
+
+ /** Represents a PublicKey. */
+ class PublicKey implements IPublicKey {
+
+ /**
+ * Constructs a new PublicKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IPublicKey);
+
+ /** PublicKey type. */
+ public type: (google.cloud.security.privateca.v1beta1.PublicKey.KeyType|keyof typeof google.cloud.security.privateca.v1beta1.PublicKey.KeyType);
+
+ /** PublicKey key. */
+ public key: (Uint8Array|string);
+
+ /**
+ * Creates a new PublicKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublicKey instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IPublicKey): google.cloud.security.privateca.v1beta1.PublicKey;
+
+ /**
+ * Encodes the specified PublicKey message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.PublicKey.verify|verify} messages.
+ * @param message PublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublicKey message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.PublicKey.verify|verify} messages.
+ * @param message PublicKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IPublicKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublicKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.PublicKey;
+
+ /**
+ * Decodes a PublicKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.PublicKey;
+
+ /**
+ * Verifies a PublicKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublicKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublicKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.PublicKey;
+
+ /**
+ * Creates a plain object from a PublicKey message. Also converts values to other types if specified.
+ * @param message PublicKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.PublicKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublicKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PublicKey
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace PublicKey {
+
+ /** KeyType enum. */
+ enum KeyType {
+ KEY_TYPE_UNSPECIFIED = 0,
+ PEM_RSA_KEY = 1,
+ PEM_EC_KEY = 2
+ }
+ }
+
+ /** Properties of a CertificateConfig. */
+ interface ICertificateConfig {
+
+ /** CertificateConfig subjectConfig */
+ subjectConfig?: (google.cloud.security.privateca.v1beta1.CertificateConfig.ISubjectConfig|null);
+
+ /** CertificateConfig reusableConfig */
+ reusableConfig?: (google.cloud.security.privateca.v1beta1.IReusableConfigWrapper|null);
+
+ /** CertificateConfig publicKey */
+ publicKey?: (google.cloud.security.privateca.v1beta1.IPublicKey|null);
+ }
+
+ /** Represents a CertificateConfig. */
+ class CertificateConfig implements ICertificateConfig {
+
+ /**
+ * Constructs a new CertificateConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ICertificateConfig);
+
+ /** CertificateConfig subjectConfig. */
+ public subjectConfig?: (google.cloud.security.privateca.v1beta1.CertificateConfig.ISubjectConfig|null);
+
+ /** CertificateConfig reusableConfig. */
+ public reusableConfig?: (google.cloud.security.privateca.v1beta1.IReusableConfigWrapper|null);
+
+ /** CertificateConfig publicKey. */
+ public publicKey?: (google.cloud.security.privateca.v1beta1.IPublicKey|null);
+
+ /**
+ * Creates a new CertificateConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateConfig instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ICertificateConfig): google.cloud.security.privateca.v1beta1.CertificateConfig;
+
+ /**
+ * Encodes the specified CertificateConfig message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateConfig.verify|verify} messages.
+ * @param message CertificateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ICertificateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateConfig.verify|verify} messages.
+ * @param message CertificateConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ICertificateConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateConfig;
+
+ /**
+ * Decodes a CertificateConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateConfig;
+
+ /**
+ * Verifies a CertificateConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateConfig;
+
+ /**
+ * Creates a plain object from a CertificateConfig message. Also converts values to other types if specified.
+ * @param message CertificateConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateConfig {
+
+ /** Properties of a SubjectConfig. */
+ interface ISubjectConfig {
+
+ /** SubjectConfig subject */
+ subject?: (google.cloud.security.privateca.v1beta1.ISubject|null);
+
+ /** SubjectConfig commonName */
+ commonName?: (string|null);
+
+ /** SubjectConfig subjectAltName */
+ subjectAltName?: (google.cloud.security.privateca.v1beta1.ISubjectAltNames|null);
+ }
+
+ /** Represents a SubjectConfig. */
+ class SubjectConfig implements ISubjectConfig {
+
+ /**
+ * Constructs a new SubjectConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateConfig.ISubjectConfig);
+
+ /** SubjectConfig subject. */
+ public subject?: (google.cloud.security.privateca.v1beta1.ISubject|null);
+
+ /** SubjectConfig commonName. */
+ public commonName: string;
+
+ /** SubjectConfig subjectAltName. */
+ public subjectAltName?: (google.cloud.security.privateca.v1beta1.ISubjectAltNames|null);
+
+ /**
+ * Creates a new SubjectConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubjectConfig instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateConfig.ISubjectConfig): google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Encodes the specified SubjectConfig message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig.verify|verify} messages.
+ * @param message SubjectConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateConfig.ISubjectConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubjectConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig.verify|verify} messages.
+ * @param message SubjectConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateConfig.ISubjectConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubjectConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubjectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Decodes a SubjectConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubjectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Verifies a SubjectConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubjectConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubjectConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig;
+
+ /**
+ * Creates a plain object from a SubjectConfig message. Also converts values to other types if specified.
+ * @param message SubjectConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateConfig.SubjectConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubjectConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubjectConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a CertificateDescription. */
+ interface ICertificateDescription {
+
+ /** CertificateDescription subjectDescription */
+ subjectDescription?: (google.cloud.security.privateca.v1beta1.CertificateDescription.ISubjectDescription|null);
+
+ /** CertificateDescription configValues */
+ configValues?: (google.cloud.security.privateca.v1beta1.IReusableConfigValues|null);
+
+ /** CertificateDescription publicKey */
+ publicKey?: (google.cloud.security.privateca.v1beta1.IPublicKey|null);
+
+ /** CertificateDescription subjectKeyId */
+ subjectKeyId?: (google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription authorityKeyId */
+ authorityKeyId?: (google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription crlDistributionPoints */
+ crlDistributionPoints?: (string[]|null);
+
+ /** CertificateDescription aiaIssuingCertificateUrls */
+ aiaIssuingCertificateUrls?: (string[]|null);
+
+ /** CertificateDescription certFingerprint */
+ certFingerprint?: (google.cloud.security.privateca.v1beta1.CertificateDescription.ICertificateFingerprint|null);
+ }
+
+ /** Represents a CertificateDescription. */
+ class CertificateDescription implements ICertificateDescription {
+
+ /**
+ * Constructs a new CertificateDescription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ICertificateDescription);
+
+ /** CertificateDescription subjectDescription. */
+ public subjectDescription?: (google.cloud.security.privateca.v1beta1.CertificateDescription.ISubjectDescription|null);
+
+ /** CertificateDescription configValues. */
+ public configValues?: (google.cloud.security.privateca.v1beta1.IReusableConfigValues|null);
+
+ /** CertificateDescription publicKey. */
+ public publicKey?: (google.cloud.security.privateca.v1beta1.IPublicKey|null);
+
+ /** CertificateDescription subjectKeyId. */
+ public subjectKeyId?: (google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription authorityKeyId. */
+ public authorityKeyId?: (google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId|null);
+
+ /** CertificateDescription crlDistributionPoints. */
+ public crlDistributionPoints: string[];
+
+ /** CertificateDescription aiaIssuingCertificateUrls. */
+ public aiaIssuingCertificateUrls: string[];
+
+ /** CertificateDescription certFingerprint. */
+ public certFingerprint?: (google.cloud.security.privateca.v1beta1.CertificateDescription.ICertificateFingerprint|null);
+
+ /**
+ * Creates a new CertificateDescription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateDescription instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ICertificateDescription): google.cloud.security.privateca.v1beta1.CertificateDescription;
+
+ /**
+ * Encodes the specified CertificateDescription message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.verify|verify} messages.
+ * @param message CertificateDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ICertificateDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateDescription message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.verify|verify} messages.
+ * @param message CertificateDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ICertificateDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateDescription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateDescription;
+
+ /**
+ * Decodes a CertificateDescription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateDescription;
+
+ /**
+ * Verifies a CertificateDescription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateDescription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateDescription
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateDescription;
+
+ /**
+ * Creates a plain object from a CertificateDescription message. Also converts values to other types if specified.
+ * @param message CertificateDescription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateDescription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateDescription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateDescription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CertificateDescription {
+
+ /** Properties of a SubjectDescription. */
+ interface ISubjectDescription {
+
+ /** SubjectDescription subject */
+ subject?: (google.cloud.security.privateca.v1beta1.ISubject|null);
+
+ /** SubjectDescription commonName */
+ commonName?: (string|null);
+
+ /** SubjectDescription subjectAltName */
+ subjectAltName?: (google.cloud.security.privateca.v1beta1.ISubjectAltNames|null);
+
+ /** SubjectDescription hexSerialNumber */
+ hexSerialNumber?: (string|null);
+
+ /** SubjectDescription lifetime */
+ lifetime?: (google.protobuf.IDuration|null);
+
+ /** SubjectDescription notBeforeTime */
+ notBeforeTime?: (google.protobuf.ITimestamp|null);
+
+ /** SubjectDescription notAfterTime */
+ notAfterTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a SubjectDescription. */
+ class SubjectDescription implements ISubjectDescription {
+
+ /**
+ * Constructs a new SubjectDescription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateDescription.ISubjectDescription);
+
+ /** SubjectDescription subject. */
+ public subject?: (google.cloud.security.privateca.v1beta1.ISubject|null);
+
+ /** SubjectDescription commonName. */
+ public commonName: string;
+
+ /** SubjectDescription subjectAltName. */
+ public subjectAltName?: (google.cloud.security.privateca.v1beta1.ISubjectAltNames|null);
+
+ /** SubjectDescription hexSerialNumber. */
+ public hexSerialNumber: string;
+
+ /** SubjectDescription lifetime. */
+ public lifetime?: (google.protobuf.IDuration|null);
+
+ /** SubjectDescription notBeforeTime. */
+ public notBeforeTime?: (google.protobuf.ITimestamp|null);
+
+ /** SubjectDescription notAfterTime. */
+ public notAfterTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new SubjectDescription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubjectDescription instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateDescription.ISubjectDescription): google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Encodes the specified SubjectDescription message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription.verify|verify} messages.
+ * @param message SubjectDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateDescription.ISubjectDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubjectDescription message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription.verify|verify} messages.
+ * @param message SubjectDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateDescription.ISubjectDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubjectDescription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubjectDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Decodes a SubjectDescription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubjectDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Verifies a SubjectDescription message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubjectDescription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubjectDescription
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription;
+
+ /**
+ * Creates a plain object from a SubjectDescription message. Also converts values to other types if specified.
+ * @param message SubjectDescription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateDescription.SubjectDescription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubjectDescription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubjectDescription
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a KeyId. */
+ interface IKeyId {
+
+ /** KeyId keyId */
+ keyId?: (string|null);
+ }
+
+ /** Represents a KeyId. */
+ class KeyId implements IKeyId {
+
+ /**
+ * Constructs a new KeyId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId);
+
+ /** KeyId keyId. */
+ public keyId: string;
+
+ /**
+ * Creates a new KeyId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyId instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId): google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId;
+
+ /**
+ * Encodes the specified KeyId message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId.verify|verify} messages.
+ * @param message KeyId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyId message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId.verify|verify} messages.
+ * @param message KeyId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateDescription.IKeyId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId;
+
+ /**
+ * Decodes a KeyId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId;
+
+ /**
+ * Verifies a KeyId message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyId
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId;
+
+ /**
+ * Creates a plain object from a KeyId message. Also converts values to other types if specified.
+ * @param message KeyId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateDescription.KeyId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyId
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CertificateFingerprint. */
+ interface ICertificateFingerprint {
+
+ /** CertificateFingerprint sha256Hash */
+ sha256Hash?: (string|null);
+ }
+
+ /** Represents a CertificateFingerprint. */
+ class CertificateFingerprint implements ICertificateFingerprint {
+
+ /**
+ * Constructs a new CertificateFingerprint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.CertificateDescription.ICertificateFingerprint);
+
+ /** CertificateFingerprint sha256Hash. */
+ public sha256Hash: string;
+
+ /**
+ * Creates a new CertificateFingerprint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CertificateFingerprint instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.CertificateDescription.ICertificateFingerprint): google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Encodes the specified CertificateFingerprint message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint.verify|verify} messages.
+ * @param message CertificateFingerprint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.CertificateDescription.ICertificateFingerprint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CertificateFingerprint message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint.verify|verify} messages.
+ * @param message CertificateFingerprint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.CertificateDescription.ICertificateFingerprint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CertificateFingerprint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CertificateFingerprint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Decodes a CertificateFingerprint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CertificateFingerprint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Verifies a CertificateFingerprint message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CertificateFingerprint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CertificateFingerprint
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint;
+
+ /**
+ * Creates a plain object from a CertificateFingerprint message. Also converts values to other types if specified.
+ * @param message CertificateFingerprint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CertificateDescription.CertificateFingerprint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CertificateFingerprint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CertificateFingerprint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ObjectId. */
+ interface IObjectId {
+
+ /** ObjectId objectIdPath */
+ objectIdPath?: (number[]|null);
+ }
+
+ /** Represents an ObjectId. */
+ class ObjectId implements IObjectId {
+
+ /**
+ * Constructs a new ObjectId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IObjectId);
+
+ /** ObjectId objectIdPath. */
+ public objectIdPath: number[];
+
+ /**
+ * Creates a new ObjectId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ObjectId instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IObjectId): google.cloud.security.privateca.v1beta1.ObjectId;
+
+ /**
+ * Encodes the specified ObjectId message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ObjectId.verify|verify} messages.
+ * @param message ObjectId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IObjectId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ObjectId message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ObjectId.verify|verify} messages.
+ * @param message ObjectId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IObjectId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ObjectId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ObjectId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ObjectId;
+
+ /**
+ * Decodes an ObjectId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ObjectId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ObjectId;
+
+ /**
+ * Verifies an ObjectId message.
+ * @param message Plain 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 ObjectId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ObjectId
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ObjectId;
+
+ /**
+ * Creates a plain object from an ObjectId message. Also converts values to other types if specified.
+ * @param message ObjectId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ObjectId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ObjectId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ObjectId
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a X509Extension. */
+ interface IX509Extension {
+
+ /** X509Extension objectId */
+ objectId?: (google.cloud.security.privateca.v1beta1.IObjectId|null);
+
+ /** X509Extension critical */
+ critical?: (boolean|null);
+
+ /** X509Extension value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents a X509Extension. */
+ class X509Extension implements IX509Extension {
+
+ /**
+ * Constructs a new X509Extension.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IX509Extension);
+
+ /** X509Extension objectId. */
+ public objectId?: (google.cloud.security.privateca.v1beta1.IObjectId|null);
+
+ /** X509Extension critical. */
+ public critical: boolean;
+
+ /** X509Extension value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new X509Extension instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns X509Extension instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IX509Extension): google.cloud.security.privateca.v1beta1.X509Extension;
+
+ /**
+ * Encodes the specified X509Extension message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.X509Extension.verify|verify} messages.
+ * @param message X509Extension message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IX509Extension, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified X509Extension message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.X509Extension.verify|verify} messages.
+ * @param message X509Extension message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IX509Extension, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a X509Extension message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns X509Extension
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.X509Extension;
+
+ /**
+ * Decodes a X509Extension message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns X509Extension
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.X509Extension;
+
+ /**
+ * Verifies a X509Extension message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a X509Extension message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns X509Extension
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.X509Extension;
+
+ /**
+ * Creates a plain object from a X509Extension message. Also converts values to other types if specified.
+ * @param message X509Extension
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.X509Extension, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this X509Extension to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for X509Extension
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a KeyUsage. */
+ interface IKeyUsage {
+
+ /** KeyUsage baseKeyUsage */
+ baseKeyUsage?: (google.cloud.security.privateca.v1beta1.KeyUsage.IKeyUsageOptions|null);
+
+ /** KeyUsage extendedKeyUsage */
+ extendedKeyUsage?: (google.cloud.security.privateca.v1beta1.KeyUsage.IExtendedKeyUsageOptions|null);
+
+ /** KeyUsage unknownExtendedKeyUsages */
+ unknownExtendedKeyUsages?: (google.cloud.security.privateca.v1beta1.IObjectId[]|null);
+ }
+
+ /** Represents a KeyUsage. */
+ class KeyUsage implements IKeyUsage {
+
+ /**
+ * Constructs a new KeyUsage.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IKeyUsage);
+
+ /** KeyUsage baseKeyUsage. */
+ public baseKeyUsage?: (google.cloud.security.privateca.v1beta1.KeyUsage.IKeyUsageOptions|null);
+
+ /** KeyUsage extendedKeyUsage. */
+ public extendedKeyUsage?: (google.cloud.security.privateca.v1beta1.KeyUsage.IExtendedKeyUsageOptions|null);
+
+ /** KeyUsage unknownExtendedKeyUsages. */
+ public unknownExtendedKeyUsages: google.cloud.security.privateca.v1beta1.IObjectId[];
+
+ /**
+ * Creates a new KeyUsage instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyUsage instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IKeyUsage): google.cloud.security.privateca.v1beta1.KeyUsage;
+
+ /**
+ * Encodes the specified KeyUsage message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.KeyUsage.verify|verify} messages.
+ * @param message KeyUsage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IKeyUsage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyUsage message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.KeyUsage.verify|verify} messages.
+ * @param message KeyUsage message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IKeyUsage, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyUsage message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyUsage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.KeyUsage;
+
+ /**
+ * Decodes a KeyUsage message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyUsage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.KeyUsage;
+
+ /**
+ * Verifies a KeyUsage message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyUsage message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyUsage
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.KeyUsage;
+
+ /**
+ * Creates a plain object from a KeyUsage message. Also converts values to other types if specified.
+ * @param message KeyUsage
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.KeyUsage, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyUsage to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyUsage
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace KeyUsage {
+
+ /** Properties of a KeyUsageOptions. */
+ interface IKeyUsageOptions {
+
+ /** KeyUsageOptions digitalSignature */
+ digitalSignature?: (boolean|null);
+
+ /** KeyUsageOptions contentCommitment */
+ contentCommitment?: (boolean|null);
+
+ /** KeyUsageOptions keyEncipherment */
+ keyEncipherment?: (boolean|null);
+
+ /** KeyUsageOptions dataEncipherment */
+ dataEncipherment?: (boolean|null);
+
+ /** KeyUsageOptions keyAgreement */
+ keyAgreement?: (boolean|null);
+
+ /** KeyUsageOptions certSign */
+ certSign?: (boolean|null);
+
+ /** KeyUsageOptions crlSign */
+ crlSign?: (boolean|null);
+
+ /** KeyUsageOptions encipherOnly */
+ encipherOnly?: (boolean|null);
+
+ /** KeyUsageOptions decipherOnly */
+ decipherOnly?: (boolean|null);
+ }
+
+ /** Represents a KeyUsageOptions. */
+ class KeyUsageOptions implements IKeyUsageOptions {
+
+ /**
+ * Constructs a new KeyUsageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.KeyUsage.IKeyUsageOptions);
+
+ /** KeyUsageOptions digitalSignature. */
+ public digitalSignature: boolean;
+
+ /** KeyUsageOptions contentCommitment. */
+ public contentCommitment: boolean;
+
+ /** KeyUsageOptions keyEncipherment. */
+ public keyEncipherment: boolean;
+
+ /** KeyUsageOptions dataEncipherment. */
+ public dataEncipherment: boolean;
+
+ /** KeyUsageOptions keyAgreement. */
+ public keyAgreement: boolean;
+
+ /** KeyUsageOptions certSign. */
+ public certSign: boolean;
+
+ /** KeyUsageOptions crlSign. */
+ public crlSign: boolean;
+
+ /** KeyUsageOptions encipherOnly. */
+ public encipherOnly: boolean;
+
+ /** KeyUsageOptions decipherOnly. */
+ public decipherOnly: boolean;
+
+ /**
+ * Creates a new KeyUsageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KeyUsageOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.KeyUsage.IKeyUsageOptions): google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Encodes the specified KeyUsageOptions message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions.verify|verify} messages.
+ * @param message KeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.KeyUsage.IKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KeyUsageOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions.verify|verify} messages.
+ * @param message KeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.KeyUsage.IKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KeyUsageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Decodes a KeyUsageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Verifies a KeyUsageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KeyUsageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KeyUsageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions;
+
+ /**
+ * Creates a plain object from a KeyUsageOptions message. Also converts values to other types if specified.
+ * @param message KeyUsageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.KeyUsage.KeyUsageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KeyUsageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for KeyUsageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ExtendedKeyUsageOptions. */
+ interface IExtendedKeyUsageOptions {
+
+ /** ExtendedKeyUsageOptions serverAuth */
+ serverAuth?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions clientAuth */
+ clientAuth?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions codeSigning */
+ codeSigning?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions emailProtection */
+ emailProtection?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions timeStamping */
+ timeStamping?: (boolean|null);
+
+ /** ExtendedKeyUsageOptions ocspSigning */
+ ocspSigning?: (boolean|null);
+ }
+
+ /** Represents an ExtendedKeyUsageOptions. */
+ class ExtendedKeyUsageOptions implements IExtendedKeyUsageOptions {
+
+ /**
+ * Constructs a new ExtendedKeyUsageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.KeyUsage.IExtendedKeyUsageOptions);
+
+ /** ExtendedKeyUsageOptions serverAuth. */
+ public serverAuth: boolean;
+
+ /** ExtendedKeyUsageOptions clientAuth. */
+ public clientAuth: boolean;
+
+ /** ExtendedKeyUsageOptions codeSigning. */
+ public codeSigning: boolean;
+
+ /** ExtendedKeyUsageOptions emailProtection. */
+ public emailProtection: boolean;
+
+ /** ExtendedKeyUsageOptions timeStamping. */
+ public timeStamping: boolean;
+
+ /** ExtendedKeyUsageOptions ocspSigning. */
+ public ocspSigning: boolean;
+
+ /**
+ * Creates a new ExtendedKeyUsageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtendedKeyUsageOptions instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.KeyUsage.IExtendedKeyUsageOptions): google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Encodes the specified ExtendedKeyUsageOptions message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions.verify|verify} messages.
+ * @param message ExtendedKeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.KeyUsage.IExtendedKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtendedKeyUsageOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions.verify|verify} messages.
+ * @param message ExtendedKeyUsageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.KeyUsage.IExtendedKeyUsageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtendedKeyUsageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtendedKeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Decodes an ExtendedKeyUsageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtendedKeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Verifies an ExtendedKeyUsageOptions message.
+ * @param message Plain 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 ExtendedKeyUsageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtendedKeyUsageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions;
+
+ /**
+ * Creates a plain object from an ExtendedKeyUsageOptions message. Also converts values to other types if specified.
+ * @param message ExtendedKeyUsageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.KeyUsage.ExtendedKeyUsageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtendedKeyUsageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtendedKeyUsageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a Subject. */
+ interface ISubject {
+
+ /** Subject countryCode */
+ countryCode?: (string|null);
+
+ /** Subject organization */
+ organization?: (string|null);
+
+ /** Subject organizationalUnit */
+ organizationalUnit?: (string|null);
+
+ /** Subject locality */
+ locality?: (string|null);
+
+ /** Subject province */
+ province?: (string|null);
+
+ /** Subject streetAddress */
+ streetAddress?: (string|null);
+
+ /** Subject postalCode */
+ postalCode?: (string|null);
+ }
+
+ /** Represents a Subject. */
+ class Subject implements ISubject {
+
+ /**
+ * Constructs a new Subject.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ISubject);
+
+ /** Subject countryCode. */
+ public countryCode: string;
+
+ /** Subject organization. */
+ public organization: string;
+
+ /** Subject organizationalUnit. */
+ public organizationalUnit: string;
+
+ /** Subject locality. */
+ public locality: string;
+
+ /** Subject province. */
+ public province: string;
+
+ /** Subject streetAddress. */
+ public streetAddress: string;
+
+ /** Subject postalCode. */
+ public postalCode: string;
+
+ /**
+ * Creates a new Subject instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Subject instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ISubject): google.cloud.security.privateca.v1beta1.Subject;
+
+ /**
+ * Encodes the specified Subject message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.Subject.verify|verify} messages.
+ * @param message Subject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ISubject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Subject message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.Subject.verify|verify} messages.
+ * @param message Subject message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ISubject, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Subject message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Subject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.Subject;
+
+ /**
+ * Decodes a Subject message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Subject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.Subject;
+
+ /**
+ * Verifies a Subject message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Subject message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Subject
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.Subject;
+
+ /**
+ * Creates a plain object from a Subject message. Also converts values to other types if specified.
+ * @param message Subject
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.Subject, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Subject to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Subject
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SubjectAltNames. */
+ interface ISubjectAltNames {
+
+ /** SubjectAltNames dnsNames */
+ dnsNames?: (string[]|null);
+
+ /** SubjectAltNames uris */
+ uris?: (string[]|null);
+
+ /** SubjectAltNames emailAddresses */
+ emailAddresses?: (string[]|null);
+
+ /** SubjectAltNames ipAddresses */
+ ipAddresses?: (string[]|null);
+
+ /** SubjectAltNames customSans */
+ customSans?: (google.cloud.security.privateca.v1beta1.IX509Extension[]|null);
+ }
+
+ /** Represents a SubjectAltNames. */
+ class SubjectAltNames implements ISubjectAltNames {
+
+ /**
+ * Constructs a new SubjectAltNames.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ISubjectAltNames);
+
+ /** SubjectAltNames dnsNames. */
+ public dnsNames: string[];
+
+ /** SubjectAltNames uris. */
+ public uris: string[];
+
+ /** SubjectAltNames emailAddresses. */
+ public emailAddresses: string[];
+
+ /** SubjectAltNames ipAddresses. */
+ public ipAddresses: string[];
+
+ /** SubjectAltNames customSans. */
+ public customSans: google.cloud.security.privateca.v1beta1.IX509Extension[];
+
+ /**
+ * Creates a new SubjectAltNames instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubjectAltNames instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ISubjectAltNames): google.cloud.security.privateca.v1beta1.SubjectAltNames;
+
+ /**
+ * Encodes the specified SubjectAltNames message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.SubjectAltNames.verify|verify} messages.
+ * @param message SubjectAltNames message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ISubjectAltNames, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubjectAltNames message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.SubjectAltNames.verify|verify} messages.
+ * @param message SubjectAltNames message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ISubjectAltNames, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubjectAltNames message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.SubjectAltNames;
+
+ /**
+ * Decodes a SubjectAltNames message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.SubjectAltNames;
+
+ /**
+ * Verifies a SubjectAltNames message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubjectAltNames message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubjectAltNames
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.SubjectAltNames;
+
+ /**
+ * Creates a plain object from a SubjectAltNames message. Also converts values to other types if specified.
+ * @param message SubjectAltNames
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.SubjectAltNames, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubjectAltNames to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubjectAltNames
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** RevocationReason enum. */
+ enum RevocationReason {
+ REVOCATION_REASON_UNSPECIFIED = 0,
+ KEY_COMPROMISE = 1,
+ CERTIFICATE_AUTHORITY_COMPROMISE = 2,
+ AFFILIATION_CHANGED = 3,
+ SUPERSEDED = 4,
+ CESSATION_OF_OPERATION = 5,
+ CERTIFICATE_HOLD = 6,
+ PRIVILEGE_WITHDRAWN = 7,
+ ATTRIBUTE_AUTHORITY_COMPROMISE = 8
+ }
+
+ /** Represents a CertificateAuthorityService */
+ class CertificateAuthorityService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CertificateAuthorityService 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 CertificateAuthorityService 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): CertificateAuthorityService;
+
+ /**
+ * Calls CreateCertificate.
+ * @param request CreateCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public createCertificate(request: google.cloud.security.privateca.v1beta1.ICreateCertificateRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.CreateCertificateCallback): void;
+
+ /**
+ * Calls CreateCertificate.
+ * @param request CreateCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public createCertificate(request: google.cloud.security.privateca.v1beta1.ICreateCertificateRequest): Promise;
+
+ /**
+ * Calls GetCertificate.
+ * @param request GetCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public getCertificate(request: google.cloud.security.privateca.v1beta1.IGetCertificateRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetCertificateCallback): void;
+
+ /**
+ * Calls GetCertificate.
+ * @param request GetCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public getCertificate(request: google.cloud.security.privateca.v1beta1.IGetCertificateRequest): Promise;
+
+ /**
+ * Calls ListCertificates.
+ * @param request ListCertificatesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCertificatesResponse
+ */
+ public listCertificates(request: google.cloud.security.privateca.v1beta1.IListCertificatesRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificatesCallback): void;
+
+ /**
+ * Calls ListCertificates.
+ * @param request ListCertificatesRequest message or plain object
+ * @returns Promise
+ */
+ public listCertificates(request: google.cloud.security.privateca.v1beta1.IListCertificatesRequest): Promise;
+
+ /**
+ * Calls RevokeCertificate.
+ * @param request RevokeCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public revokeCertificate(request: google.cloud.security.privateca.v1beta1.IRevokeCertificateRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.RevokeCertificateCallback): void;
+
+ /**
+ * Calls RevokeCertificate.
+ * @param request RevokeCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public revokeCertificate(request: google.cloud.security.privateca.v1beta1.IRevokeCertificateRequest): Promise;
+
+ /**
+ * Calls UpdateCertificate.
+ * @param request UpdateCertificateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Certificate
+ */
+ public updateCertificate(request: google.cloud.security.privateca.v1beta1.IUpdateCertificateRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.UpdateCertificateCallback): void;
+
+ /**
+ * Calls UpdateCertificate.
+ * @param request UpdateCertificateRequest message or plain object
+ * @returns Promise
+ */
+ public updateCertificate(request: google.cloud.security.privateca.v1beta1.IUpdateCertificateRequest): Promise;
+
+ /**
+ * Calls ActivateCertificateAuthority.
+ * @param request ActivateCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public activateCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IActivateCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ActivateCertificateAuthorityCallback): void;
+
+ /**
+ * Calls ActivateCertificateAuthority.
+ * @param request ActivateCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public activateCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IActivateCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls CreateCertificateAuthority.
+ * @param request CreateCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createCertificateAuthority(request: google.cloud.security.privateca.v1beta1.ICreateCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.CreateCertificateAuthorityCallback): void;
+
+ /**
+ * Calls CreateCertificateAuthority.
+ * @param request CreateCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public createCertificateAuthority(request: google.cloud.security.privateca.v1beta1.ICreateCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls DisableCertificateAuthority.
+ * @param request DisableCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public disableCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IDisableCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.DisableCertificateAuthorityCallback): void;
+
+ /**
+ * Calls DisableCertificateAuthority.
+ * @param request DisableCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public disableCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IDisableCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls EnableCertificateAuthority.
+ * @param request EnableCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public enableCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IEnableCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.EnableCertificateAuthorityCallback): void;
+
+ /**
+ * Calls EnableCertificateAuthority.
+ * @param request EnableCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public enableCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IEnableCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls FetchCertificateAuthorityCsr.
+ * @param request FetchCertificateAuthorityCsrRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and FetchCertificateAuthorityCsrResponse
+ */
+ public fetchCertificateAuthorityCsr(request: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.FetchCertificateAuthorityCsrCallback): void;
+
+ /**
+ * Calls FetchCertificateAuthorityCsr.
+ * @param request FetchCertificateAuthorityCsrRequest message or plain object
+ * @returns Promise
+ */
+ public fetchCertificateAuthorityCsr(request: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrRequest): Promise;
+
+ /**
+ * Calls GetCertificateAuthority.
+ * @param request GetCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CertificateAuthority
+ */
+ public getCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IGetCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetCertificateAuthorityCallback): void;
+
+ /**
+ * Calls GetCertificateAuthority.
+ * @param request GetCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public getCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IGetCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls ListCertificateAuthorities.
+ * @param request ListCertificateAuthoritiesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCertificateAuthoritiesResponse
+ */
+ public listCertificateAuthorities(request: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificateAuthoritiesCallback): void;
+
+ /**
+ * Calls ListCertificateAuthorities.
+ * @param request ListCertificateAuthoritiesRequest message or plain object
+ * @returns Promise
+ */
+ public listCertificateAuthorities(request: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesRequest): Promise;
+
+ /**
+ * Calls RestoreCertificateAuthority.
+ * @param request RestoreCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public restoreCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IRestoreCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.RestoreCertificateAuthorityCallback): void;
+
+ /**
+ * Calls RestoreCertificateAuthority.
+ * @param request RestoreCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public restoreCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IRestoreCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls ScheduleDeleteCertificateAuthority.
+ * @param request ScheduleDeleteCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public scheduleDeleteCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IScheduleDeleteCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ScheduleDeleteCertificateAuthorityCallback): void;
+
+ /**
+ * Calls ScheduleDeleteCertificateAuthority.
+ * @param request ScheduleDeleteCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public scheduleDeleteCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IScheduleDeleteCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls UpdateCertificateAuthority.
+ * @param request UpdateCertificateAuthorityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IUpdateCertificateAuthorityRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.UpdateCertificateAuthorityCallback): void;
+
+ /**
+ * Calls UpdateCertificateAuthority.
+ * @param request UpdateCertificateAuthorityRequest message or plain object
+ * @returns Promise
+ */
+ public updateCertificateAuthority(request: google.cloud.security.privateca.v1beta1.IUpdateCertificateAuthorityRequest): Promise;
+
+ /**
+ * Calls GetCertificateRevocationList.
+ * @param request GetCertificateRevocationListRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CertificateRevocationList
+ */
+ public getCertificateRevocationList(request: google.cloud.security.privateca.v1beta1.IGetCertificateRevocationListRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetCertificateRevocationListCallback): void;
+
+ /**
+ * Calls GetCertificateRevocationList.
+ * @param request GetCertificateRevocationListRequest message or plain object
+ * @returns Promise
+ */
+ public getCertificateRevocationList(request: google.cloud.security.privateca.v1beta1.IGetCertificateRevocationListRequest): Promise;
+
+ /**
+ * Calls ListCertificateRevocationLists.
+ * @param request ListCertificateRevocationListsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCertificateRevocationListsResponse
+ */
+ public listCertificateRevocationLists(request: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListCertificateRevocationListsCallback): void;
+
+ /**
+ * Calls ListCertificateRevocationLists.
+ * @param request ListCertificateRevocationListsRequest message or plain object
+ * @returns Promise
+ */
+ public listCertificateRevocationLists(request: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsRequest): Promise;
+
+ /**
+ * Calls UpdateCertificateRevocationList.
+ * @param request UpdateCertificateRevocationListRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public updateCertificateRevocationList(request: google.cloud.security.privateca.v1beta1.IUpdateCertificateRevocationListRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.UpdateCertificateRevocationListCallback): void;
+
+ /**
+ * Calls UpdateCertificateRevocationList.
+ * @param request UpdateCertificateRevocationListRequest message or plain object
+ * @returns Promise
+ */
+ public updateCertificateRevocationList(request: google.cloud.security.privateca.v1beta1.IUpdateCertificateRevocationListRequest): Promise;
+
+ /**
+ * Calls GetReusableConfig.
+ * @param request GetReusableConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ReusableConfig
+ */
+ public getReusableConfig(request: google.cloud.security.privateca.v1beta1.IGetReusableConfigRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.GetReusableConfigCallback): void;
+
+ /**
+ * Calls GetReusableConfig.
+ * @param request GetReusableConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getReusableConfig(request: google.cloud.security.privateca.v1beta1.IGetReusableConfigRequest): Promise;
+
+ /**
+ * Calls ListReusableConfigs.
+ * @param request ListReusableConfigsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListReusableConfigsResponse
+ */
+ public listReusableConfigs(request: google.cloud.security.privateca.v1beta1.IListReusableConfigsRequest, callback: google.cloud.security.privateca.v1beta1.CertificateAuthorityService.ListReusableConfigsCallback): void;
+
+ /**
+ * Calls ListReusableConfigs.
+ * @param request ListReusableConfigsRequest message or plain object
+ * @returns Promise
+ */
+ public listReusableConfigs(request: google.cloud.security.privateca.v1beta1.IListReusableConfigsRequest): Promise;
+ }
+
+ namespace CertificateAuthorityService {
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|createCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type CreateCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|getCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type GetCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|listCertificates}.
+ * @param error Error, if any
+ * @param [response] ListCertificatesResponse
+ */
+ type ListCertificatesCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.ListCertificatesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|revokeCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type RevokeCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|updateCertificate}.
+ * @param error Error, if any
+ * @param [response] Certificate
+ */
+ type UpdateCertificateCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.Certificate) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|activateCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ActivateCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|createCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|disableCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type DisableCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|enableCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type EnableCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|fetchCertificateAuthorityCsr}.
+ * @param error Error, if any
+ * @param [response] FetchCertificateAuthorityCsrResponse
+ */
+ type FetchCertificateAuthorityCsrCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|getCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] CertificateAuthority
+ */
+ type GetCertificateAuthorityCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.CertificateAuthority) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|listCertificateAuthorities}.
+ * @param error Error, if any
+ * @param [response] ListCertificateAuthoritiesResponse
+ */
+ type ListCertificateAuthoritiesCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|restoreCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RestoreCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|scheduleDeleteCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ScheduleDeleteCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|updateCertificateAuthority}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateCertificateAuthorityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|getCertificateRevocationList}.
+ * @param error Error, if any
+ * @param [response] CertificateRevocationList
+ */
+ type GetCertificateRevocationListCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.CertificateRevocationList) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|listCertificateRevocationLists}.
+ * @param error Error, if any
+ * @param [response] ListCertificateRevocationListsResponse
+ */
+ type ListCertificateRevocationListsCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|updateCertificateRevocationList}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type UpdateCertificateRevocationListCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|getReusableConfig}.
+ * @param error Error, if any
+ * @param [response] ReusableConfig
+ */
+ type GetReusableConfigCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.ReusableConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.security.privateca.v1beta1.CertificateAuthorityService|listReusableConfigs}.
+ * @param error Error, if any
+ * @param [response] ListReusableConfigsResponse
+ */
+ type ListReusableConfigsCallback = (error: (Error|null), response?: google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse) => void;
+ }
+
+ /** Properties of a CreateCertificateRequest. */
+ interface ICreateCertificateRequest {
+
+ /** CreateCertificateRequest parent */
+ parent?: (string|null);
+
+ /** CreateCertificateRequest certificateId */
+ certificateId?: (string|null);
+
+ /** CreateCertificateRequest certificate */
+ certificate?: (google.cloud.security.privateca.v1beta1.ICertificate|null);
+
+ /** CreateCertificateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateCertificateRequest. */
+ class CreateCertificateRequest implements ICreateCertificateRequest {
+
+ /**
+ * Constructs a new CreateCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ICreateCertificateRequest);
+
+ /** CreateCertificateRequest parent. */
+ public parent: string;
+
+ /** CreateCertificateRequest certificateId. */
+ public certificateId: string;
+
+ /** CreateCertificateRequest certificate. */
+ public certificate?: (google.cloud.security.privateca.v1beta1.ICertificate|null);
+
+ /** CreateCertificateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ICreateCertificateRequest): google.cloud.security.privateca.v1beta1.CreateCertificateRequest;
+
+ /**
+ * Encodes the specified CreateCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CreateCertificateRequest.verify|verify} messages.
+ * @param message CreateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ICreateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CreateCertificateRequest.verify|verify} messages.
+ * @param message CreateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ICreateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CreateCertificateRequest;
+
+ /**
+ * Decodes a CreateCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CreateCertificateRequest;
+
+ /**
+ * Verifies a CreateCertificateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CreateCertificateRequest;
+
+ /**
+ * Creates a plain object from a CreateCertificateRequest message. Also converts values to other types if specified.
+ * @param message CreateCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CreateCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCertificateRequest. */
+ interface IGetCertificateRequest {
+
+ /** GetCertificateRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCertificateRequest. */
+ class GetCertificateRequest implements IGetCertificateRequest {
+
+ /**
+ * Constructs a new GetCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IGetCertificateRequest);
+
+ /** GetCertificateRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IGetCertificateRequest): google.cloud.security.privateca.v1beta1.GetCertificateRequest;
+
+ /**
+ * Encodes the specified GetCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetCertificateRequest.verify|verify} messages.
+ * @param message GetCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IGetCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetCertificateRequest.verify|verify} messages.
+ * @param message GetCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IGetCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.GetCertificateRequest;
+
+ /**
+ * Decodes a GetCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.GetCertificateRequest;
+
+ /**
+ * Verifies a GetCertificateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.GetCertificateRequest;
+
+ /**
+ * Creates a plain object from a GetCertificateRequest message. Also converts values to other types if specified.
+ * @param message GetCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.GetCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificatesRequest. */
+ interface IListCertificatesRequest {
+
+ /** ListCertificatesRequest parent */
+ parent?: (string|null);
+
+ /** ListCertificatesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCertificatesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCertificatesRequest filter */
+ filter?: (string|null);
+
+ /** ListCertificatesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCertificatesRequest. */
+ class ListCertificatesRequest implements IListCertificatesRequest {
+
+ /**
+ * Constructs a new ListCertificatesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListCertificatesRequest);
+
+ /** ListCertificatesRequest parent. */
+ public parent: string;
+
+ /** ListCertificatesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCertificatesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCertificatesRequest filter. */
+ public filter: string;
+
+ /** ListCertificatesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCertificatesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificatesRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListCertificatesRequest): google.cloud.security.privateca.v1beta1.ListCertificatesRequest;
+
+ /**
+ * Encodes the specified ListCertificatesRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificatesRequest.verify|verify} messages.
+ * @param message ListCertificatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListCertificatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificatesRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificatesRequest.verify|verify} messages.
+ * @param message ListCertificatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListCertificatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificatesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListCertificatesRequest;
+
+ /**
+ * Decodes a ListCertificatesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListCertificatesRequest;
+
+ /**
+ * Verifies a ListCertificatesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificatesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificatesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListCertificatesRequest;
+
+ /**
+ * Creates a plain object from a ListCertificatesRequest message. Also converts values to other types if specified.
+ * @param message ListCertificatesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListCertificatesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificatesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificatesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificatesResponse. */
+ interface IListCertificatesResponse {
+
+ /** ListCertificatesResponse certificates */
+ certificates?: (google.cloud.security.privateca.v1beta1.ICertificate[]|null);
+
+ /** ListCertificatesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCertificatesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCertificatesResponse. */
+ class ListCertificatesResponse implements IListCertificatesResponse {
+
+ /**
+ * Constructs a new ListCertificatesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListCertificatesResponse);
+
+ /** ListCertificatesResponse certificates. */
+ public certificates: google.cloud.security.privateca.v1beta1.ICertificate[];
+
+ /** ListCertificatesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCertificatesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCertificatesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificatesResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListCertificatesResponse): google.cloud.security.privateca.v1beta1.ListCertificatesResponse;
+
+ /**
+ * Encodes the specified ListCertificatesResponse message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificatesResponse.verify|verify} messages.
+ * @param message ListCertificatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListCertificatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificatesResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificatesResponse.verify|verify} messages.
+ * @param message ListCertificatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListCertificatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificatesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListCertificatesResponse;
+
+ /**
+ * Decodes a ListCertificatesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListCertificatesResponse;
+
+ /**
+ * Verifies a ListCertificatesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificatesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificatesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListCertificatesResponse;
+
+ /**
+ * Creates a plain object from a ListCertificatesResponse message. Also converts values to other types if specified.
+ * @param message ListCertificatesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListCertificatesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificatesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificatesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RevokeCertificateRequest. */
+ interface IRevokeCertificateRequest {
+
+ /** RevokeCertificateRequest name */
+ name?: (string|null);
+
+ /** RevokeCertificateRequest reason */
+ reason?: (google.cloud.security.privateca.v1beta1.RevocationReason|keyof typeof google.cloud.security.privateca.v1beta1.RevocationReason|null);
+
+ /** RevokeCertificateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a RevokeCertificateRequest. */
+ class RevokeCertificateRequest implements IRevokeCertificateRequest {
+
+ /**
+ * Constructs a new RevokeCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IRevokeCertificateRequest);
+
+ /** RevokeCertificateRequest name. */
+ public name: string;
+
+ /** RevokeCertificateRequest reason. */
+ public reason: (google.cloud.security.privateca.v1beta1.RevocationReason|keyof typeof google.cloud.security.privateca.v1beta1.RevocationReason);
+
+ /** RevokeCertificateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new RevokeCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RevokeCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IRevokeCertificateRequest): google.cloud.security.privateca.v1beta1.RevokeCertificateRequest;
+
+ /**
+ * Encodes the specified RevokeCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.RevokeCertificateRequest.verify|verify} messages.
+ * @param message RevokeCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IRevokeCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RevokeCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.RevokeCertificateRequest.verify|verify} messages.
+ * @param message RevokeCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IRevokeCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RevokeCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RevokeCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.RevokeCertificateRequest;
+
+ /**
+ * Decodes a RevokeCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RevokeCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.RevokeCertificateRequest;
+
+ /**
+ * Verifies a RevokeCertificateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RevokeCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RevokeCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.RevokeCertificateRequest;
+
+ /**
+ * Creates a plain object from a RevokeCertificateRequest message. Also converts values to other types if specified.
+ * @param message RevokeCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.RevokeCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RevokeCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RevokeCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCertificateRequest. */
+ interface IUpdateCertificateRequest {
+
+ /** UpdateCertificateRequest certificate */
+ certificate?: (google.cloud.security.privateca.v1beta1.ICertificate|null);
+
+ /** UpdateCertificateRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCertificateRequest. */
+ class UpdateCertificateRequest implements IUpdateCertificateRequest {
+
+ /**
+ * Constructs a new UpdateCertificateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IUpdateCertificateRequest);
+
+ /** UpdateCertificateRequest certificate. */
+ public certificate?: (google.cloud.security.privateca.v1beta1.ICertificate|null);
+
+ /** UpdateCertificateRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCertificateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCertificateRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IUpdateCertificateRequest): google.cloud.security.privateca.v1beta1.UpdateCertificateRequest;
+
+ /**
+ * Encodes the specified UpdateCertificateRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.UpdateCertificateRequest.verify|verify} messages.
+ * @param message UpdateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IUpdateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCertificateRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.UpdateCertificateRequest.verify|verify} messages.
+ * @param message UpdateCertificateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IUpdateCertificateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCertificateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.UpdateCertificateRequest;
+
+ /**
+ * Decodes an UpdateCertificateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCertificateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.UpdateCertificateRequest;
+
+ /**
+ * Verifies an UpdateCertificateRequest message.
+ * @param message Plain 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 UpdateCertificateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCertificateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.UpdateCertificateRequest;
+
+ /**
+ * Creates a plain object from an UpdateCertificateRequest message. Also converts values to other types if specified.
+ * @param message UpdateCertificateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.UpdateCertificateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCertificateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCertificateRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ActivateCertificateAuthorityRequest. */
+ interface IActivateCertificateAuthorityRequest {
+
+ /** ActivateCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** ActivateCertificateAuthorityRequest pemCaCertificate */
+ pemCaCertificate?: (string|null);
+
+ /** ActivateCertificateAuthorityRequest subordinateConfig */
+ subordinateConfig?: (google.cloud.security.privateca.v1beta1.ISubordinateConfig|null);
+
+ /** ActivateCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an ActivateCertificateAuthorityRequest. */
+ class ActivateCertificateAuthorityRequest implements IActivateCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new ActivateCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IActivateCertificateAuthorityRequest);
+
+ /** ActivateCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** ActivateCertificateAuthorityRequest pemCaCertificate. */
+ public pemCaCertificate: string;
+
+ /** ActivateCertificateAuthorityRequest subordinateConfig. */
+ public subordinateConfig?: (google.cloud.security.privateca.v1beta1.ISubordinateConfig|null);
+
+ /** ActivateCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ActivateCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ActivateCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IActivateCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified ActivateCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ActivateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message ActivateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IActivateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ActivateCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ActivateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message ActivateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IActivateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ActivateCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ActivateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Decodes an ActivateCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ActivateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Verifies an ActivateCertificateAuthorityRequest message.
+ * @param message Plain 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 ActivateCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ActivateCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ActivateCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from an ActivateCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message ActivateCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ActivateCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ActivateCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ActivateCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateCertificateAuthorityRequest. */
+ interface ICreateCertificateAuthorityRequest {
+
+ /** CreateCertificateAuthorityRequest parent */
+ parent?: (string|null);
+
+ /** CreateCertificateAuthorityRequest certificateAuthorityId */
+ certificateAuthorityId?: (string|null);
+
+ /** CreateCertificateAuthorityRequest certificateAuthority */
+ certificateAuthority?: (google.cloud.security.privateca.v1beta1.ICertificateAuthority|null);
+
+ /** CreateCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateCertificateAuthorityRequest. */
+ class CreateCertificateAuthorityRequest implements ICreateCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new CreateCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.ICreateCertificateAuthorityRequest);
+
+ /** CreateCertificateAuthorityRequest parent. */
+ public parent: string;
+
+ /** CreateCertificateAuthorityRequest certificateAuthorityId. */
+ public certificateAuthorityId: string;
+
+ /** CreateCertificateAuthorityRequest certificateAuthority. */
+ public certificateAuthority?: (google.cloud.security.privateca.v1beta1.ICertificateAuthority|null);
+
+ /** CreateCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.ICreateCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified CreateCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CreateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message CreateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.ICreateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.CreateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message CreateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.ICreateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Decodes a CreateCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Verifies a CreateCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.CreateCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a CreateCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message CreateCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.CreateCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DisableCertificateAuthorityRequest. */
+ interface IDisableCertificateAuthorityRequest {
+
+ /** DisableCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** DisableCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a DisableCertificateAuthorityRequest. */
+ class DisableCertificateAuthorityRequest implements IDisableCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new DisableCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IDisableCertificateAuthorityRequest);
+
+ /** DisableCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** DisableCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new DisableCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DisableCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IDisableCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified DisableCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.DisableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message DisableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IDisableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DisableCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.DisableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message DisableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IDisableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DisableCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DisableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Decodes a DisableCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DisableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Verifies a DisableCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DisableCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DisableCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.DisableCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a DisableCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message DisableCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.DisableCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DisableCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DisableCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnableCertificateAuthorityRequest. */
+ interface IEnableCertificateAuthorityRequest {
+
+ /** EnableCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** EnableCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an EnableCertificateAuthorityRequest. */
+ class EnableCertificateAuthorityRequest implements IEnableCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new EnableCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IEnableCertificateAuthorityRequest);
+
+ /** EnableCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** EnableCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new EnableCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnableCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IEnableCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified EnableCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.EnableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message EnableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IEnableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnableCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.EnableCertificateAuthorityRequest.verify|verify} messages.
+ * @param message EnableCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IEnableCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnableCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Decodes an EnableCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnableCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Verifies an EnableCertificateAuthorityRequest message.
+ * @param message Plain 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 EnableCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnableCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.EnableCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from an EnableCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message EnableCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.EnableCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnableCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnableCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchCertificateAuthorityCsrRequest. */
+ interface IFetchCertificateAuthorityCsrRequest {
+
+ /** FetchCertificateAuthorityCsrRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a FetchCertificateAuthorityCsrRequest. */
+ class FetchCertificateAuthorityCsrRequest implements IFetchCertificateAuthorityCsrRequest {
+
+ /**
+ * Constructs a new FetchCertificateAuthorityCsrRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrRequest);
+
+ /** FetchCertificateAuthorityCsrRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new FetchCertificateAuthorityCsrRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchCertificateAuthorityCsrRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrRequest): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrRequest.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrRequest.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchCertificateAuthorityCsrRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchCertificateAuthorityCsrRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Verifies a FetchCertificateAuthorityCsrRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchCertificateAuthorityCsrRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchCertificateAuthorityCsrRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrRequest;
+
+ /**
+ * Creates a plain object from a FetchCertificateAuthorityCsrRequest message. Also converts values to other types if specified.
+ * @param message FetchCertificateAuthorityCsrRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchCertificateAuthorityCsrRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchCertificateAuthorityCsrRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchCertificateAuthorityCsrResponse. */
+ interface IFetchCertificateAuthorityCsrResponse {
+
+ /** FetchCertificateAuthorityCsrResponse pemCsr */
+ pemCsr?: (string|null);
+ }
+
+ /** Represents a FetchCertificateAuthorityCsrResponse. */
+ class FetchCertificateAuthorityCsrResponse implements IFetchCertificateAuthorityCsrResponse {
+
+ /**
+ * Constructs a new FetchCertificateAuthorityCsrResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrResponse);
+
+ /** FetchCertificateAuthorityCsrResponse pemCsr. */
+ public pemCsr: string;
+
+ /**
+ * Creates a new FetchCertificateAuthorityCsrResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchCertificateAuthorityCsrResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrResponse): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrResponse message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchCertificateAuthorityCsrResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse.verify|verify} messages.
+ * @param message FetchCertificateAuthorityCsrResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IFetchCertificateAuthorityCsrResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchCertificateAuthorityCsrResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Decodes a FetchCertificateAuthorityCsrResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchCertificateAuthorityCsrResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Verifies a FetchCertificateAuthorityCsrResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchCertificateAuthorityCsrResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchCertificateAuthorityCsrResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse;
+
+ /**
+ * Creates a plain object from a FetchCertificateAuthorityCsrResponse message. Also converts values to other types if specified.
+ * @param message FetchCertificateAuthorityCsrResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.FetchCertificateAuthorityCsrResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchCertificateAuthorityCsrResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchCertificateAuthorityCsrResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCertificateAuthorityRequest. */
+ interface IGetCertificateAuthorityRequest {
+
+ /** GetCertificateAuthorityRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCertificateAuthorityRequest. */
+ class GetCertificateAuthorityRequest implements IGetCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new GetCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IGetCertificateAuthorityRequest);
+
+ /** GetCertificateAuthorityRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IGetCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.GetCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified GetCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetCertificateAuthorityRequest.verify|verify} messages.
+ * @param message GetCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IGetCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetCertificateAuthorityRequest.verify|verify} messages.
+ * @param message GetCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IGetCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.GetCertificateAuthorityRequest;
+
+ /**
+ * Decodes a GetCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.GetCertificateAuthorityRequest;
+
+ /**
+ * Verifies a GetCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.GetCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a GetCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message GetCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.GetCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateAuthoritiesRequest. */
+ interface IListCertificateAuthoritiesRequest {
+
+ /** ListCertificateAuthoritiesRequest parent */
+ parent?: (string|null);
+
+ /** ListCertificateAuthoritiesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCertificateAuthoritiesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCertificateAuthoritiesRequest filter */
+ filter?: (string|null);
+
+ /** ListCertificateAuthoritiesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCertificateAuthoritiesRequest. */
+ class ListCertificateAuthoritiesRequest implements IListCertificateAuthoritiesRequest {
+
+ /**
+ * Constructs a new ListCertificateAuthoritiesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesRequest);
+
+ /** ListCertificateAuthoritiesRequest parent. */
+ public parent: string;
+
+ /** ListCertificateAuthoritiesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCertificateAuthoritiesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCertificateAuthoritiesRequest filter. */
+ public filter: string;
+
+ /** ListCertificateAuthoritiesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCertificateAuthoritiesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateAuthoritiesRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesRequest): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesRequest.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesRequest.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateAuthoritiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateAuthoritiesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Verifies a ListCertificateAuthoritiesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateAuthoritiesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateAuthoritiesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesRequest;
+
+ /**
+ * Creates a plain object from a ListCertificateAuthoritiesRequest message. Also converts values to other types if specified.
+ * @param message ListCertificateAuthoritiesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateAuthoritiesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateAuthoritiesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateAuthoritiesResponse. */
+ interface IListCertificateAuthoritiesResponse {
+
+ /** ListCertificateAuthoritiesResponse certificateAuthorities */
+ certificateAuthorities?: (google.cloud.security.privateca.v1beta1.ICertificateAuthority[]|null);
+
+ /** ListCertificateAuthoritiesResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCertificateAuthoritiesResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCertificateAuthoritiesResponse. */
+ class ListCertificateAuthoritiesResponse implements IListCertificateAuthoritiesResponse {
+
+ /**
+ * Constructs a new ListCertificateAuthoritiesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesResponse);
+
+ /** ListCertificateAuthoritiesResponse certificateAuthorities. */
+ public certificateAuthorities: google.cloud.security.privateca.v1beta1.ICertificateAuthority[];
+
+ /** ListCertificateAuthoritiesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCertificateAuthoritiesResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCertificateAuthoritiesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateAuthoritiesResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesResponse): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesResponse message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateAuthoritiesResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse.verify|verify} messages.
+ * @param message ListCertificateAuthoritiesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListCertificateAuthoritiesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateAuthoritiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Decodes a ListCertificateAuthoritiesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateAuthoritiesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Verifies a ListCertificateAuthoritiesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateAuthoritiesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateAuthoritiesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse;
+
+ /**
+ * Creates a plain object from a ListCertificateAuthoritiesResponse message. Also converts values to other types if specified.
+ * @param message ListCertificateAuthoritiesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListCertificateAuthoritiesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateAuthoritiesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateAuthoritiesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RestoreCertificateAuthorityRequest. */
+ interface IRestoreCertificateAuthorityRequest {
+
+ /** RestoreCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** RestoreCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a RestoreCertificateAuthorityRequest. */
+ class RestoreCertificateAuthorityRequest implements IRestoreCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new RestoreCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IRestoreCertificateAuthorityRequest);
+
+ /** RestoreCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** RestoreCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new RestoreCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RestoreCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IRestoreCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.RestoreCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified RestoreCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.RestoreCertificateAuthorityRequest.verify|verify} messages.
+ * @param message RestoreCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IRestoreCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RestoreCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.RestoreCertificateAuthorityRequest.verify|verify} messages.
+ * @param message RestoreCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IRestoreCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RestoreCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RestoreCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.RestoreCertificateAuthorityRequest;
+
+ /**
+ * Decodes a RestoreCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RestoreCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.RestoreCertificateAuthorityRequest;
+
+ /**
+ * Verifies a RestoreCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RestoreCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RestoreCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.RestoreCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a RestoreCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message RestoreCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.RestoreCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RestoreCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RestoreCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ScheduleDeleteCertificateAuthorityRequest. */
+ interface IScheduleDeleteCertificateAuthorityRequest {
+
+ /** ScheduleDeleteCertificateAuthorityRequest name */
+ name?: (string|null);
+
+ /** ScheduleDeleteCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a ScheduleDeleteCertificateAuthorityRequest. */
+ class ScheduleDeleteCertificateAuthorityRequest implements IScheduleDeleteCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new ScheduleDeleteCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IScheduleDeleteCertificateAuthorityRequest);
+
+ /** ScheduleDeleteCertificateAuthorityRequest name. */
+ public name: string;
+
+ /** ScheduleDeleteCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ScheduleDeleteCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ScheduleDeleteCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IScheduleDeleteCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.ScheduleDeleteCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified ScheduleDeleteCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ScheduleDeleteCertificateAuthorityRequest.verify|verify} messages.
+ * @param message ScheduleDeleteCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IScheduleDeleteCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ScheduleDeleteCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ScheduleDeleteCertificateAuthorityRequest.verify|verify} messages.
+ * @param message ScheduleDeleteCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IScheduleDeleteCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ScheduleDeleteCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ScheduleDeleteCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ScheduleDeleteCertificateAuthorityRequest;
+
+ /**
+ * Decodes a ScheduleDeleteCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ScheduleDeleteCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ScheduleDeleteCertificateAuthorityRequest;
+
+ /**
+ * Verifies a ScheduleDeleteCertificateAuthorityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ScheduleDeleteCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ScheduleDeleteCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ScheduleDeleteCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from a ScheduleDeleteCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message ScheduleDeleteCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ScheduleDeleteCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ScheduleDeleteCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ScheduleDeleteCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCertificateAuthorityRequest. */
+ interface IUpdateCertificateAuthorityRequest {
+
+ /** UpdateCertificateAuthorityRequest certificateAuthority */
+ certificateAuthority?: (google.cloud.security.privateca.v1beta1.ICertificateAuthority|null);
+
+ /** UpdateCertificateAuthorityRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateAuthorityRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCertificateAuthorityRequest. */
+ class UpdateCertificateAuthorityRequest implements IUpdateCertificateAuthorityRequest {
+
+ /**
+ * Constructs a new UpdateCertificateAuthorityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IUpdateCertificateAuthorityRequest);
+
+ /** UpdateCertificateAuthorityRequest certificateAuthority. */
+ public certificateAuthority?: (google.cloud.security.privateca.v1beta1.ICertificateAuthority|null);
+
+ /** UpdateCertificateAuthorityRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateAuthorityRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCertificateAuthorityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCertificateAuthorityRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IUpdateCertificateAuthorityRequest): google.cloud.security.privateca.v1beta1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Encodes the specified UpdateCertificateAuthorityRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.UpdateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message UpdateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IUpdateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCertificateAuthorityRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.UpdateCertificateAuthorityRequest.verify|verify} messages.
+ * @param message UpdateCertificateAuthorityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IUpdateCertificateAuthorityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCertificateAuthorityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Decodes an UpdateCertificateAuthorityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCertificateAuthorityRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Verifies an UpdateCertificateAuthorityRequest message.
+ * @param message Plain 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 UpdateCertificateAuthorityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCertificateAuthorityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.UpdateCertificateAuthorityRequest;
+
+ /**
+ * Creates a plain object from an UpdateCertificateAuthorityRequest message. Also converts values to other types if specified.
+ * @param message UpdateCertificateAuthorityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.UpdateCertificateAuthorityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCertificateAuthorityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCertificateAuthorityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCertificateRevocationListRequest. */
+ interface IGetCertificateRevocationListRequest {
+
+ /** GetCertificateRevocationListRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCertificateRevocationListRequest. */
+ class GetCertificateRevocationListRequest implements IGetCertificateRevocationListRequest {
+
+ /**
+ * Constructs a new GetCertificateRevocationListRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IGetCertificateRevocationListRequest);
+
+ /** GetCertificateRevocationListRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCertificateRevocationListRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCertificateRevocationListRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IGetCertificateRevocationListRequest): google.cloud.security.privateca.v1beta1.GetCertificateRevocationListRequest;
+
+ /**
+ * Encodes the specified GetCertificateRevocationListRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetCertificateRevocationListRequest.verify|verify} messages.
+ * @param message GetCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IGetCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCertificateRevocationListRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetCertificateRevocationListRequest.verify|verify} messages.
+ * @param message GetCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IGetCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCertificateRevocationListRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.GetCertificateRevocationListRequest;
+
+ /**
+ * Decodes a GetCertificateRevocationListRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.GetCertificateRevocationListRequest;
+
+ /**
+ * Verifies a GetCertificateRevocationListRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCertificateRevocationListRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCertificateRevocationListRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.GetCertificateRevocationListRequest;
+
+ /**
+ * Creates a plain object from a GetCertificateRevocationListRequest message. Also converts values to other types if specified.
+ * @param message GetCertificateRevocationListRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.GetCertificateRevocationListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCertificateRevocationListRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCertificateRevocationListRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateRevocationListsRequest. */
+ interface IListCertificateRevocationListsRequest {
+
+ /** ListCertificateRevocationListsRequest parent */
+ parent?: (string|null);
+
+ /** ListCertificateRevocationListsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCertificateRevocationListsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCertificateRevocationListsRequest filter */
+ filter?: (string|null);
+
+ /** ListCertificateRevocationListsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListCertificateRevocationListsRequest. */
+ class ListCertificateRevocationListsRequest implements IListCertificateRevocationListsRequest {
+
+ /**
+ * Constructs a new ListCertificateRevocationListsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsRequest);
+
+ /** ListCertificateRevocationListsRequest parent. */
+ public parent: string;
+
+ /** ListCertificateRevocationListsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCertificateRevocationListsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCertificateRevocationListsRequest filter. */
+ public filter: string;
+
+ /** ListCertificateRevocationListsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListCertificateRevocationListsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateRevocationListsRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsRequest): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsRequest.verify|verify} messages.
+ * @param message ListCertificateRevocationListsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsRequest.verify|verify} messages.
+ * @param message ListCertificateRevocationListsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateRevocationListsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateRevocationListsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Decodes a ListCertificateRevocationListsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateRevocationListsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Verifies a ListCertificateRevocationListsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateRevocationListsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateRevocationListsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsRequest;
+
+ /**
+ * Creates a plain object from a ListCertificateRevocationListsRequest message. Also converts values to other types if specified.
+ * @param message ListCertificateRevocationListsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateRevocationListsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateRevocationListsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCertificateRevocationListsResponse. */
+ interface IListCertificateRevocationListsResponse {
+
+ /** ListCertificateRevocationListsResponse certificateRevocationLists */
+ certificateRevocationLists?: (google.cloud.security.privateca.v1beta1.ICertificateRevocationList[]|null);
+
+ /** ListCertificateRevocationListsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListCertificateRevocationListsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListCertificateRevocationListsResponse. */
+ class ListCertificateRevocationListsResponse implements IListCertificateRevocationListsResponse {
+
+ /**
+ * Constructs a new ListCertificateRevocationListsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsResponse);
+
+ /** ListCertificateRevocationListsResponse certificateRevocationLists. */
+ public certificateRevocationLists: google.cloud.security.privateca.v1beta1.ICertificateRevocationList[];
+
+ /** ListCertificateRevocationListsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListCertificateRevocationListsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListCertificateRevocationListsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCertificateRevocationListsResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsResponse): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsResponse message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse.verify|verify} messages.
+ * @param message ListCertificateRevocationListsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCertificateRevocationListsResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse.verify|verify} messages.
+ * @param message ListCertificateRevocationListsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListCertificateRevocationListsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCertificateRevocationListsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCertificateRevocationListsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Decodes a ListCertificateRevocationListsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCertificateRevocationListsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Verifies a ListCertificateRevocationListsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCertificateRevocationListsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCertificateRevocationListsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse;
+
+ /**
+ * Creates a plain object from a ListCertificateRevocationListsResponse message. Also converts values to other types if specified.
+ * @param message ListCertificateRevocationListsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListCertificateRevocationListsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCertificateRevocationListsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCertificateRevocationListsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCertificateRevocationListRequest. */
+ interface IUpdateCertificateRevocationListRequest {
+
+ /** UpdateCertificateRevocationListRequest certificateRevocationList */
+ certificateRevocationList?: (google.cloud.security.privateca.v1beta1.ICertificateRevocationList|null);
+
+ /** UpdateCertificateRevocationListRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRevocationListRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an UpdateCertificateRevocationListRequest. */
+ class UpdateCertificateRevocationListRequest implements IUpdateCertificateRevocationListRequest {
+
+ /**
+ * Constructs a new UpdateCertificateRevocationListRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IUpdateCertificateRevocationListRequest);
+
+ /** UpdateCertificateRevocationListRequest certificateRevocationList. */
+ public certificateRevocationList?: (google.cloud.security.privateca.v1beta1.ICertificateRevocationList|null);
+
+ /** UpdateCertificateRevocationListRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /** UpdateCertificateRevocationListRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new UpdateCertificateRevocationListRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCertificateRevocationListRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IUpdateCertificateRevocationListRequest): google.cloud.security.privateca.v1beta1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Encodes the specified UpdateCertificateRevocationListRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.UpdateCertificateRevocationListRequest.verify|verify} messages.
+ * @param message UpdateCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IUpdateCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCertificateRevocationListRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.UpdateCertificateRevocationListRequest.verify|verify} messages.
+ * @param message UpdateCertificateRevocationListRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IUpdateCertificateRevocationListRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCertificateRevocationListRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Decodes an UpdateCertificateRevocationListRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCertificateRevocationListRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Verifies an UpdateCertificateRevocationListRequest message.
+ * @param message Plain 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 UpdateCertificateRevocationListRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCertificateRevocationListRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.UpdateCertificateRevocationListRequest;
+
+ /**
+ * Creates a plain object from an UpdateCertificateRevocationListRequest message. Also converts values to other types if specified.
+ * @param message UpdateCertificateRevocationListRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.UpdateCertificateRevocationListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCertificateRevocationListRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCertificateRevocationListRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetReusableConfigRequest. */
+ interface IGetReusableConfigRequest {
+
+ /** GetReusableConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetReusableConfigRequest. */
+ class GetReusableConfigRequest implements IGetReusableConfigRequest {
+
+ /**
+ * Constructs a new GetReusableConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IGetReusableConfigRequest);
+
+ /** GetReusableConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetReusableConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetReusableConfigRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IGetReusableConfigRequest): google.cloud.security.privateca.v1beta1.GetReusableConfigRequest;
+
+ /**
+ * Encodes the specified GetReusableConfigRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetReusableConfigRequest.verify|verify} messages.
+ * @param message GetReusableConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IGetReusableConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetReusableConfigRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.GetReusableConfigRequest.verify|verify} messages.
+ * @param message GetReusableConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IGetReusableConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetReusableConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetReusableConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.GetReusableConfigRequest;
+
+ /**
+ * Decodes a GetReusableConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetReusableConfigRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.GetReusableConfigRequest;
+
+ /**
+ * Verifies a GetReusableConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetReusableConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetReusableConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.GetReusableConfigRequest;
+
+ /**
+ * Creates a plain object from a GetReusableConfigRequest message. Also converts values to other types if specified.
+ * @param message GetReusableConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.GetReusableConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetReusableConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetReusableConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListReusableConfigsRequest. */
+ interface IListReusableConfigsRequest {
+
+ /** ListReusableConfigsRequest parent */
+ parent?: (string|null);
+
+ /** ListReusableConfigsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListReusableConfigsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListReusableConfigsRequest filter */
+ filter?: (string|null);
+
+ /** ListReusableConfigsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListReusableConfigsRequest. */
+ class ListReusableConfigsRequest implements IListReusableConfigsRequest {
+
+ /**
+ * Constructs a new ListReusableConfigsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListReusableConfigsRequest);
+
+ /** ListReusableConfigsRequest parent. */
+ public parent: string;
+
+ /** ListReusableConfigsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListReusableConfigsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListReusableConfigsRequest filter. */
+ public filter: string;
+
+ /** ListReusableConfigsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListReusableConfigsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListReusableConfigsRequest instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListReusableConfigsRequest): google.cloud.security.privateca.v1beta1.ListReusableConfigsRequest;
+
+ /**
+ * Encodes the specified ListReusableConfigsRequest message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListReusableConfigsRequest.verify|verify} messages.
+ * @param message ListReusableConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListReusableConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListReusableConfigsRequest message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListReusableConfigsRequest.verify|verify} messages.
+ * @param message ListReusableConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListReusableConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListReusableConfigsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListReusableConfigsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListReusableConfigsRequest;
+
+ /**
+ * Decodes a ListReusableConfigsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListReusableConfigsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListReusableConfigsRequest;
+
+ /**
+ * Verifies a ListReusableConfigsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListReusableConfigsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListReusableConfigsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListReusableConfigsRequest;
+
+ /**
+ * Creates a plain object from a ListReusableConfigsRequest message. Also converts values to other types if specified.
+ * @param message ListReusableConfigsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListReusableConfigsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListReusableConfigsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListReusableConfigsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListReusableConfigsResponse. */
+ interface IListReusableConfigsResponse {
+
+ /** ListReusableConfigsResponse reusableConfigs */
+ reusableConfigs?: (google.cloud.security.privateca.v1beta1.IReusableConfig[]|null);
+
+ /** ListReusableConfigsResponse nextPageToken */
+ nextPageToken?: (string|null);
+
+ /** ListReusableConfigsResponse unreachable */
+ unreachable?: (string[]|null);
+ }
+
+ /** Represents a ListReusableConfigsResponse. */
+ class ListReusableConfigsResponse implements IListReusableConfigsResponse {
+
+ /**
+ * Constructs a new ListReusableConfigsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IListReusableConfigsResponse);
+
+ /** ListReusableConfigsResponse reusableConfigs. */
+ public reusableConfigs: google.cloud.security.privateca.v1beta1.IReusableConfig[];
+
+ /** ListReusableConfigsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /** ListReusableConfigsResponse unreachable. */
+ public unreachable: string[];
+
+ /**
+ * Creates a new ListReusableConfigsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListReusableConfigsResponse instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IListReusableConfigsResponse): google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse;
+
+ /**
+ * Encodes the specified ListReusableConfigsResponse message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse.verify|verify} messages.
+ * @param message ListReusableConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IListReusableConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListReusableConfigsResponse message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse.verify|verify} messages.
+ * @param message ListReusableConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IListReusableConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListReusableConfigsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListReusableConfigsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse;
+
+ /**
+ * Decodes a ListReusableConfigsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListReusableConfigsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse;
+
+ /**
+ * Verifies a ListReusableConfigsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListReusableConfigsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListReusableConfigsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse;
+
+ /**
+ * Creates a plain object from a ListReusableConfigsResponse message. Also converts values to other types if specified.
+ * @param message ListReusableConfigsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.ListReusableConfigsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListReusableConfigsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListReusableConfigsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationMetadata. */
+ interface IOperationMetadata {
+
+ /** OperationMetadata createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target */
+ target?: (string|null);
+
+ /** OperationMetadata verb */
+ verb?: (string|null);
+
+ /** OperationMetadata statusMessage */
+ statusMessage?: (string|null);
+
+ /** OperationMetadata requestedCancellation */
+ requestedCancellation?: (boolean|null);
+
+ /** OperationMetadata apiVersion */
+ apiVersion?: (string|null);
+ }
+
+ /** Represents an OperationMetadata. */
+ class OperationMetadata implements IOperationMetadata {
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.security.privateca.v1beta1.IOperationMetadata);
+
+ /** OperationMetadata createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** OperationMetadata target. */
+ public target: string;
+
+ /** OperationMetadata verb. */
+ public verb: string;
+
+ /** OperationMetadata statusMessage. */
+ public statusMessage: string;
+
+ /** OperationMetadata requestedCancellation. */
+ public requestedCancellation: boolean;
+
+ /** OperationMetadata apiVersion. */
+ public apiVersion: string;
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationMetadata instance
+ */
+ public static create(properties?: google.cloud.security.privateca.v1beta1.IOperationMetadata): google.cloud.security.privateca.v1beta1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.security.privateca.v1beta1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.security.privateca.v1beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1beta1.OperationMetadata.verify|verify} messages.
+ * @param message OperationMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.security.privateca.v1beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.security.privateca.v1beta1.OperationMetadata;
+
+ /**
+ * Decodes an OperationMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.security.privateca.v1beta1.OperationMetadata;
+
+ /**
+ * Verifies an OperationMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.security.privateca.v1beta1.OperationMetadata;
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @param message OperationMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.security.privateca.v1beta1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+ }
+
+ /** 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);
+
+ /** MethodOptions .google.longrunning.operationInfo */
+ ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a 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 Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Any
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;
+
+ /**
+ * Verifies a FieldMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DoubleValue. */
+ interface IDoubleValue {
+
+ /** DoubleValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a DoubleValue. */
+ class DoubleValue implements IDoubleValue {
+
+ /**
+ * Constructs a new DoubleValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDoubleValue);
+
+ /** DoubleValue value. */
+ public value: number;
+
+ /**
+ * Creates a new DoubleValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DoubleValue instance
+ */
+ public static create(properties?: google.protobuf.IDoubleValue): google.protobuf.DoubleValue;
+
+ /**
+ * Encodes the specified DoubleValue message. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DoubleValue message, length delimited. Does not implicitly {@link google.protobuf.DoubleValue.verify|verify} messages.
+ * @param message DoubleValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDoubleValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DoubleValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DoubleValue;
+
+ /**
+ * Decodes a DoubleValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DoubleValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DoubleValue;
+
+ /**
+ * Verifies a DoubleValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DoubleValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DoubleValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DoubleValue;
+
+ /**
+ * Creates a plain object from a DoubleValue message. Also converts values to other types if specified.
+ * @param message DoubleValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DoubleValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DoubleValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DoubleValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FloatValue. */
+ interface IFloatValue {
+
+ /** FloatValue value */
+ value?: (number|null);
+ }
+
+ /** Represents a FloatValue. */
+ class FloatValue implements IFloatValue {
+
+ /**
+ * Constructs a new FloatValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFloatValue);
+
+ /** FloatValue value. */
+ public value: number;
+
+ /**
+ * Creates a new FloatValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FloatValue instance
+ */
+ public static create(properties?: google.protobuf.IFloatValue): google.protobuf.FloatValue;
+
+ /**
+ * Encodes the specified FloatValue message. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FloatValue message, length delimited. Does not implicitly {@link google.protobuf.FloatValue.verify|verify} messages.
+ * @param message FloatValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFloatValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FloatValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FloatValue;
+
+ /**
+ * Decodes a FloatValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FloatValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FloatValue;
+
+ /**
+ * Verifies a FloatValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FloatValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FloatValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FloatValue;
+
+ /**
+ * Creates a plain object from a FloatValue message. Also converts values to other types if specified.
+ * @param message FloatValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FloatValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FloatValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FloatValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int64Value. */
+ interface IInt64Value {
+
+ /** Int64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents an Int64Value. */
+ class Int64Value implements IInt64Value {
+
+ /**
+ * Constructs a new Int64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt64Value);
+
+ /** Int64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new Int64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int64Value instance
+ */
+ public static create(properties?: google.protobuf.IInt64Value): google.protobuf.Int64Value;
+
+ /**
+ * Encodes the specified Int64Value message. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int64Value message, length delimited. Does not implicitly {@link google.protobuf.Int64Value.verify|verify} messages.
+ * @param message Int64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Int64Value;
+
+ /**
+ * Decodes an Int64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Int64Value;
+
+ /**
+ * Verifies an Int64Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Int64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int64Value;
+
+ /**
+ * Creates a plain object from an Int64Value message. Also converts values to other types if specified.
+ * @param message Int64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt64Value. */
+ interface IUInt64Value {
+
+ /** UInt64Value value */
+ value?: (number|Long|string|null);
+ }
+
+ /** Represents a UInt64Value. */
+ class UInt64Value implements IUInt64Value {
+
+ /**
+ * Constructs a new UInt64Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt64Value);
+
+ /** UInt64Value value. */
+ public value: (number|Long|string);
+
+ /**
+ * Creates a new UInt64Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt64Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt64Value): google.protobuf.UInt64Value;
+
+ /**
+ * Encodes the specified UInt64Value message. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt64Value message, length delimited. Does not implicitly {@link google.protobuf.UInt64Value.verify|verify} messages.
+ * @param message UInt64Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt64Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UInt64Value;
+
+ /**
+ * Decodes a UInt64Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt64Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UInt64Value;
+
+ /**
+ * Verifies a UInt64Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt64Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt64Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt64Value;
+
+ /**
+ * Creates a plain object from a UInt64Value message. Also converts values to other types if specified.
+ * @param message UInt64Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt64Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt64Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt64Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Int32Value. */
+ interface IInt32Value {
+
+ /** Int32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents an Int32Value. */
+ class Int32Value implements IInt32Value {
+
+ /**
+ * Constructs a new Int32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IInt32Value);
+
+ /** Int32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new Int32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Int32Value instance
+ */
+ public static create(properties?: google.protobuf.IInt32Value): google.protobuf.Int32Value;
+
+ /**
+ * Encodes the specified Int32Value message. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Int32Value message, length delimited. Does not implicitly {@link google.protobuf.Int32Value.verify|verify} messages.
+ * @param message Int32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Int32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Int32Value;
+
+ /**
+ * Decodes an Int32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Int32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Int32Value;
+
+ /**
+ * Verifies an Int32Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Int32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Int32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Int32Value;
+
+ /**
+ * Creates a plain object from an Int32Value message. Also converts values to other types if specified.
+ * @param message Int32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Int32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Int32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Int32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a UInt32Value. */
+ interface IUInt32Value {
+
+ /** UInt32Value value */
+ value?: (number|null);
+ }
+
+ /** Represents a UInt32Value. */
+ class UInt32Value implements IUInt32Value {
+
+ /**
+ * Constructs a new UInt32Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUInt32Value);
+
+ /** UInt32Value value. */
+ public value: number;
+
+ /**
+ * Creates a new UInt32Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UInt32Value instance
+ */
+ public static create(properties?: google.protobuf.IUInt32Value): google.protobuf.UInt32Value;
+
+ /**
+ * Encodes the specified UInt32Value message. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UInt32Value message, length delimited. Does not implicitly {@link google.protobuf.UInt32Value.verify|verify} messages.
+ * @param message UInt32Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUInt32Value, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UInt32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UInt32Value;
+
+ /**
+ * Decodes a UInt32Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UInt32Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UInt32Value;
+
+ /**
+ * Verifies a UInt32Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a UInt32Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UInt32Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UInt32Value;
+
+ /**
+ * Creates a plain object from a UInt32Value message. Also converts values to other types if specified.
+ * @param message UInt32Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UInt32Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UInt32Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UInt32Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BoolValue. */
+ interface IBoolValue {
+
+ /** BoolValue value */
+ value?: (boolean|null);
+ }
+
+ /** Represents a BoolValue. */
+ class BoolValue implements IBoolValue {
+
+ /**
+ * Constructs a new BoolValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBoolValue);
+
+ /** BoolValue value. */
+ public value: boolean;
+
+ /**
+ * Creates a new BoolValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoolValue instance
+ */
+ public static create(properties?: google.protobuf.IBoolValue): google.protobuf.BoolValue;
+
+ /**
+ * Encodes the specified BoolValue message. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoolValue message, length delimited. Does not implicitly {@link google.protobuf.BoolValue.verify|verify} messages.
+ * @param message BoolValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBoolValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoolValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.BoolValue;
+
+ /**
+ * Decodes a BoolValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoolValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.BoolValue;
+
+ /**
+ * Verifies a BoolValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoolValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoolValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BoolValue;
+
+ /**
+ * Creates a plain object from a BoolValue message. Also converts values to other types if specified.
+ * @param message BoolValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BoolValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoolValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BoolValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StringValue. */
+ interface IStringValue {
+
+ /** StringValue value */
+ value?: (string|null);
+ }
+
+ /** Represents a StringValue. */
+ class StringValue implements IStringValue {
+
+ /**
+ * Constructs a new StringValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IStringValue);
+
+ /** StringValue value. */
+ public value: string;
+
+ /**
+ * Creates a new StringValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StringValue instance
+ */
+ public static create(properties?: google.protobuf.IStringValue): google.protobuf.StringValue;
+
+ /**
+ * Encodes the specified StringValue message. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StringValue message, length delimited. Does not implicitly {@link google.protobuf.StringValue.verify|verify} messages.
+ * @param message StringValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IStringValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StringValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.StringValue;
+
+ /**
+ * Decodes a StringValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StringValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.StringValue;
+
+ /**
+ * Verifies a StringValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StringValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StringValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.StringValue;
+
+ /**
+ * Creates a plain object from a StringValue message. Also converts values to other types if specified.
+ * @param message StringValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.StringValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StringValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StringValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BytesValue. */
+ interface IBytesValue {
+
+ /** BytesValue value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents a BytesValue. */
+ class BytesValue implements IBytesValue {
+
+ /**
+ * Constructs a new BytesValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IBytesValue);
+
+ /** BytesValue value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new BytesValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BytesValue instance
+ */
+ public static create(properties?: google.protobuf.IBytesValue): google.protobuf.BytesValue;
+
+ /**
+ * Encodes the specified BytesValue message. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BytesValue message, length delimited. Does not implicitly {@link google.protobuf.BytesValue.verify|verify} messages.
+ * @param message BytesValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IBytesValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BytesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.BytesValue;
+
+ /**
+ * Decodes a BytesValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BytesValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.BytesValue;
+
+ /**
+ * Verifies a BytesValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BytesValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BytesValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.BytesValue;
+
+ /**
+ * Creates a plain object from a BytesValue message. Also converts values to other types if specified.
+ * @param message BytesValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.BytesValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BytesValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BytesValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** Properties of an Expr. */
+ interface IExpr {
+
+ /** Expr expression */
+ expression?: (string|null);
+
+ /** Expr title */
+ title?: (string|null);
+
+ /** Expr description */
+ description?: (string|null);
+
+ /** Expr location */
+ location?: (string|null);
+ }
+
+ /** Represents an Expr. */
+ class Expr implements IExpr {
+
+ /**
+ * Constructs a new Expr.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IExpr);
+
+ /** Expr expression. */
+ public expression: string;
+
+ /** Expr title. */
+ public title: string;
+
+ /** Expr description. */
+ public description: string;
+
+ /** Expr location. */
+ public location: string;
+
+ /**
+ * Creates a new Expr instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Expr instance
+ */
+ public static create(properties?: google.type.IExpr): google.type.Expr;
+
+ /**
+ * Encodes the specified Expr message. Does not implicitly {@link google.type.Expr.verify|verify} messages.
+ * @param message Expr message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IExpr, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Expr message, length delimited. Does not implicitly {@link google.type.Expr.verify|verify} messages.
+ * @param message Expr message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IExpr, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Expr message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Expr
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Expr;
+
+ /**
+ * Decodes an Expr message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Expr
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Expr;
+
+ /**
+ * Verifies an Expr message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Expr message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Expr
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Expr;
+
+ /**
+ * Creates a plain object from an Expr message. Also converts values to other types if specified.
+ * @param message Expr
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Expr, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Expr to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Expr
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/packages/google-cloud-security-privateca/protos/protos.js b/packages/google-cloud-security-privateca/protos/protos.js
new file mode 100644
index 00000000000..8f6ee5c0469
--- /dev/null
+++ b/packages/google-cloud-security-privateca/protos/protos.js
@@ -0,0 +1,57094 @@
+// 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_security_private_ca_protos || ($protobuf.roots._google_cloud_security_private_ca_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.security = (function() {
+
+ /**
+ * Namespace security.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var security = {};
+
+ security.privateca = (function() {
+
+ /**
+ * Namespace privateca.
+ * @memberof google.cloud.security
+ * @namespace
+ */
+ var privateca = {};
+
+ privateca.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.security.privateca
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.CertificateAuthority = (function() {
+
+ /**
+ * Properties of a CertificateAuthority.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificateAuthority
+ * @property {string|null} [name] CertificateAuthority name
+ * @property {google.cloud.security.privateca.v1.CertificateAuthority.Type|null} [type] CertificateAuthority type
+ * @property {google.cloud.security.privateca.v1.ICertificateConfig|null} [config] CertificateAuthority config
+ * @property {google.protobuf.IDuration|null} [lifetime] CertificateAuthority lifetime
+ * @property {google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec|null} [keySpec] CertificateAuthority keySpec
+ * @property {google.cloud.security.privateca.v1.ISubordinateConfig|null} [subordinateConfig] CertificateAuthority subordinateConfig
+ * @property {google.cloud.security.privateca.v1.CaPool.Tier|null} [tier] CertificateAuthority tier
+ * @property {google.cloud.security.privateca.v1.CertificateAuthority.State|null} [state] CertificateAuthority state
+ * @property {Array.|null} [pemCaCertificates] CertificateAuthority pemCaCertificates
+ * @property {Array.|null} [caCertificateDescriptions] CertificateAuthority caCertificateDescriptions
+ * @property {string|null} [gcsBucket] CertificateAuthority gcsBucket
+ * @property {google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls|null} [accessUrls] CertificateAuthority accessUrls
+ * @property {google.protobuf.ITimestamp|null} [createTime] CertificateAuthority createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] CertificateAuthority updateTime
+ * @property {google.protobuf.ITimestamp|null} [deleteTime] CertificateAuthority deleteTime
+ * @property {google.protobuf.ITimestamp|null} [expireTime] CertificateAuthority expireTime
+ * @property {Object.|null} [labels] CertificateAuthority labels
+ */
+
+ /**
+ * Constructs a new CertificateAuthority.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CertificateAuthority.
+ * @implements ICertificateAuthority
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificateAuthority=} [properties] Properties to set
+ */
+ function CertificateAuthority(properties) {
+ this.pemCaCertificates = [];
+ this.caCertificateDescriptions = [];
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CertificateAuthority name.
+ * @member {string} name
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.name = "";
+
+ /**
+ * CertificateAuthority type.
+ * @member {google.cloud.security.privateca.v1.CertificateAuthority.Type} type
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.type = 0;
+
+ /**
+ * CertificateAuthority config.
+ * @member {google.cloud.security.privateca.v1.ICertificateConfig|null|undefined} config
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.config = null;
+
+ /**
+ * CertificateAuthority lifetime.
+ * @member {google.protobuf.IDuration|null|undefined} lifetime
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.lifetime = null;
+
+ /**
+ * CertificateAuthority keySpec.
+ * @member {google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec|null|undefined} keySpec
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.keySpec = null;
+
+ /**
+ * CertificateAuthority subordinateConfig.
+ * @member {google.cloud.security.privateca.v1.ISubordinateConfig|null|undefined} subordinateConfig
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.subordinateConfig = null;
+
+ /**
+ * CertificateAuthority tier.
+ * @member {google.cloud.security.privateca.v1.CaPool.Tier} tier
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.tier = 0;
+
+ /**
+ * CertificateAuthority state.
+ * @member {google.cloud.security.privateca.v1.CertificateAuthority.State} state
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.state = 0;
+
+ /**
+ * CertificateAuthority pemCaCertificates.
+ * @member {Array.} pemCaCertificates
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.pemCaCertificates = $util.emptyArray;
+
+ /**
+ * CertificateAuthority caCertificateDescriptions.
+ * @member {Array.} caCertificateDescriptions
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.caCertificateDescriptions = $util.emptyArray;
+
+ /**
+ * CertificateAuthority gcsBucket.
+ * @member {string} gcsBucket
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.gcsBucket = "";
+
+ /**
+ * CertificateAuthority accessUrls.
+ * @member {google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls|null|undefined} accessUrls
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.accessUrls = null;
+
+ /**
+ * CertificateAuthority createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.createTime = null;
+
+ /**
+ * CertificateAuthority updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.updateTime = null;
+
+ /**
+ * CertificateAuthority deleteTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} deleteTime
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.deleteTime = null;
+
+ /**
+ * CertificateAuthority expireTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} expireTime
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.expireTime = null;
+
+ /**
+ * CertificateAuthority labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ */
+ CertificateAuthority.prototype.labels = $util.emptyObject;
+
+ /**
+ * Creates a new CertificateAuthority instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateAuthority=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority} CertificateAuthority instance
+ */
+ CertificateAuthority.create = function create(properties) {
+ return new CertificateAuthority(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateAuthority message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateAuthority} message CertificateAuthority message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateAuthority.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.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.type);
+ if (message.config != null && Object.hasOwnProperty.call(message, "config"))
+ $root.google.cloud.security.privateca.v1.CertificateConfig.encode(message.config, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.lifetime != null && Object.hasOwnProperty.call(message, "lifetime"))
+ $root.google.protobuf.Duration.encode(message.lifetime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.keySpec != null && Object.hasOwnProperty.call(message, "keySpec"))
+ $root.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.encode(message.keySpec, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.subordinateConfig != null && Object.hasOwnProperty.call(message, "subordinateConfig"))
+ $root.google.cloud.security.privateca.v1.SubordinateConfig.encode(message.subordinateConfig, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.tier != null && Object.hasOwnProperty.call(message, "tier"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.tier);
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 8, wireType 0 =*/64).int32(message.state);
+ if (message.pemCaCertificates != null && message.pemCaCertificates.length)
+ for (var i = 0; i < message.pemCaCertificates.length; ++i)
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.pemCaCertificates[i]);
+ if (message.caCertificateDescriptions != null && message.caCertificateDescriptions.length)
+ for (var i = 0; i < message.caCertificateDescriptions.length; ++i)
+ $root.google.cloud.security.privateca.v1.CertificateDescription.encode(message.caCertificateDescriptions[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.gcsBucket != null && Object.hasOwnProperty.call(message, "gcsBucket"))
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.gcsBucket);
+ if (message.accessUrls != null && Object.hasOwnProperty.call(message, "accessUrls"))
+ $root.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.encode(message.accessUrls, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 14, wireType 2 =*/114).fork()).ldelim();
+ if (message.deleteTime != null && Object.hasOwnProperty.call(message, "deleteTime"))
+ $root.google.protobuf.Timestamp.encode(message.deleteTime, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim();
+ if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime"))
+ $root.google.protobuf.Timestamp.encode(message.expireTime, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 17, wireType 2 =*/138).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateAuthority message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateAuthority} message CertificateAuthority message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateAuthority.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateAuthority message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority} CertificateAuthority
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateAuthority.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.security.privateca.v1.CertificateAuthority(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.type = reader.int32();
+ break;
+ }
+ case 3: {
+ message.config = $root.google.cloud.security.privateca.v1.CertificateConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.lifetime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.keySpec = $root.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.subordinateConfig = $root.google.cloud.security.privateca.v1.SubordinateConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.tier = reader.int32();
+ break;
+ }
+ case 8: {
+ message.state = reader.int32();
+ break;
+ }
+ case 9: {
+ if (!(message.pemCaCertificates && message.pemCaCertificates.length))
+ message.pemCaCertificates = [];
+ message.pemCaCertificates.push(reader.string());
+ break;
+ }
+ case 10: {
+ if (!(message.caCertificateDescriptions && message.caCertificateDescriptions.length))
+ message.caCertificateDescriptions = [];
+ message.caCertificateDescriptions.push($root.google.cloud.security.privateca.v1.CertificateDescription.decode(reader, reader.uint32()));
+ break;
+ }
+ case 11: {
+ message.gcsBucket = reader.string();
+ break;
+ }
+ case 12: {
+ message.accessUrls = $root.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 14: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 15: {
+ message.deleteTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 16: {
+ message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 17: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateAuthority message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority} CertificateAuthority
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateAuthority.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateAuthority message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateAuthority.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.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.config != null && message.hasOwnProperty("config")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateConfig.verify(message.config);
+ if (error)
+ return "config." + error;
+ }
+ if (message.lifetime != null && message.hasOwnProperty("lifetime")) {
+ var error = $root.google.protobuf.Duration.verify(message.lifetime);
+ if (error)
+ return "lifetime." + error;
+ }
+ if (message.keySpec != null && message.hasOwnProperty("keySpec")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.verify(message.keySpec);
+ if (error)
+ return "keySpec." + error;
+ }
+ if (message.subordinateConfig != null && message.hasOwnProperty("subordinateConfig")) {
+ var error = $root.google.cloud.security.privateca.v1.SubordinateConfig.verify(message.subordinateConfig);
+ if (error)
+ return "subordinateConfig." + error;
+ }
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ switch (message.tier) {
+ default:
+ return "tier: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.pemCaCertificates != null && message.hasOwnProperty("pemCaCertificates")) {
+ if (!Array.isArray(message.pemCaCertificates))
+ return "pemCaCertificates: array expected";
+ for (var i = 0; i < message.pemCaCertificates.length; ++i)
+ if (!$util.isString(message.pemCaCertificates[i]))
+ return "pemCaCertificates: string[] expected";
+ }
+ if (message.caCertificateDescriptions != null && message.hasOwnProperty("caCertificateDescriptions")) {
+ if (!Array.isArray(message.caCertificateDescriptions))
+ return "caCertificateDescriptions: array expected";
+ for (var i = 0; i < message.caCertificateDescriptions.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateDescription.verify(message.caCertificateDescriptions[i]);
+ if (error)
+ return "caCertificateDescriptions." + error;
+ }
+ }
+ if (message.gcsBucket != null && message.hasOwnProperty("gcsBucket"))
+ if (!$util.isString(message.gcsBucket))
+ return "gcsBucket: string expected";
+ if (message.accessUrls != null && message.hasOwnProperty("accessUrls")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.verify(message.accessUrls);
+ if (error)
+ return "accessUrls." + error;
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.deleteTime != null && message.hasOwnProperty("deleteTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.deleteTime);
+ if (error)
+ return "deleteTime." + error;
+ }
+ if (message.expireTime != null && message.hasOwnProperty("expireTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.expireTime);
+ if (error)
+ return "expireTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CertificateAuthority message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority} CertificateAuthority
+ */
+ CertificateAuthority.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateAuthority)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateAuthority();
+ if (object.name != null)
+ message.name = String(object.name);
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "SELF_SIGNED":
+ case 1:
+ message.type = 1;
+ break;
+ case "SUBORDINATE":
+ case 2:
+ message.type = 2;
+ break;
+ }
+ if (object.config != null) {
+ if (typeof object.config !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.config: object expected");
+ message.config = $root.google.cloud.security.privateca.v1.CertificateConfig.fromObject(object.config);
+ }
+ if (object.lifetime != null) {
+ if (typeof object.lifetime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.lifetime: object expected");
+ message.lifetime = $root.google.protobuf.Duration.fromObject(object.lifetime);
+ }
+ if (object.keySpec != null) {
+ if (typeof object.keySpec !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.keySpec: object expected");
+ message.keySpec = $root.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.fromObject(object.keySpec);
+ }
+ if (object.subordinateConfig != null) {
+ if (typeof object.subordinateConfig !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.subordinateConfig: object expected");
+ message.subordinateConfig = $root.google.cloud.security.privateca.v1.SubordinateConfig.fromObject(object.subordinateConfig);
+ }
+ switch (object.tier) {
+ default:
+ if (typeof object.tier === "number") {
+ message.tier = object.tier;
+ break;
+ }
+ break;
+ case "TIER_UNSPECIFIED":
+ case 0:
+ message.tier = 0;
+ break;
+ case "ENTERPRISE":
+ case 1:
+ message.tier = 1;
+ break;
+ case "DEVOPS":
+ case 2:
+ message.tier = 2;
+ break;
+ }
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ENABLED":
+ case 1:
+ message.state = 1;
+ break;
+ case "DISABLED":
+ case 2:
+ message.state = 2;
+ break;
+ case "STAGED":
+ case 3:
+ message.state = 3;
+ break;
+ case "AWAITING_USER_ACTIVATION":
+ case 4:
+ message.state = 4;
+ break;
+ case "DELETED":
+ case 5:
+ message.state = 5;
+ break;
+ }
+ if (object.pemCaCertificates) {
+ if (!Array.isArray(object.pemCaCertificates))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.pemCaCertificates: array expected");
+ message.pemCaCertificates = [];
+ for (var i = 0; i < object.pemCaCertificates.length; ++i)
+ message.pemCaCertificates[i] = String(object.pemCaCertificates[i]);
+ }
+ if (object.caCertificateDescriptions) {
+ if (!Array.isArray(object.caCertificateDescriptions))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.caCertificateDescriptions: array expected");
+ message.caCertificateDescriptions = [];
+ for (var i = 0; i < object.caCertificateDescriptions.length; ++i) {
+ if (typeof object.caCertificateDescriptions[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.caCertificateDescriptions: object expected");
+ message.caCertificateDescriptions[i] = $root.google.cloud.security.privateca.v1.CertificateDescription.fromObject(object.caCertificateDescriptions[i]);
+ }
+ }
+ if (object.gcsBucket != null)
+ message.gcsBucket = String(object.gcsBucket);
+ if (object.accessUrls != null) {
+ if (typeof object.accessUrls !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.accessUrls: object expected");
+ message.accessUrls = $root.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.fromObject(object.accessUrls);
+ }
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.deleteTime != null) {
+ if (typeof object.deleteTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.deleteTime: object expected");
+ message.deleteTime = $root.google.protobuf.Timestamp.fromObject(object.deleteTime);
+ }
+ if (object.expireTime != null) {
+ if (typeof object.expireTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.expireTime: object expected");
+ message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateAuthority message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority} message CertificateAuthority
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateAuthority.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.pemCaCertificates = [];
+ object.caCertificateDescriptions = [];
+ }
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.type = options.enums === String ? "TYPE_UNSPECIFIED" : 0;
+ object.config = null;
+ object.lifetime = null;
+ object.keySpec = null;
+ object.subordinateConfig = null;
+ object.tier = options.enums === String ? "TIER_UNSPECIFIED" : 0;
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.gcsBucket = "";
+ object.accessUrls = null;
+ object.createTime = null;
+ object.updateTime = null;
+ object.deleteTime = null;
+ object.expireTime = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.security.privateca.v1.CertificateAuthority.Type[message.type] === undefined ? message.type : $root.google.cloud.security.privateca.v1.CertificateAuthority.Type[message.type] : message.type;
+ if (message.config != null && message.hasOwnProperty("config"))
+ object.config = $root.google.cloud.security.privateca.v1.CertificateConfig.toObject(message.config, options);
+ if (message.lifetime != null && message.hasOwnProperty("lifetime"))
+ object.lifetime = $root.google.protobuf.Duration.toObject(message.lifetime, options);
+ if (message.keySpec != null && message.hasOwnProperty("keySpec"))
+ object.keySpec = $root.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.toObject(message.keySpec, options);
+ if (message.subordinateConfig != null && message.hasOwnProperty("subordinateConfig"))
+ object.subordinateConfig = $root.google.cloud.security.privateca.v1.SubordinateConfig.toObject(message.subordinateConfig, options);
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ object.tier = options.enums === String ? $root.google.cloud.security.privateca.v1.CaPool.Tier[message.tier] === undefined ? message.tier : $root.google.cloud.security.privateca.v1.CaPool.Tier[message.tier] : message.tier;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.security.privateca.v1.CertificateAuthority.State[message.state] === undefined ? message.state : $root.google.cloud.security.privateca.v1.CertificateAuthority.State[message.state] : message.state;
+ if (message.pemCaCertificates && message.pemCaCertificates.length) {
+ object.pemCaCertificates = [];
+ for (var j = 0; j < message.pemCaCertificates.length; ++j)
+ object.pemCaCertificates[j] = message.pemCaCertificates[j];
+ }
+ if (message.caCertificateDescriptions && message.caCertificateDescriptions.length) {
+ object.caCertificateDescriptions = [];
+ for (var j = 0; j < message.caCertificateDescriptions.length; ++j)
+ object.caCertificateDescriptions[j] = $root.google.cloud.security.privateca.v1.CertificateDescription.toObject(message.caCertificateDescriptions[j], options);
+ }
+ if (message.gcsBucket != null && message.hasOwnProperty("gcsBucket"))
+ object.gcsBucket = message.gcsBucket;
+ if (message.accessUrls != null && message.hasOwnProperty("accessUrls"))
+ object.accessUrls = $root.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.toObject(message.accessUrls, options);
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.deleteTime != null && message.hasOwnProperty("deleteTime"))
+ object.deleteTime = $root.google.protobuf.Timestamp.toObject(message.deleteTime, options);
+ if (message.expireTime != null && message.hasOwnProperty("expireTime"))
+ object.expireTime = $root.google.protobuf.Timestamp.toObject(message.expireTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CertificateAuthority to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CertificateAuthority.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CertificateAuthority
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CertificateAuthority.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateAuthority";
+ };
+
+ /**
+ * Type enum.
+ * @name google.cloud.security.privateca.v1.CertificateAuthority.Type
+ * @enum {number}
+ * @property {number} TYPE_UNSPECIFIED=0 TYPE_UNSPECIFIED value
+ * @property {number} SELF_SIGNED=1 SELF_SIGNED value
+ * @property {number} SUBORDINATE=2 SUBORDINATE value
+ */
+ CertificateAuthority.Type = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SELF_SIGNED"] = 1;
+ values[valuesById[2] = "SUBORDINATE"] = 2;
+ return values;
+ })();
+
+ /**
+ * State enum.
+ * @name google.cloud.security.privateca.v1.CertificateAuthority.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ENABLED=1 ENABLED value
+ * @property {number} DISABLED=2 DISABLED value
+ * @property {number} STAGED=3 STAGED value
+ * @property {number} AWAITING_USER_ACTIVATION=4 AWAITING_USER_ACTIVATION value
+ * @property {number} DELETED=5 DELETED value
+ */
+ CertificateAuthority.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ENABLED"] = 1;
+ values[valuesById[2] = "DISABLED"] = 2;
+ values[valuesById[3] = "STAGED"] = 3;
+ values[valuesById[4] = "AWAITING_USER_ACTIVATION"] = 4;
+ values[valuesById[5] = "DELETED"] = 5;
+ return values;
+ })();
+
+ CertificateAuthority.AccessUrls = (function() {
+
+ /**
+ * Properties of an AccessUrls.
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @interface IAccessUrls
+ * @property {string|null} [caCertificateAccessUrl] AccessUrls caCertificateAccessUrl
+ * @property {Array.|null} [crlAccessUrls] AccessUrls crlAccessUrls
+ */
+
+ /**
+ * Constructs a new AccessUrls.
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @classdesc Represents an AccessUrls.
+ * @implements IAccessUrls
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls=} [properties] Properties to set
+ */
+ function AccessUrls(properties) {
+ this.crlAccessUrls = [];
+ 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]];
+ }
+
+ /**
+ * AccessUrls caCertificateAccessUrl.
+ * @member {string} caCertificateAccessUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @instance
+ */
+ AccessUrls.prototype.caCertificateAccessUrl = "";
+
+ /**
+ * AccessUrls crlAccessUrls.
+ * @member {Array.} crlAccessUrls
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @instance
+ */
+ AccessUrls.prototype.crlAccessUrls = $util.emptyArray;
+
+ /**
+ * Creates a new AccessUrls instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls} AccessUrls instance
+ */
+ AccessUrls.create = function create(properties) {
+ return new AccessUrls(properties);
+ };
+
+ /**
+ * Encodes the specified AccessUrls message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls} message AccessUrls message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AccessUrls.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.caCertificateAccessUrl != null && Object.hasOwnProperty.call(message, "caCertificateAccessUrl"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.caCertificateAccessUrl);
+ if (message.crlAccessUrls != null && message.crlAccessUrls.length)
+ for (var i = 0; i < message.crlAccessUrls.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.crlAccessUrls[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AccessUrls message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IAccessUrls} message AccessUrls message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AccessUrls.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AccessUrls message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls} AccessUrls
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AccessUrls.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.security.privateca.v1.CertificateAuthority.AccessUrls();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.caCertificateAccessUrl = reader.string();
+ break;
+ }
+ case 2: {
+ if (!(message.crlAccessUrls && message.crlAccessUrls.length))
+ message.crlAccessUrls = [];
+ message.crlAccessUrls.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AccessUrls message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls} AccessUrls
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AccessUrls.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AccessUrls message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AccessUrls.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.caCertificateAccessUrl != null && message.hasOwnProperty("caCertificateAccessUrl"))
+ if (!$util.isString(message.caCertificateAccessUrl))
+ return "caCertificateAccessUrl: string expected";
+ if (message.crlAccessUrls != null && message.hasOwnProperty("crlAccessUrls")) {
+ if (!Array.isArray(message.crlAccessUrls))
+ return "crlAccessUrls: array expected";
+ for (var i = 0; i < message.crlAccessUrls.length; ++i)
+ if (!$util.isString(message.crlAccessUrls[i]))
+ return "crlAccessUrls: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AccessUrls message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls} AccessUrls
+ */
+ AccessUrls.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls();
+ if (object.caCertificateAccessUrl != null)
+ message.caCertificateAccessUrl = String(object.caCertificateAccessUrl);
+ if (object.crlAccessUrls) {
+ if (!Array.isArray(object.crlAccessUrls))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls.crlAccessUrls: array expected");
+ message.crlAccessUrls = [];
+ for (var i = 0; i < object.crlAccessUrls.length; ++i)
+ message.crlAccessUrls[i] = String(object.crlAccessUrls[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AccessUrls message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls} message AccessUrls
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AccessUrls.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.crlAccessUrls = [];
+ if (options.defaults)
+ object.caCertificateAccessUrl = "";
+ if (message.caCertificateAccessUrl != null && message.hasOwnProperty("caCertificateAccessUrl"))
+ object.caCertificateAccessUrl = message.caCertificateAccessUrl;
+ if (message.crlAccessUrls && message.crlAccessUrls.length) {
+ object.crlAccessUrls = [];
+ for (var j = 0; j < message.crlAccessUrls.length; ++j)
+ object.crlAccessUrls[j] = message.crlAccessUrls[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AccessUrls to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AccessUrls.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AccessUrls
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AccessUrls.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateAuthority.AccessUrls";
+ };
+
+ return AccessUrls;
+ })();
+
+ CertificateAuthority.KeyVersionSpec = (function() {
+
+ /**
+ * Properties of a KeyVersionSpec.
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @interface IKeyVersionSpec
+ * @property {string|null} [cloudKmsKeyVersion] KeyVersionSpec cloudKmsKeyVersion
+ * @property {google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm|null} [algorithm] KeyVersionSpec algorithm
+ */
+
+ /**
+ * Constructs a new KeyVersionSpec.
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority
+ * @classdesc Represents a KeyVersionSpec.
+ * @implements IKeyVersionSpec
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec=} [properties] Properties to set
+ */
+ function KeyVersionSpec(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]];
+ }
+
+ /**
+ * KeyVersionSpec cloudKmsKeyVersion.
+ * @member {string|null|undefined} cloudKmsKeyVersion
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @instance
+ */
+ KeyVersionSpec.prototype.cloudKmsKeyVersion = null;
+
+ /**
+ * KeyVersionSpec algorithm.
+ * @member {google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm|null|undefined} algorithm
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @instance
+ */
+ KeyVersionSpec.prototype.algorithm = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * KeyVersionSpec KeyVersion.
+ * @member {"cloudKmsKeyVersion"|"algorithm"|undefined} KeyVersion
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @instance
+ */
+ Object.defineProperty(KeyVersionSpec.prototype, "KeyVersion", {
+ get: $util.oneOfGetter($oneOfFields = ["cloudKmsKeyVersion", "algorithm"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new KeyVersionSpec instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec} KeyVersionSpec instance
+ */
+ KeyVersionSpec.create = function create(properties) {
+ return new KeyVersionSpec(properties);
+ };
+
+ /**
+ * Encodes the specified KeyVersionSpec message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec} message KeyVersionSpec message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyVersionSpec.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.cloudKmsKeyVersion != null && Object.hasOwnProperty.call(message, "cloudKmsKeyVersion"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.cloudKmsKeyVersion);
+ if (message.algorithm != null && Object.hasOwnProperty.call(message, "algorithm"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.algorithm);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified KeyVersionSpec message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.IKeyVersionSpec} message KeyVersionSpec message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyVersionSpec.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a KeyVersionSpec message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec} KeyVersionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyVersionSpec.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.security.privateca.v1.CertificateAuthority.KeyVersionSpec();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.cloudKmsKeyVersion = reader.string();
+ break;
+ }
+ case 2: {
+ message.algorithm = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a KeyVersionSpec message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec} KeyVersionSpec
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyVersionSpec.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a KeyVersionSpec message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ KeyVersionSpec.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.cloudKmsKeyVersion != null && message.hasOwnProperty("cloudKmsKeyVersion")) {
+ properties.KeyVersion = 1;
+ if (!$util.isString(message.cloudKmsKeyVersion))
+ return "cloudKmsKeyVersion: string expected";
+ }
+ if (message.algorithm != null && message.hasOwnProperty("algorithm")) {
+ if (properties.KeyVersion === 1)
+ return "KeyVersion: multiple values";
+ properties.KeyVersion = 1;
+ switch (message.algorithm) {
+ default:
+ return "algorithm: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 6:
+ case 7:
+ case 8:
+ case 4:
+ case 5:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a KeyVersionSpec message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec} KeyVersionSpec
+ */
+ KeyVersionSpec.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec();
+ if (object.cloudKmsKeyVersion != null)
+ message.cloudKmsKeyVersion = String(object.cloudKmsKeyVersion);
+ switch (object.algorithm) {
+ default:
+ if (typeof object.algorithm === "number") {
+ message.algorithm = object.algorithm;
+ break;
+ }
+ break;
+ case "SIGN_HASH_ALGORITHM_UNSPECIFIED":
+ case 0:
+ message.algorithm = 0;
+ break;
+ case "RSA_PSS_2048_SHA256":
+ case 1:
+ message.algorithm = 1;
+ break;
+ case "RSA_PSS_3072_SHA256":
+ case 2:
+ message.algorithm = 2;
+ break;
+ case "RSA_PSS_4096_SHA256":
+ case 3:
+ message.algorithm = 3;
+ break;
+ case "RSA_PKCS1_2048_SHA256":
+ case 6:
+ message.algorithm = 6;
+ break;
+ case "RSA_PKCS1_3072_SHA256":
+ case 7:
+ message.algorithm = 7;
+ break;
+ case "RSA_PKCS1_4096_SHA256":
+ case 8:
+ message.algorithm = 8;
+ break;
+ case "EC_P256_SHA256":
+ case 4:
+ message.algorithm = 4;
+ break;
+ case "EC_P384_SHA384":
+ case 5:
+ message.algorithm = 5;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a KeyVersionSpec message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec} message KeyVersionSpec
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ KeyVersionSpec.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.cloudKmsKeyVersion != null && message.hasOwnProperty("cloudKmsKeyVersion")) {
+ object.cloudKmsKeyVersion = message.cloudKmsKeyVersion;
+ if (options.oneofs)
+ object.KeyVersion = "cloudKmsKeyVersion";
+ }
+ if (message.algorithm != null && message.hasOwnProperty("algorithm")) {
+ object.algorithm = options.enums === String ? $root.google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm[message.algorithm] === undefined ? message.algorithm : $root.google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm[message.algorithm] : message.algorithm;
+ if (options.oneofs)
+ object.KeyVersion = "algorithm";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this KeyVersionSpec to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ KeyVersionSpec.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for KeyVersionSpec
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ KeyVersionSpec.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateAuthority.KeyVersionSpec";
+ };
+
+ return KeyVersionSpec;
+ })();
+
+ /**
+ * SignHashAlgorithm enum.
+ * @name google.cloud.security.privateca.v1.CertificateAuthority.SignHashAlgorithm
+ * @enum {number}
+ * @property {number} SIGN_HASH_ALGORITHM_UNSPECIFIED=0 SIGN_HASH_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_PKCS1_2048_SHA256=6 RSA_PKCS1_2048_SHA256 value
+ * @property {number} RSA_PKCS1_3072_SHA256=7 RSA_PKCS1_3072_SHA256 value
+ * @property {number} RSA_PKCS1_4096_SHA256=8 RSA_PKCS1_4096_SHA256 value
+ * @property {number} EC_P256_SHA256=4 EC_P256_SHA256 value
+ * @property {number} EC_P384_SHA384=5 EC_P384_SHA384 value
+ */
+ CertificateAuthority.SignHashAlgorithm = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SIGN_HASH_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[6] = "RSA_PKCS1_2048_SHA256"] = 6;
+ values[valuesById[7] = "RSA_PKCS1_3072_SHA256"] = 7;
+ values[valuesById[8] = "RSA_PKCS1_4096_SHA256"] = 8;
+ values[valuesById[4] = "EC_P256_SHA256"] = 4;
+ values[valuesById[5] = "EC_P384_SHA384"] = 5;
+ return values;
+ })();
+
+ return CertificateAuthority;
+ })();
+
+ v1.CaPool = (function() {
+
+ /**
+ * Properties of a CaPool.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICaPool
+ * @property {string|null} [name] CaPool name
+ * @property {google.cloud.security.privateca.v1.CaPool.Tier|null} [tier] CaPool tier
+ * @property {google.cloud.security.privateca.v1.CaPool.IIssuancePolicy|null} [issuancePolicy] CaPool issuancePolicy
+ * @property {google.cloud.security.privateca.v1.CaPool.IPublishingOptions|null} [publishingOptions] CaPool publishingOptions
+ * @property {Object.|null} [labels] CaPool labels
+ */
+
+ /**
+ * Constructs a new CaPool.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CaPool.
+ * @implements ICaPool
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICaPool=} [properties] Properties to set
+ */
+ function CaPool(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CaPool name.
+ * @member {string} name
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @instance
+ */
+ CaPool.prototype.name = "";
+
+ /**
+ * CaPool tier.
+ * @member {google.cloud.security.privateca.v1.CaPool.Tier} tier
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @instance
+ */
+ CaPool.prototype.tier = 0;
+
+ /**
+ * CaPool issuancePolicy.
+ * @member {google.cloud.security.privateca.v1.CaPool.IIssuancePolicy|null|undefined} issuancePolicy
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @instance
+ */
+ CaPool.prototype.issuancePolicy = null;
+
+ /**
+ * CaPool publishingOptions.
+ * @member {google.cloud.security.privateca.v1.CaPool.IPublishingOptions|null|undefined} publishingOptions
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @instance
+ */
+ CaPool.prototype.publishingOptions = null;
+
+ /**
+ * CaPool labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @instance
+ */
+ CaPool.prototype.labels = $util.emptyObject;
+
+ /**
+ * Creates a new CaPool instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICaPool=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CaPool} CaPool instance
+ */
+ CaPool.create = function create(properties) {
+ return new CaPool(properties);
+ };
+
+ /**
+ * Encodes the specified CaPool message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICaPool} message CaPool message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CaPool.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.tier != null && Object.hasOwnProperty.call(message, "tier"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.tier);
+ if (message.issuancePolicy != null && Object.hasOwnProperty.call(message, "issuancePolicy"))
+ $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.encode(message.issuancePolicy, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.publishingOptions != null && Object.hasOwnProperty.call(message, "publishingOptions"))
+ $root.google.cloud.security.privateca.v1.CaPool.PublishingOptions.encode(message.publishingOptions, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 5, wireType 2 =*/42).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CaPool message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICaPool} message CaPool message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CaPool.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CaPool message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CaPool} CaPool
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CaPool.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.security.privateca.v1.CaPool(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.tier = reader.int32();
+ break;
+ }
+ case 3: {
+ message.issuancePolicy = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.publishingOptions = $root.google.cloud.security.privateca.v1.CaPool.PublishingOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CaPool message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CaPool} CaPool
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CaPool.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CaPool message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CaPool.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.tier != null && message.hasOwnProperty("tier"))
+ switch (message.tier) {
+ default:
+ return "tier: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.issuancePolicy != null && message.hasOwnProperty("issuancePolicy")) {
+ var error = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.verify(message.issuancePolicy);
+ if (error)
+ return "issuancePolicy." + error;
+ }
+ if (message.publishingOptions != null && message.hasOwnProperty("publishingOptions")) {
+ var error = $root.google.cloud.security.privateca.v1.CaPool.PublishingOptions.verify(message.publishingOptions);
+ if (error)
+ return "publishingOptions." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CaPool message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CaPool} CaPool
+ */
+ CaPool.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CaPool)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CaPool();
+ if (object.name != null)
+ message.name = String(object.name);
+ switch (object.tier) {
+ default:
+ if (typeof object.tier === "number") {
+ message.tier = object.tier;
+ break;
+ }
+ break;
+ case "TIER_UNSPECIFIED":
+ case 0:
+ message.tier = 0;
+ break;
+ case "ENTERPRISE":
+ case 1:
+ message.tier = 1;
+ break;
+ case "DEVOPS":
+ case 2:
+ message.tier = 2;
+ break;
+ }
+ if (object.issuancePolicy != null) {
+ if (typeof object.issuancePolicy !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.issuancePolicy: object expected");
+ message.issuancePolicy = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.fromObject(object.issuancePolicy);
+ }
+ if (object.publishingOptions != null) {
+ if (typeof object.publishingOptions !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.publishingOptions: object expected");
+ message.publishingOptions = $root.google.cloud.security.privateca.v1.CaPool.PublishingOptions.fromObject(object.publishingOptions);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CaPool message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool} message CaPool
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CaPool.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.tier = options.enums === String ? "TIER_UNSPECIFIED" : 0;
+ object.issuancePolicy = null;
+ object.publishingOptions = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.tier != null && message.hasOwnProperty("tier"))
+ object.tier = options.enums === String ? $root.google.cloud.security.privateca.v1.CaPool.Tier[message.tier] === undefined ? message.tier : $root.google.cloud.security.privateca.v1.CaPool.Tier[message.tier] : message.tier;
+ if (message.issuancePolicy != null && message.hasOwnProperty("issuancePolicy"))
+ object.issuancePolicy = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.toObject(message.issuancePolicy, options);
+ if (message.publishingOptions != null && message.hasOwnProperty("publishingOptions"))
+ object.publishingOptions = $root.google.cloud.security.privateca.v1.CaPool.PublishingOptions.toObject(message.publishingOptions, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CaPool to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CaPool.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CaPool
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CaPool.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CaPool";
+ };
+
+ /**
+ * Tier enum.
+ * @name google.cloud.security.privateca.v1.CaPool.Tier
+ * @enum {number}
+ * @property {number} TIER_UNSPECIFIED=0 TIER_UNSPECIFIED value
+ * @property {number} ENTERPRISE=1 ENTERPRISE value
+ * @property {number} DEVOPS=2 DEVOPS value
+ */
+ CaPool.Tier = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "TIER_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ENTERPRISE"] = 1;
+ values[valuesById[2] = "DEVOPS"] = 2;
+ return values;
+ })();
+
+ CaPool.PublishingOptions = (function() {
+
+ /**
+ * Properties of a PublishingOptions.
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @interface IPublishingOptions
+ * @property {boolean|null} [publishCaCert] PublishingOptions publishCaCert
+ * @property {boolean|null} [publishCrl] PublishingOptions publishCrl
+ */
+
+ /**
+ * Constructs a new PublishingOptions.
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @classdesc Represents a PublishingOptions.
+ * @implements IPublishingOptions
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CaPool.IPublishingOptions=} [properties] Properties to set
+ */
+ function PublishingOptions(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]];
+ }
+
+ /**
+ * PublishingOptions publishCaCert.
+ * @member {boolean} publishCaCert
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @instance
+ */
+ PublishingOptions.prototype.publishCaCert = false;
+
+ /**
+ * PublishingOptions publishCrl.
+ * @member {boolean} publishCrl
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @instance
+ */
+ PublishingOptions.prototype.publishCrl = false;
+
+ /**
+ * Creates a new PublishingOptions instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IPublishingOptions=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CaPool.PublishingOptions} PublishingOptions instance
+ */
+ PublishingOptions.create = function create(properties) {
+ return new PublishingOptions(properties);
+ };
+
+ /**
+ * Encodes the specified PublishingOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.PublishingOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IPublishingOptions} message PublishingOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublishingOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.publishCaCert != null && Object.hasOwnProperty.call(message, "publishCaCert"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.publishCaCert);
+ if (message.publishCrl != null && Object.hasOwnProperty.call(message, "publishCrl"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.publishCrl);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PublishingOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.PublishingOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IPublishingOptions} message PublishingOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublishingOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PublishingOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CaPool.PublishingOptions} PublishingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublishingOptions.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.security.privateca.v1.CaPool.PublishingOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.publishCaCert = reader.bool();
+ break;
+ }
+ case 2: {
+ message.publishCrl = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PublishingOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CaPool.PublishingOptions} PublishingOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublishingOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PublishingOptions message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PublishingOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.publishCaCert != null && message.hasOwnProperty("publishCaCert"))
+ if (typeof message.publishCaCert !== "boolean")
+ return "publishCaCert: boolean expected";
+ if (message.publishCrl != null && message.hasOwnProperty("publishCrl"))
+ if (typeof message.publishCrl !== "boolean")
+ return "publishCrl: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a PublishingOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CaPool.PublishingOptions} PublishingOptions
+ */
+ PublishingOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CaPool.PublishingOptions)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CaPool.PublishingOptions();
+ if (object.publishCaCert != null)
+ message.publishCaCert = Boolean(object.publishCaCert);
+ if (object.publishCrl != null)
+ message.publishCrl = Boolean(object.publishCrl);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PublishingOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.PublishingOptions} message PublishingOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PublishingOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.publishCaCert = false;
+ object.publishCrl = false;
+ }
+ if (message.publishCaCert != null && message.hasOwnProperty("publishCaCert"))
+ object.publishCaCert = message.publishCaCert;
+ if (message.publishCrl != null && message.hasOwnProperty("publishCrl"))
+ object.publishCrl = message.publishCrl;
+ return object;
+ };
+
+ /**
+ * Converts this PublishingOptions to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PublishingOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PublishingOptions
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CaPool.PublishingOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PublishingOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CaPool.PublishingOptions";
+ };
+
+ return PublishingOptions;
+ })();
+
+ CaPool.IssuancePolicy = (function() {
+
+ /**
+ * Properties of an IssuancePolicy.
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @interface IIssuancePolicy
+ * @property {Array.|null} [allowedKeyTypes] IssuancePolicy allowedKeyTypes
+ * @property {google.protobuf.IDuration|null} [maximumLifetime] IssuancePolicy maximumLifetime
+ * @property {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes|null} [allowedIssuanceModes] IssuancePolicy allowedIssuanceModes
+ * @property {google.cloud.security.privateca.v1.IX509Parameters|null} [baselineValues] IssuancePolicy baselineValues
+ * @property {google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null} [identityConstraints] IssuancePolicy identityConstraints
+ * @property {google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null} [passthroughExtensions] IssuancePolicy passthroughExtensions
+ */
+
+ /**
+ * Constructs a new IssuancePolicy.
+ * @memberof google.cloud.security.privateca.v1.CaPool
+ * @classdesc Represents an IssuancePolicy.
+ * @implements IIssuancePolicy
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CaPool.IIssuancePolicy=} [properties] Properties to set
+ */
+ function IssuancePolicy(properties) {
+ this.allowedKeyTypes = [];
+ 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]];
+ }
+
+ /**
+ * IssuancePolicy allowedKeyTypes.
+ * @member {Array.} allowedKeyTypes
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @instance
+ */
+ IssuancePolicy.prototype.allowedKeyTypes = $util.emptyArray;
+
+ /**
+ * IssuancePolicy maximumLifetime.
+ * @member {google.protobuf.IDuration|null|undefined} maximumLifetime
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @instance
+ */
+ IssuancePolicy.prototype.maximumLifetime = null;
+
+ /**
+ * IssuancePolicy allowedIssuanceModes.
+ * @member {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes|null|undefined} allowedIssuanceModes
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @instance
+ */
+ IssuancePolicy.prototype.allowedIssuanceModes = null;
+
+ /**
+ * IssuancePolicy baselineValues.
+ * @member {google.cloud.security.privateca.v1.IX509Parameters|null|undefined} baselineValues
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @instance
+ */
+ IssuancePolicy.prototype.baselineValues = null;
+
+ /**
+ * IssuancePolicy identityConstraints.
+ * @member {google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null|undefined} identityConstraints
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @instance
+ */
+ IssuancePolicy.prototype.identityConstraints = null;
+
+ /**
+ * IssuancePolicy passthroughExtensions.
+ * @member {google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null|undefined} passthroughExtensions
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @instance
+ */
+ IssuancePolicy.prototype.passthroughExtensions = null;
+
+ /**
+ * Creates a new IssuancePolicy instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IIssuancePolicy=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy} IssuancePolicy instance
+ */
+ IssuancePolicy.create = function create(properties) {
+ return new IssuancePolicy(properties);
+ };
+
+ /**
+ * Encodes the specified IssuancePolicy message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IIssuancePolicy} message IssuancePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IssuancePolicy.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.allowedKeyTypes != null && message.allowedKeyTypes.length)
+ for (var i = 0; i < message.allowedKeyTypes.length; ++i)
+ $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.encode(message.allowedKeyTypes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.maximumLifetime != null && Object.hasOwnProperty.call(message, "maximumLifetime"))
+ $root.google.protobuf.Duration.encode(message.maximumLifetime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.allowedIssuanceModes != null && Object.hasOwnProperty.call(message, "allowedIssuanceModes"))
+ $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.encode(message.allowedIssuanceModes, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.baselineValues != null && Object.hasOwnProperty.call(message, "baselineValues"))
+ $root.google.cloud.security.privateca.v1.X509Parameters.encode(message.baselineValues, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.identityConstraints != null && Object.hasOwnProperty.call(message, "identityConstraints"))
+ $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.encode(message.identityConstraints, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.passthroughExtensions != null && Object.hasOwnProperty.call(message, "passthroughExtensions"))
+ $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.encode(message.passthroughExtensions, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IssuancePolicy message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IIssuancePolicy} message IssuancePolicy message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IssuancePolicy.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IssuancePolicy message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy} IssuancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IssuancePolicy.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.security.privateca.v1.CaPool.IssuancePolicy();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.allowedKeyTypes && message.allowedKeyTypes.length))
+ message.allowedKeyTypes = [];
+ message.allowedKeyTypes.push($root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.maximumLifetime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.allowedIssuanceModes = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.baselineValues = $root.google.cloud.security.privateca.v1.X509Parameters.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.identityConstraints = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.passthroughExtensions = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IssuancePolicy message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy} IssuancePolicy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IssuancePolicy.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IssuancePolicy message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IssuancePolicy.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.allowedKeyTypes != null && message.hasOwnProperty("allowedKeyTypes")) {
+ if (!Array.isArray(message.allowedKeyTypes))
+ return "allowedKeyTypes: array expected";
+ for (var i = 0; i < message.allowedKeyTypes.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.verify(message.allowedKeyTypes[i]);
+ if (error)
+ return "allowedKeyTypes." + error;
+ }
+ }
+ if (message.maximumLifetime != null && message.hasOwnProperty("maximumLifetime")) {
+ var error = $root.google.protobuf.Duration.verify(message.maximumLifetime);
+ if (error)
+ return "maximumLifetime." + error;
+ }
+ if (message.allowedIssuanceModes != null && message.hasOwnProperty("allowedIssuanceModes")) {
+ var error = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.verify(message.allowedIssuanceModes);
+ if (error)
+ return "allowedIssuanceModes." + error;
+ }
+ if (message.baselineValues != null && message.hasOwnProperty("baselineValues")) {
+ var error = $root.google.cloud.security.privateca.v1.X509Parameters.verify(message.baselineValues);
+ if (error)
+ return "baselineValues." + error;
+ }
+ if (message.identityConstraints != null && message.hasOwnProperty("identityConstraints")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.verify(message.identityConstraints);
+ if (error)
+ return "identityConstraints." + error;
+ }
+ if (message.passthroughExtensions != null && message.hasOwnProperty("passthroughExtensions")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.verify(message.passthroughExtensions);
+ if (error)
+ return "passthroughExtensions." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an IssuancePolicy message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy} IssuancePolicy
+ */
+ IssuancePolicy.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy();
+ if (object.allowedKeyTypes) {
+ if (!Array.isArray(object.allowedKeyTypes))
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allowedKeyTypes: array expected");
+ message.allowedKeyTypes = [];
+ for (var i = 0; i < object.allowedKeyTypes.length; ++i) {
+ if (typeof object.allowedKeyTypes[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allowedKeyTypes: object expected");
+ message.allowedKeyTypes[i] = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.fromObject(object.allowedKeyTypes[i]);
+ }
+ }
+ if (object.maximumLifetime != null) {
+ if (typeof object.maximumLifetime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.maximumLifetime: object expected");
+ message.maximumLifetime = $root.google.protobuf.Duration.fromObject(object.maximumLifetime);
+ }
+ if (object.allowedIssuanceModes != null) {
+ if (typeof object.allowedIssuanceModes !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.allowedIssuanceModes: object expected");
+ message.allowedIssuanceModes = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.fromObject(object.allowedIssuanceModes);
+ }
+ if (object.baselineValues != null) {
+ if (typeof object.baselineValues !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.baselineValues: object expected");
+ message.baselineValues = $root.google.cloud.security.privateca.v1.X509Parameters.fromObject(object.baselineValues);
+ }
+ if (object.identityConstraints != null) {
+ if (typeof object.identityConstraints !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.identityConstraints: object expected");
+ message.identityConstraints = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.fromObject(object.identityConstraints);
+ }
+ if (object.passthroughExtensions != null) {
+ if (typeof object.passthroughExtensions !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.passthroughExtensions: object expected");
+ message.passthroughExtensions = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.fromObject(object.passthroughExtensions);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IssuancePolicy message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy} message IssuancePolicy
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IssuancePolicy.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.allowedKeyTypes = [];
+ if (options.defaults) {
+ object.maximumLifetime = null;
+ object.allowedIssuanceModes = null;
+ object.baselineValues = null;
+ object.identityConstraints = null;
+ object.passthroughExtensions = null;
+ }
+ if (message.allowedKeyTypes && message.allowedKeyTypes.length) {
+ object.allowedKeyTypes = [];
+ for (var j = 0; j < message.allowedKeyTypes.length; ++j)
+ object.allowedKeyTypes[j] = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.toObject(message.allowedKeyTypes[j], options);
+ }
+ if (message.maximumLifetime != null && message.hasOwnProperty("maximumLifetime"))
+ object.maximumLifetime = $root.google.protobuf.Duration.toObject(message.maximumLifetime, options);
+ if (message.allowedIssuanceModes != null && message.hasOwnProperty("allowedIssuanceModes"))
+ object.allowedIssuanceModes = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.toObject(message.allowedIssuanceModes, options);
+ if (message.baselineValues != null && message.hasOwnProperty("baselineValues"))
+ object.baselineValues = $root.google.cloud.security.privateca.v1.X509Parameters.toObject(message.baselineValues, options);
+ if (message.identityConstraints != null && message.hasOwnProperty("identityConstraints"))
+ object.identityConstraints = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.toObject(message.identityConstraints, options);
+ if (message.passthroughExtensions != null && message.hasOwnProperty("passthroughExtensions"))
+ object.passthroughExtensions = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.toObject(message.passthroughExtensions, options);
+ return object;
+ };
+
+ /**
+ * Converts this IssuancePolicy to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IssuancePolicy.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IssuancePolicy
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IssuancePolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CaPool.IssuancePolicy";
+ };
+
+ IssuancePolicy.AllowedKeyType = (function() {
+
+ /**
+ * Properties of an AllowedKeyType.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @interface IAllowedKeyType
+ * @property {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType|null} [rsa] AllowedKeyType rsa
+ * @property {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType|null} [ellipticCurve] AllowedKeyType ellipticCurve
+ */
+
+ /**
+ * Constructs a new AllowedKeyType.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @classdesc Represents an AllowedKeyType.
+ * @implements IAllowedKeyType
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType=} [properties] Properties to set
+ */
+ function AllowedKeyType(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]];
+ }
+
+ /**
+ * AllowedKeyType rsa.
+ * @member {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType|null|undefined} rsa
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @instance
+ */
+ AllowedKeyType.prototype.rsa = null;
+
+ /**
+ * AllowedKeyType ellipticCurve.
+ * @member {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType|null|undefined} ellipticCurve
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @instance
+ */
+ AllowedKeyType.prototype.ellipticCurve = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * AllowedKeyType keyType.
+ * @member {"rsa"|"ellipticCurve"|undefined} keyType
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @instance
+ */
+ Object.defineProperty(AllowedKeyType.prototype, "keyType", {
+ get: $util.oneOfGetter($oneOfFields = ["rsa", "ellipticCurve"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new AllowedKeyType instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType} AllowedKeyType instance
+ */
+ AllowedKeyType.create = function create(properties) {
+ return new AllowedKeyType(properties);
+ };
+
+ /**
+ * Encodes the specified AllowedKeyType message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType} message AllowedKeyType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AllowedKeyType.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.rsa != null && Object.hasOwnProperty.call(message, "rsa"))
+ $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.encode(message.rsa, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.ellipticCurve != null && Object.hasOwnProperty.call(message, "ellipticCurve"))
+ $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.encode(message.ellipticCurve, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AllowedKeyType message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IAllowedKeyType} message AllowedKeyType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AllowedKeyType.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AllowedKeyType message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType} AllowedKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AllowedKeyType.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.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.rsa = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.ellipticCurve = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AllowedKeyType message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType} AllowedKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AllowedKeyType.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AllowedKeyType message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AllowedKeyType.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.rsa != null && message.hasOwnProperty("rsa")) {
+ properties.keyType = 1;
+ {
+ var error = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.verify(message.rsa);
+ if (error)
+ return "rsa." + error;
+ }
+ }
+ if (message.ellipticCurve != null && message.hasOwnProperty("ellipticCurve")) {
+ if (properties.keyType === 1)
+ return "keyType: multiple values";
+ properties.keyType = 1;
+ {
+ var error = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.verify(message.ellipticCurve);
+ if (error)
+ return "ellipticCurve." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an AllowedKeyType message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType} AllowedKeyType
+ */
+ AllowedKeyType.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType();
+ if (object.rsa != null) {
+ if (typeof object.rsa !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.rsa: object expected");
+ message.rsa = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.fromObject(object.rsa);
+ }
+ if (object.ellipticCurve != null) {
+ if (typeof object.ellipticCurve !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.ellipticCurve: object expected");
+ message.ellipticCurve = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.fromObject(object.ellipticCurve);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AllowedKeyType message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType} message AllowedKeyType
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AllowedKeyType.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.rsa != null && message.hasOwnProperty("rsa")) {
+ object.rsa = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.toObject(message.rsa, options);
+ if (options.oneofs)
+ object.keyType = "rsa";
+ }
+ if (message.ellipticCurve != null && message.hasOwnProperty("ellipticCurve")) {
+ object.ellipticCurve = $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.toObject(message.ellipticCurve, options);
+ if (options.oneofs)
+ object.keyType = "ellipticCurve";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this AllowedKeyType to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AllowedKeyType.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AllowedKeyType
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AllowedKeyType.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType";
+ };
+
+ AllowedKeyType.RsaKeyType = (function() {
+
+ /**
+ * Properties of a RsaKeyType.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @interface IRsaKeyType
+ * @property {number|Long|null} [minModulusSize] RsaKeyType minModulusSize
+ * @property {number|Long|null} [maxModulusSize] RsaKeyType maxModulusSize
+ */
+
+ /**
+ * Constructs a new RsaKeyType.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @classdesc Represents a RsaKeyType.
+ * @implements IRsaKeyType
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType=} [properties] Properties to set
+ */
+ function RsaKeyType(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]];
+ }
+
+ /**
+ * RsaKeyType minModulusSize.
+ * @member {number|Long} minModulusSize
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @instance
+ */
+ RsaKeyType.prototype.minModulusSize = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * RsaKeyType maxModulusSize.
+ * @member {number|Long} maxModulusSize
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @instance
+ */
+ RsaKeyType.prototype.maxModulusSize = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * Creates a new RsaKeyType instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType} RsaKeyType instance
+ */
+ RsaKeyType.create = function create(properties) {
+ return new RsaKeyType(properties);
+ };
+
+ /**
+ * Encodes the specified RsaKeyType message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType} message RsaKeyType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RsaKeyType.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.minModulusSize != null && Object.hasOwnProperty.call(message, "minModulusSize"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int64(message.minModulusSize);
+ if (message.maxModulusSize != null && Object.hasOwnProperty.call(message, "maxModulusSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.maxModulusSize);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RsaKeyType message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IRsaKeyType} message RsaKeyType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RsaKeyType.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RsaKeyType message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType} RsaKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RsaKeyType.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.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.minModulusSize = reader.int64();
+ break;
+ }
+ case 2: {
+ message.maxModulusSize = reader.int64();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RsaKeyType message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType} RsaKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RsaKeyType.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RsaKeyType message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RsaKeyType.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.minModulusSize != null && message.hasOwnProperty("minModulusSize"))
+ if (!$util.isInteger(message.minModulusSize) && !(message.minModulusSize && $util.isInteger(message.minModulusSize.low) && $util.isInteger(message.minModulusSize.high)))
+ return "minModulusSize: integer|Long expected";
+ if (message.maxModulusSize != null && message.hasOwnProperty("maxModulusSize"))
+ if (!$util.isInteger(message.maxModulusSize) && !(message.maxModulusSize && $util.isInteger(message.maxModulusSize.low) && $util.isInteger(message.maxModulusSize.high)))
+ return "maxModulusSize: integer|Long expected";
+ return null;
+ };
+
+ /**
+ * Creates a RsaKeyType message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType} RsaKeyType
+ */
+ RsaKeyType.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType();
+ if (object.minModulusSize != null)
+ if ($util.Long)
+ (message.minModulusSize = $util.Long.fromValue(object.minModulusSize)).unsigned = false;
+ else if (typeof object.minModulusSize === "string")
+ message.minModulusSize = parseInt(object.minModulusSize, 10);
+ else if (typeof object.minModulusSize === "number")
+ message.minModulusSize = object.minModulusSize;
+ else if (typeof object.minModulusSize === "object")
+ message.minModulusSize = new $util.LongBits(object.minModulusSize.low >>> 0, object.minModulusSize.high >>> 0).toNumber();
+ if (object.maxModulusSize != null)
+ if ($util.Long)
+ (message.maxModulusSize = $util.Long.fromValue(object.maxModulusSize)).unsigned = false;
+ else if (typeof object.maxModulusSize === "string")
+ message.maxModulusSize = parseInt(object.maxModulusSize, 10);
+ else if (typeof object.maxModulusSize === "number")
+ message.maxModulusSize = object.maxModulusSize;
+ else if (typeof object.maxModulusSize === "object")
+ message.maxModulusSize = new $util.LongBits(object.maxModulusSize.low >>> 0, object.maxModulusSize.high >>> 0).toNumber();
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RsaKeyType message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType} message RsaKeyType
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RsaKeyType.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.minModulusSize = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.minModulusSize = options.longs === String ? "0" : 0;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.maxModulusSize = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.maxModulusSize = options.longs === String ? "0" : 0;
+ }
+ if (message.minModulusSize != null && message.hasOwnProperty("minModulusSize"))
+ if (typeof message.minModulusSize === "number")
+ object.minModulusSize = options.longs === String ? String(message.minModulusSize) : message.minModulusSize;
+ else
+ object.minModulusSize = options.longs === String ? $util.Long.prototype.toString.call(message.minModulusSize) : options.longs === Number ? new $util.LongBits(message.minModulusSize.low >>> 0, message.minModulusSize.high >>> 0).toNumber() : message.minModulusSize;
+ if (message.maxModulusSize != null && message.hasOwnProperty("maxModulusSize"))
+ if (typeof message.maxModulusSize === "number")
+ object.maxModulusSize = options.longs === String ? String(message.maxModulusSize) : message.maxModulusSize;
+ else
+ object.maxModulusSize = options.longs === String ? $util.Long.prototype.toString.call(message.maxModulusSize) : options.longs === Number ? new $util.LongBits(message.maxModulusSize.low >>> 0, message.maxModulusSize.high >>> 0).toNumber() : message.maxModulusSize;
+ return object;
+ };
+
+ /**
+ * Converts this RsaKeyType to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RsaKeyType.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RsaKeyType
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RsaKeyType.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.RsaKeyType";
+ };
+
+ return RsaKeyType;
+ })();
+
+ AllowedKeyType.EcKeyType = (function() {
+
+ /**
+ * Properties of an EcKeyType.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @interface IEcKeyType
+ * @property {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm|null} [signatureAlgorithm] EcKeyType signatureAlgorithm
+ */
+
+ /**
+ * Constructs a new EcKeyType.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType
+ * @classdesc Represents an EcKeyType.
+ * @implements IEcKeyType
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType=} [properties] Properties to set
+ */
+ function EcKeyType(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]];
+ }
+
+ /**
+ * EcKeyType signatureAlgorithm.
+ * @member {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm} signatureAlgorithm
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @instance
+ */
+ EcKeyType.prototype.signatureAlgorithm = 0;
+
+ /**
+ * Creates a new EcKeyType instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType} EcKeyType instance
+ */
+ EcKeyType.create = function create(properties) {
+ return new EcKeyType(properties);
+ };
+
+ /**
+ * Encodes the specified EcKeyType message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType} message EcKeyType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EcKeyType.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.signatureAlgorithm != null && Object.hasOwnProperty.call(message, "signatureAlgorithm"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.signatureAlgorithm);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EcKeyType message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.IEcKeyType} message EcKeyType message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EcKeyType.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EcKeyType message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType} EcKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EcKeyType.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.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.signatureAlgorithm = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EcKeyType message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType} EcKeyType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EcKeyType.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EcKeyType message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EcKeyType.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object 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:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an EcKeyType message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType} EcKeyType
+ */
+ EcKeyType.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType();
+ switch (object.signatureAlgorithm) {
+ default:
+ if (typeof object.signatureAlgorithm === "number") {
+ message.signatureAlgorithm = object.signatureAlgorithm;
+ break;
+ }
+ break;
+ case "EC_SIGNATURE_ALGORITHM_UNSPECIFIED":
+ case 0:
+ message.signatureAlgorithm = 0;
+ break;
+ case "ECDSA_P256":
+ case 1:
+ message.signatureAlgorithm = 1;
+ break;
+ case "ECDSA_P384":
+ case 2:
+ message.signatureAlgorithm = 2;
+ break;
+ case "EDDSA_25519":
+ case 3:
+ message.signatureAlgorithm = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EcKeyType message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType} message EcKeyType
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EcKeyType.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.signatureAlgorithm = options.enums === String ? "EC_SIGNATURE_ALGORITHM_UNSPECIFIED" : 0;
+ if (message.signatureAlgorithm != null && message.hasOwnProperty("signatureAlgorithm"))
+ object.signatureAlgorithm = options.enums === String ? $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm[message.signatureAlgorithm] === undefined ? message.signatureAlgorithm : $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm[message.signatureAlgorithm] : message.signatureAlgorithm;
+ return object;
+ };
+
+ /**
+ * Converts this EcKeyType to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EcKeyType.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EcKeyType
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EcKeyType.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType";
+ };
+
+ /**
+ * EcSignatureAlgorithm enum.
+ * @name google.cloud.security.privateca.v1.CaPool.IssuancePolicy.AllowedKeyType.EcKeyType.EcSignatureAlgorithm
+ * @enum {number}
+ * @property {number} EC_SIGNATURE_ALGORITHM_UNSPECIFIED=0 EC_SIGNATURE_ALGORITHM_UNSPECIFIED value
+ * @property {number} ECDSA_P256=1 ECDSA_P256 value
+ * @property {number} ECDSA_P384=2 ECDSA_P384 value
+ * @property {number} EDDSA_25519=3 EDDSA_25519 value
+ */
+ EcKeyType.EcSignatureAlgorithm = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "EC_SIGNATURE_ALGORITHM_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ECDSA_P256"] = 1;
+ values[valuesById[2] = "ECDSA_P384"] = 2;
+ values[valuesById[3] = "EDDSA_25519"] = 3;
+ return values;
+ })();
+
+ return EcKeyType;
+ })();
+
+ return AllowedKeyType;
+ })();
+
+ IssuancePolicy.IssuanceModes = (function() {
+
+ /**
+ * Properties of an IssuanceModes.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @interface IIssuanceModes
+ * @property {boolean|null} [allowCsrBasedIssuance] IssuanceModes allowCsrBasedIssuance
+ * @property {boolean|null} [allowConfigBasedIssuance] IssuanceModes allowConfigBasedIssuance
+ */
+
+ /**
+ * Constructs a new IssuanceModes.
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy
+ * @classdesc Represents an IssuanceModes.
+ * @implements IIssuanceModes
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes=} [properties] Properties to set
+ */
+ function IssuanceModes(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]];
+ }
+
+ /**
+ * IssuanceModes allowCsrBasedIssuance.
+ * @member {boolean} allowCsrBasedIssuance
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @instance
+ */
+ IssuanceModes.prototype.allowCsrBasedIssuance = false;
+
+ /**
+ * IssuanceModes allowConfigBasedIssuance.
+ * @member {boolean} allowConfigBasedIssuance
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @instance
+ */
+ IssuanceModes.prototype.allowConfigBasedIssuance = false;
+
+ /**
+ * Creates a new IssuanceModes instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes} IssuanceModes instance
+ */
+ IssuanceModes.create = function create(properties) {
+ return new IssuanceModes(properties);
+ };
+
+ /**
+ * Encodes the specified IssuanceModes message. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes} message IssuanceModes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IssuanceModes.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.allowCsrBasedIssuance != null && Object.hasOwnProperty.call(message, "allowCsrBasedIssuance"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.allowCsrBasedIssuance);
+ if (message.allowConfigBasedIssuance != null && Object.hasOwnProperty.call(message, "allowConfigBasedIssuance"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowConfigBasedIssuance);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified IssuanceModes message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IIssuanceModes} message IssuanceModes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ IssuanceModes.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an IssuanceModes message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes} IssuanceModes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IssuanceModes.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.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.allowCsrBasedIssuance = reader.bool();
+ break;
+ }
+ case 2: {
+ message.allowConfigBasedIssuance = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an IssuanceModes message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes} IssuanceModes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ IssuanceModes.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an IssuanceModes message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ IssuanceModes.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.allowCsrBasedIssuance != null && message.hasOwnProperty("allowCsrBasedIssuance"))
+ if (typeof message.allowCsrBasedIssuance !== "boolean")
+ return "allowCsrBasedIssuance: boolean expected";
+ if (message.allowConfigBasedIssuance != null && message.hasOwnProperty("allowConfigBasedIssuance"))
+ if (typeof message.allowConfigBasedIssuance !== "boolean")
+ return "allowConfigBasedIssuance: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates an IssuanceModes message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes} IssuanceModes
+ */
+ IssuanceModes.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes();
+ if (object.allowCsrBasedIssuance != null)
+ message.allowCsrBasedIssuance = Boolean(object.allowCsrBasedIssuance);
+ if (object.allowConfigBasedIssuance != null)
+ message.allowConfigBasedIssuance = Boolean(object.allowConfigBasedIssuance);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an IssuanceModes message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes} message IssuanceModes
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ IssuanceModes.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.allowCsrBasedIssuance = false;
+ object.allowConfigBasedIssuance = false;
+ }
+ if (message.allowCsrBasedIssuance != null && message.hasOwnProperty("allowCsrBasedIssuance"))
+ object.allowCsrBasedIssuance = message.allowCsrBasedIssuance;
+ if (message.allowConfigBasedIssuance != null && message.hasOwnProperty("allowConfigBasedIssuance"))
+ object.allowConfigBasedIssuance = message.allowConfigBasedIssuance;
+ return object;
+ };
+
+ /**
+ * Converts this IssuanceModes to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ IssuanceModes.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for IssuanceModes
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ IssuanceModes.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CaPool.IssuancePolicy.IssuanceModes";
+ };
+
+ return IssuanceModes;
+ })();
+
+ return IssuancePolicy;
+ })();
+
+ return CaPool;
+ })();
+
+ v1.CertificateRevocationList = (function() {
+
+ /**
+ * Properties of a CertificateRevocationList.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificateRevocationList
+ * @property {string|null} [name] CertificateRevocationList name
+ * @property {number|Long|null} [sequenceNumber] CertificateRevocationList sequenceNumber
+ * @property {Array.|null} [revokedCertificates] CertificateRevocationList revokedCertificates
+ * @property {string|null} [pemCrl] CertificateRevocationList pemCrl
+ * @property {string|null} [accessUrl] CertificateRevocationList accessUrl
+ * @property {google.cloud.security.privateca.v1.CertificateRevocationList.State|null} [state] CertificateRevocationList state
+ * @property {google.protobuf.ITimestamp|null} [createTime] CertificateRevocationList createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] CertificateRevocationList updateTime
+ * @property {string|null} [revisionId] CertificateRevocationList revisionId
+ * @property {Object.|null} [labels] CertificateRevocationList labels
+ */
+
+ /**
+ * Constructs a new CertificateRevocationList.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CertificateRevocationList.
+ * @implements ICertificateRevocationList
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificateRevocationList=} [properties] Properties to set
+ */
+ function CertificateRevocationList(properties) {
+ this.revokedCertificates = [];
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CertificateRevocationList name.
+ * @member {string} name
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.name = "";
+
+ /**
+ * CertificateRevocationList sequenceNumber.
+ * @member {number|Long} sequenceNumber
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.sequenceNumber = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * CertificateRevocationList revokedCertificates.
+ * @member {Array.} revokedCertificates
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.revokedCertificates = $util.emptyArray;
+
+ /**
+ * CertificateRevocationList pemCrl.
+ * @member {string} pemCrl
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.pemCrl = "";
+
+ /**
+ * CertificateRevocationList accessUrl.
+ * @member {string} accessUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.accessUrl = "";
+
+ /**
+ * CertificateRevocationList state.
+ * @member {google.cloud.security.privateca.v1.CertificateRevocationList.State} state
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.state = 0;
+
+ /**
+ * CertificateRevocationList createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.createTime = null;
+
+ /**
+ * CertificateRevocationList updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.updateTime = null;
+
+ /**
+ * CertificateRevocationList revisionId.
+ * @member {string} revisionId
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.revisionId = "";
+
+ /**
+ * CertificateRevocationList labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ */
+ CertificateRevocationList.prototype.labels = $util.emptyObject;
+
+ /**
+ * Creates a new CertificateRevocationList instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateRevocationList=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList} CertificateRevocationList instance
+ */
+ CertificateRevocationList.create = function create(properties) {
+ return new CertificateRevocationList(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateRevocationList message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateRevocationList} message CertificateRevocationList message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateRevocationList.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.sequenceNumber != null && Object.hasOwnProperty.call(message, "sequenceNumber"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.sequenceNumber);
+ if (message.revokedCertificates != null && message.revokedCertificates.length)
+ for (var i = 0; i < message.revokedCertificates.length; ++i)
+ $root.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.encode(message.revokedCertificates[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.pemCrl != null && Object.hasOwnProperty.call(message, "pemCrl"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.pemCrl);
+ if (message.accessUrl != null && Object.hasOwnProperty.call(message, "accessUrl"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.accessUrl);
+ if (message.state != null && Object.hasOwnProperty.call(message, "state"))
+ writer.uint32(/* id 6, wireType 0 =*/48).int32(message.state);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.revisionId != null && Object.hasOwnProperty.call(message, "revisionId"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.revisionId);
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 10, wireType 2 =*/82).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateRevocationList message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateRevocationList} message CertificateRevocationList message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateRevocationList.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateRevocationList message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList} CertificateRevocationList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateRevocationList.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.security.privateca.v1.CertificateRevocationList(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.sequenceNumber = reader.int64();
+ break;
+ }
+ case 3: {
+ if (!(message.revokedCertificates && message.revokedCertificates.length))
+ message.revokedCertificates = [];
+ message.revokedCertificates.push($root.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ message.pemCrl = reader.string();
+ break;
+ }
+ case 5: {
+ message.accessUrl = reader.string();
+ break;
+ }
+ case 6: {
+ message.state = reader.int32();
+ break;
+ }
+ case 7: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.revisionId = reader.string();
+ break;
+ }
+ case 10: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateRevocationList message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList} CertificateRevocationList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateRevocationList.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateRevocationList message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateRevocationList.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.sequenceNumber != null && message.hasOwnProperty("sequenceNumber"))
+ if (!$util.isInteger(message.sequenceNumber) && !(message.sequenceNumber && $util.isInteger(message.sequenceNumber.low) && $util.isInteger(message.sequenceNumber.high)))
+ return "sequenceNumber: integer|Long expected";
+ if (message.revokedCertificates != null && message.hasOwnProperty("revokedCertificates")) {
+ if (!Array.isArray(message.revokedCertificates))
+ return "revokedCertificates: array expected";
+ for (var i = 0; i < message.revokedCertificates.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.verify(message.revokedCertificates[i]);
+ if (error)
+ return "revokedCertificates." + error;
+ }
+ }
+ if (message.pemCrl != null && message.hasOwnProperty("pemCrl"))
+ if (!$util.isString(message.pemCrl))
+ return "pemCrl: string expected";
+ if (message.accessUrl != null && message.hasOwnProperty("accessUrl"))
+ if (!$util.isString(message.accessUrl))
+ return "accessUrl: string expected";
+ if (message.state != null && message.hasOwnProperty("state"))
+ switch (message.state) {
+ default:
+ return "state: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.revisionId != null && message.hasOwnProperty("revisionId"))
+ if (!$util.isString(message.revisionId))
+ return "revisionId: string expected";
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CertificateRevocationList message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList} CertificateRevocationList
+ */
+ CertificateRevocationList.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateRevocationList)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateRevocationList();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.sequenceNumber != null)
+ if ($util.Long)
+ (message.sequenceNumber = $util.Long.fromValue(object.sequenceNumber)).unsigned = false;
+ else if (typeof object.sequenceNumber === "string")
+ message.sequenceNumber = parseInt(object.sequenceNumber, 10);
+ else if (typeof object.sequenceNumber === "number")
+ message.sequenceNumber = object.sequenceNumber;
+ else if (typeof object.sequenceNumber === "object")
+ message.sequenceNumber = new $util.LongBits(object.sequenceNumber.low >>> 0, object.sequenceNumber.high >>> 0).toNumber();
+ if (object.revokedCertificates) {
+ if (!Array.isArray(object.revokedCertificates))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateRevocationList.revokedCertificates: array expected");
+ message.revokedCertificates = [];
+ for (var i = 0; i < object.revokedCertificates.length; ++i) {
+ if (typeof object.revokedCertificates[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateRevocationList.revokedCertificates: object expected");
+ message.revokedCertificates[i] = $root.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.fromObject(object.revokedCertificates[i]);
+ }
+ }
+ if (object.pemCrl != null)
+ message.pemCrl = String(object.pemCrl);
+ if (object.accessUrl != null)
+ message.accessUrl = String(object.accessUrl);
+ switch (object.state) {
+ default:
+ if (typeof object.state === "number") {
+ message.state = object.state;
+ break;
+ }
+ break;
+ case "STATE_UNSPECIFIED":
+ case 0:
+ message.state = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.state = 1;
+ break;
+ case "SUPERSEDED":
+ case 2:
+ message.state = 2;
+ break;
+ }
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateRevocationList.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateRevocationList.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.revisionId != null)
+ message.revisionId = String(object.revisionId);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateRevocationList.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateRevocationList message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateRevocationList} message CertificateRevocationList
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateRevocationList.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.revokedCertificates = [];
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.sequenceNumber = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.sequenceNumber = options.longs === String ? "0" : 0;
+ object.pemCrl = "";
+ object.accessUrl = "";
+ object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0;
+ object.createTime = null;
+ object.updateTime = null;
+ object.revisionId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.sequenceNumber != null && message.hasOwnProperty("sequenceNumber"))
+ if (typeof message.sequenceNumber === "number")
+ object.sequenceNumber = options.longs === String ? String(message.sequenceNumber) : message.sequenceNumber;
+ else
+ object.sequenceNumber = options.longs === String ? $util.Long.prototype.toString.call(message.sequenceNumber) : options.longs === Number ? new $util.LongBits(message.sequenceNumber.low >>> 0, message.sequenceNumber.high >>> 0).toNumber() : message.sequenceNumber;
+ if (message.revokedCertificates && message.revokedCertificates.length) {
+ object.revokedCertificates = [];
+ for (var j = 0; j < message.revokedCertificates.length; ++j)
+ object.revokedCertificates[j] = $root.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.toObject(message.revokedCertificates[j], options);
+ }
+ if (message.pemCrl != null && message.hasOwnProperty("pemCrl"))
+ object.pemCrl = message.pemCrl;
+ if (message.accessUrl != null && message.hasOwnProperty("accessUrl"))
+ object.accessUrl = message.accessUrl;
+ if (message.state != null && message.hasOwnProperty("state"))
+ object.state = options.enums === String ? $root.google.cloud.security.privateca.v1.CertificateRevocationList.State[message.state] === undefined ? message.state : $root.google.cloud.security.privateca.v1.CertificateRevocationList.State[message.state] : message.state;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.revisionId != null && message.hasOwnProperty("revisionId"))
+ object.revisionId = message.revisionId;
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CertificateRevocationList to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CertificateRevocationList.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CertificateRevocationList
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CertificateRevocationList.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateRevocationList";
+ };
+
+ CertificateRevocationList.RevokedCertificate = (function() {
+
+ /**
+ * Properties of a RevokedCertificate.
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @interface IRevokedCertificate
+ * @property {string|null} [certificate] RevokedCertificate certificate
+ * @property {string|null} [hexSerialNumber] RevokedCertificate hexSerialNumber
+ * @property {google.cloud.security.privateca.v1.RevocationReason|null} [revocationReason] RevokedCertificate revocationReason
+ */
+
+ /**
+ * Constructs a new RevokedCertificate.
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList
+ * @classdesc Represents a RevokedCertificate.
+ * @implements IRevokedCertificate
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate=} [properties] Properties to set
+ */
+ function RevokedCertificate(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]];
+ }
+
+ /**
+ * RevokedCertificate certificate.
+ * @member {string} certificate
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @instance
+ */
+ RevokedCertificate.prototype.certificate = "";
+
+ /**
+ * RevokedCertificate hexSerialNumber.
+ * @member {string} hexSerialNumber
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @instance
+ */
+ RevokedCertificate.prototype.hexSerialNumber = "";
+
+ /**
+ * RevokedCertificate revocationReason.
+ * @member {google.cloud.security.privateca.v1.RevocationReason} revocationReason
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @instance
+ */
+ RevokedCertificate.prototype.revocationReason = 0;
+
+ /**
+ * Creates a new RevokedCertificate instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate} RevokedCertificate instance
+ */
+ RevokedCertificate.create = function create(properties) {
+ return new RevokedCertificate(properties);
+ };
+
+ /**
+ * Encodes the specified RevokedCertificate message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate} message RevokedCertificate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RevokedCertificate.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.certificate != null && Object.hasOwnProperty.call(message, "certificate"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.certificate);
+ if (message.hexSerialNumber != null && Object.hasOwnProperty.call(message, "hexSerialNumber"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.hexSerialNumber);
+ if (message.revocationReason != null && Object.hasOwnProperty.call(message, "revocationReason"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.revocationReason);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RevokedCertificate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateRevocationList.IRevokedCertificate} message RevokedCertificate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RevokedCertificate.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RevokedCertificate message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate} RevokedCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RevokedCertificate.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.security.privateca.v1.CertificateRevocationList.RevokedCertificate();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.certificate = reader.string();
+ break;
+ }
+ case 2: {
+ message.hexSerialNumber = reader.string();
+ break;
+ }
+ case 3: {
+ message.revocationReason = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RevokedCertificate message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate} RevokedCertificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RevokedCertificate.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RevokedCertificate message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RevokedCertificate.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.certificate != null && message.hasOwnProperty("certificate"))
+ if (!$util.isString(message.certificate))
+ return "certificate: string expected";
+ if (message.hexSerialNumber != null && message.hasOwnProperty("hexSerialNumber"))
+ if (!$util.isString(message.hexSerialNumber))
+ return "hexSerialNumber: string expected";
+ if (message.revocationReason != null && message.hasOwnProperty("revocationReason"))
+ switch (message.revocationReason) {
+ default:
+ return "revocationReason: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RevokedCertificate message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate} RevokedCertificate
+ */
+ RevokedCertificate.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate();
+ if (object.certificate != null)
+ message.certificate = String(object.certificate);
+ if (object.hexSerialNumber != null)
+ message.hexSerialNumber = String(object.hexSerialNumber);
+ switch (object.revocationReason) {
+ default:
+ if (typeof object.revocationReason === "number") {
+ message.revocationReason = object.revocationReason;
+ break;
+ }
+ break;
+ case "REVOCATION_REASON_UNSPECIFIED":
+ case 0:
+ message.revocationReason = 0;
+ break;
+ case "KEY_COMPROMISE":
+ case 1:
+ message.revocationReason = 1;
+ break;
+ case "CERTIFICATE_AUTHORITY_COMPROMISE":
+ case 2:
+ message.revocationReason = 2;
+ break;
+ case "AFFILIATION_CHANGED":
+ case 3:
+ message.revocationReason = 3;
+ break;
+ case "SUPERSEDED":
+ case 4:
+ message.revocationReason = 4;
+ break;
+ case "CESSATION_OF_OPERATION":
+ case 5:
+ message.revocationReason = 5;
+ break;
+ case "CERTIFICATE_HOLD":
+ case 6:
+ message.revocationReason = 6;
+ break;
+ case "PRIVILEGE_WITHDRAWN":
+ case 7:
+ message.revocationReason = 7;
+ break;
+ case "ATTRIBUTE_AUTHORITY_COMPROMISE":
+ case 8:
+ message.revocationReason = 8;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RevokedCertificate message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate} message RevokedCertificate
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RevokedCertificate.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.certificate = "";
+ object.hexSerialNumber = "";
+ object.revocationReason = options.enums === String ? "REVOCATION_REASON_UNSPECIFIED" : 0;
+ }
+ if (message.certificate != null && message.hasOwnProperty("certificate"))
+ object.certificate = message.certificate;
+ if (message.hexSerialNumber != null && message.hasOwnProperty("hexSerialNumber"))
+ object.hexSerialNumber = message.hexSerialNumber;
+ if (message.revocationReason != null && message.hasOwnProperty("revocationReason"))
+ object.revocationReason = options.enums === String ? $root.google.cloud.security.privateca.v1.RevocationReason[message.revocationReason] === undefined ? message.revocationReason : $root.google.cloud.security.privateca.v1.RevocationReason[message.revocationReason] : message.revocationReason;
+ return object;
+ };
+
+ /**
+ * Converts this RevokedCertificate to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RevokedCertificate.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RevokedCertificate
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RevokedCertificate.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateRevocationList.RevokedCertificate";
+ };
+
+ return RevokedCertificate;
+ })();
+
+ /**
+ * State enum.
+ * @name google.cloud.security.privateca.v1.CertificateRevocationList.State
+ * @enum {number}
+ * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} SUPERSEDED=2 SUPERSEDED value
+ */
+ CertificateRevocationList.State = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[2] = "SUPERSEDED"] = 2;
+ return values;
+ })();
+
+ return CertificateRevocationList;
+ })();
+
+ v1.Certificate = (function() {
+
+ /**
+ * Properties of a Certificate.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificate
+ * @property {string|null} [name] Certificate name
+ * @property {string|null} [pemCsr] Certificate pemCsr
+ * @property {google.cloud.security.privateca.v1.ICertificateConfig|null} [config] Certificate config
+ * @property {string|null} [issuerCertificateAuthority] Certificate issuerCertificateAuthority
+ * @property {google.protobuf.IDuration|null} [lifetime] Certificate lifetime
+ * @property {string|null} [certificateTemplate] Certificate certificateTemplate
+ * @property {google.cloud.security.privateca.v1.SubjectRequestMode|null} [subjectMode] Certificate subjectMode
+ * @property {google.cloud.security.privateca.v1.Certificate.IRevocationDetails|null} [revocationDetails] Certificate revocationDetails
+ * @property {string|null} [pemCertificate] Certificate pemCertificate
+ * @property {google.cloud.security.privateca.v1.ICertificateDescription|null} [certificateDescription] Certificate certificateDescription
+ * @property {Array.|null} [pemCertificateChain] Certificate pemCertificateChain
+ * @property {google.protobuf.ITimestamp|null} [createTime] Certificate createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Certificate updateTime
+ * @property {Object.|null} [labels] Certificate labels
+ */
+
+ /**
+ * Constructs a new Certificate.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a Certificate.
+ * @implements ICertificate
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificate=} [properties] Properties to set
+ */
+ function Certificate(properties) {
+ this.pemCertificateChain = [];
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Certificate name.
+ * @member {string} name
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.name = "";
+
+ /**
+ * Certificate pemCsr.
+ * @member {string|null|undefined} pemCsr
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.pemCsr = null;
+
+ /**
+ * Certificate config.
+ * @member {google.cloud.security.privateca.v1.ICertificateConfig|null|undefined} config
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.config = null;
+
+ /**
+ * Certificate issuerCertificateAuthority.
+ * @member {string} issuerCertificateAuthority
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.issuerCertificateAuthority = "";
+
+ /**
+ * Certificate lifetime.
+ * @member {google.protobuf.IDuration|null|undefined} lifetime
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.lifetime = null;
+
+ /**
+ * Certificate certificateTemplate.
+ * @member {string} certificateTemplate
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.certificateTemplate = "";
+
+ /**
+ * Certificate subjectMode.
+ * @member {google.cloud.security.privateca.v1.SubjectRequestMode} subjectMode
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.subjectMode = 0;
+
+ /**
+ * Certificate revocationDetails.
+ * @member {google.cloud.security.privateca.v1.Certificate.IRevocationDetails|null|undefined} revocationDetails
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.revocationDetails = null;
+
+ /**
+ * Certificate pemCertificate.
+ * @member {string} pemCertificate
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.pemCertificate = "";
+
+ /**
+ * Certificate certificateDescription.
+ * @member {google.cloud.security.privateca.v1.ICertificateDescription|null|undefined} certificateDescription
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.certificateDescription = null;
+
+ /**
+ * Certificate pemCertificateChain.
+ * @member {Array.} pemCertificateChain
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.pemCertificateChain = $util.emptyArray;
+
+ /**
+ * Certificate createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.createTime = null;
+
+ /**
+ * Certificate updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.updateTime = null;
+
+ /**
+ * Certificate labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Certificate.prototype.labels = $util.emptyObject;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Certificate certificateConfig.
+ * @member {"pemCsr"|"config"|undefined} certificateConfig
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ */
+ Object.defineProperty(Certificate.prototype, "certificateConfig", {
+ get: $util.oneOfGetter($oneOfFields = ["pemCsr", "config"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Certificate instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificate=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.Certificate} Certificate instance
+ */
+ Certificate.create = function create(properties) {
+ return new Certificate(properties);
+ };
+
+ /**
+ * Encodes the specified Certificate message. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificate} message Certificate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Certificate.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.pemCsr != null && Object.hasOwnProperty.call(message, "pemCsr"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.pemCsr);
+ if (message.config != null && Object.hasOwnProperty.call(message, "config"))
+ $root.google.cloud.security.privateca.v1.CertificateConfig.encode(message.config, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.issuerCertificateAuthority != null && Object.hasOwnProperty.call(message, "issuerCertificateAuthority"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.issuerCertificateAuthority);
+ if (message.lifetime != null && Object.hasOwnProperty.call(message, "lifetime"))
+ $root.google.protobuf.Duration.encode(message.lifetime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.certificateTemplate != null && Object.hasOwnProperty.call(message, "certificateTemplate"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.certificateTemplate);
+ if (message.subjectMode != null && Object.hasOwnProperty.call(message, "subjectMode"))
+ writer.uint32(/* id 7, wireType 0 =*/56).int32(message.subjectMode);
+ if (message.revocationDetails != null && Object.hasOwnProperty.call(message, "revocationDetails"))
+ $root.google.cloud.security.privateca.v1.Certificate.RevocationDetails.encode(message.revocationDetails, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.pemCertificate != null && Object.hasOwnProperty.call(message, "pemCertificate"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.pemCertificate);
+ if (message.certificateDescription != null && Object.hasOwnProperty.call(message, "certificateDescription"))
+ $root.google.cloud.security.privateca.v1.CertificateDescription.encode(message.certificateDescription, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ if (message.pemCertificateChain != null && message.pemCertificateChain.length)
+ for (var i = 0; i < message.pemCertificateChain.length; ++i)
+ writer.uint32(/* id 11, wireType 2 =*/90).string(message.pemCertificateChain[i]);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 14, wireType 2 =*/114).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Certificate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificate} message Certificate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Certificate.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Certificate message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.Certificate} Certificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Certificate.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.security.privateca.v1.Certificate(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.pemCsr = reader.string();
+ break;
+ }
+ case 3: {
+ message.config = $root.google.cloud.security.privateca.v1.CertificateConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.issuerCertificateAuthority = reader.string();
+ break;
+ }
+ case 5: {
+ message.lifetime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.certificateTemplate = reader.string();
+ break;
+ }
+ case 7: {
+ message.subjectMode = reader.int32();
+ break;
+ }
+ case 8: {
+ message.revocationDetails = $root.google.cloud.security.privateca.v1.Certificate.RevocationDetails.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.pemCertificate = reader.string();
+ break;
+ }
+ case 10: {
+ message.certificateDescription = $root.google.cloud.security.privateca.v1.CertificateDescription.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ if (!(message.pemCertificateChain && message.pemCertificateChain.length))
+ message.pemCertificateChain = [];
+ message.pemCertificateChain.push(reader.string());
+ break;
+ }
+ case 12: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 14: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Certificate message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.Certificate} Certificate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Certificate.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Certificate message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Certificate.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.pemCsr != null && message.hasOwnProperty("pemCsr")) {
+ properties.certificateConfig = 1;
+ if (!$util.isString(message.pemCsr))
+ return "pemCsr: string expected";
+ }
+ if (message.config != null && message.hasOwnProperty("config")) {
+ if (properties.certificateConfig === 1)
+ return "certificateConfig: multiple values";
+ properties.certificateConfig = 1;
+ {
+ var error = $root.google.cloud.security.privateca.v1.CertificateConfig.verify(message.config);
+ if (error)
+ return "config." + error;
+ }
+ }
+ if (message.issuerCertificateAuthority != null && message.hasOwnProperty("issuerCertificateAuthority"))
+ if (!$util.isString(message.issuerCertificateAuthority))
+ return "issuerCertificateAuthority: string expected";
+ if (message.lifetime != null && message.hasOwnProperty("lifetime")) {
+ var error = $root.google.protobuf.Duration.verify(message.lifetime);
+ if (error)
+ return "lifetime." + error;
+ }
+ if (message.certificateTemplate != null && message.hasOwnProperty("certificateTemplate"))
+ if (!$util.isString(message.certificateTemplate))
+ return "certificateTemplate: string expected";
+ if (message.subjectMode != null && message.hasOwnProperty("subjectMode"))
+ switch (message.subjectMode) {
+ default:
+ return "subjectMode: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.revocationDetails != null && message.hasOwnProperty("revocationDetails")) {
+ var error = $root.google.cloud.security.privateca.v1.Certificate.RevocationDetails.verify(message.revocationDetails);
+ if (error)
+ return "revocationDetails." + error;
+ }
+ if (message.pemCertificate != null && message.hasOwnProperty("pemCertificate"))
+ if (!$util.isString(message.pemCertificate))
+ return "pemCertificate: string expected";
+ if (message.certificateDescription != null && message.hasOwnProperty("certificateDescription")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateDescription.verify(message.certificateDescription);
+ if (error)
+ return "certificateDescription." + error;
+ }
+ if (message.pemCertificateChain != null && message.hasOwnProperty("pemCertificateChain")) {
+ if (!Array.isArray(message.pemCertificateChain))
+ return "pemCertificateChain: array expected";
+ for (var i = 0; i < message.pemCertificateChain.length; ++i)
+ if (!$util.isString(message.pemCertificateChain[i]))
+ return "pemCertificateChain: string[] expected";
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Certificate message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.Certificate} Certificate
+ */
+ Certificate.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.Certificate)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.Certificate();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.pemCsr != null)
+ message.pemCsr = String(object.pemCsr);
+ if (object.config != null) {
+ if (typeof object.config !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.config: object expected");
+ message.config = $root.google.cloud.security.privateca.v1.CertificateConfig.fromObject(object.config);
+ }
+ if (object.issuerCertificateAuthority != null)
+ message.issuerCertificateAuthority = String(object.issuerCertificateAuthority);
+ if (object.lifetime != null) {
+ if (typeof object.lifetime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.lifetime: object expected");
+ message.lifetime = $root.google.protobuf.Duration.fromObject(object.lifetime);
+ }
+ if (object.certificateTemplate != null)
+ message.certificateTemplate = String(object.certificateTemplate);
+ switch (object.subjectMode) {
+ default:
+ if (typeof object.subjectMode === "number") {
+ message.subjectMode = object.subjectMode;
+ break;
+ }
+ break;
+ case "SUBJECT_REQUEST_MODE_UNSPECIFIED":
+ case 0:
+ message.subjectMode = 0;
+ break;
+ case "DEFAULT":
+ case 1:
+ message.subjectMode = 1;
+ break;
+ case "REFLECTED_SPIFFE":
+ case 2:
+ message.subjectMode = 2;
+ break;
+ }
+ if (object.revocationDetails != null) {
+ if (typeof object.revocationDetails !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.revocationDetails: object expected");
+ message.revocationDetails = $root.google.cloud.security.privateca.v1.Certificate.RevocationDetails.fromObject(object.revocationDetails);
+ }
+ if (object.pemCertificate != null)
+ message.pemCertificate = String(object.pemCertificate);
+ if (object.certificateDescription != null) {
+ if (typeof object.certificateDescription !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.certificateDescription: object expected");
+ message.certificateDescription = $root.google.cloud.security.privateca.v1.CertificateDescription.fromObject(object.certificateDescription);
+ }
+ if (object.pemCertificateChain) {
+ if (!Array.isArray(object.pemCertificateChain))
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.pemCertificateChain: array expected");
+ message.pemCertificateChain = [];
+ for (var i = 0; i < object.pemCertificateChain.length; ++i)
+ message.pemCertificateChain[i] = String(object.pemCertificateChain[i]);
+ }
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Certificate message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {google.cloud.security.privateca.v1.Certificate} message Certificate
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Certificate.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.pemCertificateChain = [];
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.issuerCertificateAuthority = "";
+ object.lifetime = null;
+ object.certificateTemplate = "";
+ object.subjectMode = options.enums === String ? "SUBJECT_REQUEST_MODE_UNSPECIFIED" : 0;
+ object.revocationDetails = null;
+ object.pemCertificate = "";
+ object.certificateDescription = null;
+ object.createTime = null;
+ object.updateTime = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.pemCsr != null && message.hasOwnProperty("pemCsr")) {
+ object.pemCsr = message.pemCsr;
+ if (options.oneofs)
+ object.certificateConfig = "pemCsr";
+ }
+ if (message.config != null && message.hasOwnProperty("config")) {
+ object.config = $root.google.cloud.security.privateca.v1.CertificateConfig.toObject(message.config, options);
+ if (options.oneofs)
+ object.certificateConfig = "config";
+ }
+ if (message.issuerCertificateAuthority != null && message.hasOwnProperty("issuerCertificateAuthority"))
+ object.issuerCertificateAuthority = message.issuerCertificateAuthority;
+ if (message.lifetime != null && message.hasOwnProperty("lifetime"))
+ object.lifetime = $root.google.protobuf.Duration.toObject(message.lifetime, options);
+ if (message.certificateTemplate != null && message.hasOwnProperty("certificateTemplate"))
+ object.certificateTemplate = message.certificateTemplate;
+ if (message.subjectMode != null && message.hasOwnProperty("subjectMode"))
+ object.subjectMode = options.enums === String ? $root.google.cloud.security.privateca.v1.SubjectRequestMode[message.subjectMode] === undefined ? message.subjectMode : $root.google.cloud.security.privateca.v1.SubjectRequestMode[message.subjectMode] : message.subjectMode;
+ if (message.revocationDetails != null && message.hasOwnProperty("revocationDetails"))
+ object.revocationDetails = $root.google.cloud.security.privateca.v1.Certificate.RevocationDetails.toObject(message.revocationDetails, options);
+ if (message.pemCertificate != null && message.hasOwnProperty("pemCertificate"))
+ object.pemCertificate = message.pemCertificate;
+ if (message.certificateDescription != null && message.hasOwnProperty("certificateDescription"))
+ object.certificateDescription = $root.google.cloud.security.privateca.v1.CertificateDescription.toObject(message.certificateDescription, options);
+ if (message.pemCertificateChain && message.pemCertificateChain.length) {
+ object.pemCertificateChain = [];
+ for (var j = 0; j < message.pemCertificateChain.length; ++j)
+ object.pemCertificateChain[j] = message.pemCertificateChain[j];
+ }
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Certificate to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Certificate.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Certificate
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Certificate.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.Certificate";
+ };
+
+ Certificate.RevocationDetails = (function() {
+
+ /**
+ * Properties of a RevocationDetails.
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @interface IRevocationDetails
+ * @property {google.cloud.security.privateca.v1.RevocationReason|null} [revocationState] RevocationDetails revocationState
+ * @property {google.protobuf.ITimestamp|null} [revocationTime] RevocationDetails revocationTime
+ */
+
+ /**
+ * Constructs a new RevocationDetails.
+ * @memberof google.cloud.security.privateca.v1.Certificate
+ * @classdesc Represents a RevocationDetails.
+ * @implements IRevocationDetails
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.Certificate.IRevocationDetails=} [properties] Properties to set
+ */
+ function RevocationDetails(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]];
+ }
+
+ /**
+ * RevocationDetails revocationState.
+ * @member {google.cloud.security.privateca.v1.RevocationReason} revocationState
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @instance
+ */
+ RevocationDetails.prototype.revocationState = 0;
+
+ /**
+ * RevocationDetails revocationTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} revocationTime
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @instance
+ */
+ RevocationDetails.prototype.revocationTime = null;
+
+ /**
+ * Creates a new RevocationDetails instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {google.cloud.security.privateca.v1.Certificate.IRevocationDetails=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.Certificate.RevocationDetails} RevocationDetails instance
+ */
+ RevocationDetails.create = function create(properties) {
+ return new RevocationDetails(properties);
+ };
+
+ /**
+ * Encodes the specified RevocationDetails message. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.RevocationDetails.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {google.cloud.security.privateca.v1.Certificate.IRevocationDetails} message RevocationDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RevocationDetails.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.revocationState != null && Object.hasOwnProperty.call(message, "revocationState"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.revocationState);
+ if (message.revocationTime != null && Object.hasOwnProperty.call(message, "revocationTime"))
+ $root.google.protobuf.Timestamp.encode(message.revocationTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RevocationDetails message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.Certificate.RevocationDetails.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {google.cloud.security.privateca.v1.Certificate.IRevocationDetails} message RevocationDetails message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RevocationDetails.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RevocationDetails message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.Certificate.RevocationDetails} RevocationDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RevocationDetails.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.security.privateca.v1.Certificate.RevocationDetails();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.revocationState = reader.int32();
+ break;
+ }
+ case 2: {
+ message.revocationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RevocationDetails message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.Certificate.RevocationDetails} RevocationDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RevocationDetails.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RevocationDetails message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RevocationDetails.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.revocationState != null && message.hasOwnProperty("revocationState"))
+ switch (message.revocationState) {
+ default:
+ return "revocationState: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ break;
+ }
+ if (message.revocationTime != null && message.hasOwnProperty("revocationTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.revocationTime);
+ if (error)
+ return "revocationTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RevocationDetails message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.Certificate.RevocationDetails} RevocationDetails
+ */
+ RevocationDetails.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.Certificate.RevocationDetails)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.Certificate.RevocationDetails();
+ switch (object.revocationState) {
+ default:
+ if (typeof object.revocationState === "number") {
+ message.revocationState = object.revocationState;
+ break;
+ }
+ break;
+ case "REVOCATION_REASON_UNSPECIFIED":
+ case 0:
+ message.revocationState = 0;
+ break;
+ case "KEY_COMPROMISE":
+ case 1:
+ message.revocationState = 1;
+ break;
+ case "CERTIFICATE_AUTHORITY_COMPROMISE":
+ case 2:
+ message.revocationState = 2;
+ break;
+ case "AFFILIATION_CHANGED":
+ case 3:
+ message.revocationState = 3;
+ break;
+ case "SUPERSEDED":
+ case 4:
+ message.revocationState = 4;
+ break;
+ case "CESSATION_OF_OPERATION":
+ case 5:
+ message.revocationState = 5;
+ break;
+ case "CERTIFICATE_HOLD":
+ case 6:
+ message.revocationState = 6;
+ break;
+ case "PRIVILEGE_WITHDRAWN":
+ case 7:
+ message.revocationState = 7;
+ break;
+ case "ATTRIBUTE_AUTHORITY_COMPROMISE":
+ case 8:
+ message.revocationState = 8;
+ break;
+ }
+ if (object.revocationTime != null) {
+ if (typeof object.revocationTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.Certificate.RevocationDetails.revocationTime: object expected");
+ message.revocationTime = $root.google.protobuf.Timestamp.fromObject(object.revocationTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RevocationDetails message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {google.cloud.security.privateca.v1.Certificate.RevocationDetails} message RevocationDetails
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RevocationDetails.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.revocationState = options.enums === String ? "REVOCATION_REASON_UNSPECIFIED" : 0;
+ object.revocationTime = null;
+ }
+ if (message.revocationState != null && message.hasOwnProperty("revocationState"))
+ object.revocationState = options.enums === String ? $root.google.cloud.security.privateca.v1.RevocationReason[message.revocationState] === undefined ? message.revocationState : $root.google.cloud.security.privateca.v1.RevocationReason[message.revocationState] : message.revocationState;
+ if (message.revocationTime != null && message.hasOwnProperty("revocationTime"))
+ object.revocationTime = $root.google.protobuf.Timestamp.toObject(message.revocationTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this RevocationDetails to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RevocationDetails.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RevocationDetails
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.Certificate.RevocationDetails
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RevocationDetails.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.Certificate.RevocationDetails";
+ };
+
+ return RevocationDetails;
+ })();
+
+ return Certificate;
+ })();
+
+ v1.CertificateTemplate = (function() {
+
+ /**
+ * Properties of a CertificateTemplate.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificateTemplate
+ * @property {string|null} [name] CertificateTemplate name
+ * @property {google.cloud.security.privateca.v1.IX509Parameters|null} [predefinedValues] CertificateTemplate predefinedValues
+ * @property {google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null} [identityConstraints] CertificateTemplate identityConstraints
+ * @property {google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null} [passthroughExtensions] CertificateTemplate passthroughExtensions
+ * @property {string|null} [description] CertificateTemplate description
+ * @property {google.protobuf.ITimestamp|null} [createTime] CertificateTemplate createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] CertificateTemplate updateTime
+ * @property {Object.|null} [labels] CertificateTemplate labels
+ */
+
+ /**
+ * Constructs a new CertificateTemplate.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CertificateTemplate.
+ * @implements ICertificateTemplate
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificateTemplate=} [properties] Properties to set
+ */
+ function CertificateTemplate(properties) {
+ this.labels = {};
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CertificateTemplate name.
+ * @member {string} name
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.name = "";
+
+ /**
+ * CertificateTemplate predefinedValues.
+ * @member {google.cloud.security.privateca.v1.IX509Parameters|null|undefined} predefinedValues
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.predefinedValues = null;
+
+ /**
+ * CertificateTemplate identityConstraints.
+ * @member {google.cloud.security.privateca.v1.ICertificateIdentityConstraints|null|undefined} identityConstraints
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.identityConstraints = null;
+
+ /**
+ * CertificateTemplate passthroughExtensions.
+ * @member {google.cloud.security.privateca.v1.ICertificateExtensionConstraints|null|undefined} passthroughExtensions
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.passthroughExtensions = null;
+
+ /**
+ * CertificateTemplate description.
+ * @member {string} description
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.description = "";
+
+ /**
+ * CertificateTemplate createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.createTime = null;
+
+ /**
+ * CertificateTemplate updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.updateTime = null;
+
+ /**
+ * CertificateTemplate labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ */
+ CertificateTemplate.prototype.labels = $util.emptyObject;
+
+ /**
+ * Creates a new CertificateTemplate instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateTemplate=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateTemplate} CertificateTemplate instance
+ */
+ CertificateTemplate.create = function create(properties) {
+ return new CertificateTemplate(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateTemplate message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateTemplate.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateTemplate} message CertificateTemplate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateTemplate.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.predefinedValues != null && Object.hasOwnProperty.call(message, "predefinedValues"))
+ $root.google.cloud.security.privateca.v1.X509Parameters.encode(message.predefinedValues, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.identityConstraints != null && Object.hasOwnProperty.call(message, "identityConstraints"))
+ $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.encode(message.identityConstraints, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.passthroughExtensions != null && Object.hasOwnProperty.call(message, "passthroughExtensions"))
+ $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.encode(message.passthroughExtensions, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.description);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 8, wireType 2 =*/66).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateTemplate message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateTemplate.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateTemplate} message CertificateTemplate message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateTemplate.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateTemplate message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateTemplate} CertificateTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateTemplate.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.security.privateca.v1.CertificateTemplate(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.predefinedValues = $root.google.cloud.security.privateca.v1.X509Parameters.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.identityConstraints = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.passthroughExtensions = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.description = reader.string();
+ break;
+ }
+ case 6: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ if (message.labels === $util.emptyObject)
+ message.labels = {};
+ var end2 = reader.uint32() + reader.pos;
+ key = "";
+ value = "";
+ while (reader.pos < end2) {
+ var tag2 = reader.uint32();
+ switch (tag2 >>> 3) {
+ case 1:
+ key = reader.string();
+ break;
+ case 2:
+ value = reader.string();
+ break;
+ default:
+ reader.skipType(tag2 & 7);
+ break;
+ }
+ }
+ message.labels[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateTemplate message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateTemplate} CertificateTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateTemplate.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateTemplate message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateTemplate.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.predefinedValues != null && message.hasOwnProperty("predefinedValues")) {
+ var error = $root.google.cloud.security.privateca.v1.X509Parameters.verify(message.predefinedValues);
+ if (error)
+ return "predefinedValues." + error;
+ }
+ if (message.identityConstraints != null && message.hasOwnProperty("identityConstraints")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.verify(message.identityConstraints);
+ if (error)
+ return "identityConstraints." + error;
+ }
+ if (message.passthroughExtensions != null && message.hasOwnProperty("passthroughExtensions")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.verify(message.passthroughExtensions);
+ if (error)
+ return "passthroughExtensions." + error;
+ }
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.labels != null && message.hasOwnProperty("labels")) {
+ if (!$util.isObject(message.labels))
+ return "labels: object expected";
+ var key = Object.keys(message.labels);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.labels[key[i]]))
+ return "labels: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CertificateTemplate message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateTemplate} CertificateTemplate
+ */
+ CertificateTemplate.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateTemplate)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateTemplate();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.predefinedValues != null) {
+ if (typeof object.predefinedValues !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateTemplate.predefinedValues: object expected");
+ message.predefinedValues = $root.google.cloud.security.privateca.v1.X509Parameters.fromObject(object.predefinedValues);
+ }
+ if (object.identityConstraints != null) {
+ if (typeof object.identityConstraints !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateTemplate.identityConstraints: object expected");
+ message.identityConstraints = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.fromObject(object.identityConstraints);
+ }
+ if (object.passthroughExtensions != null) {
+ if (typeof object.passthroughExtensions !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateTemplate.passthroughExtensions: object expected");
+ message.passthroughExtensions = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.fromObject(object.passthroughExtensions);
+ }
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateTemplate.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateTemplate.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateTemplate.labels: object expected");
+ message.labels = {};
+ for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i)
+ message.labels[keys[i]] = String(object.labels[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateTemplate message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateTemplate} message CertificateTemplate
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateTemplate.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults) {
+ object.name = "";
+ object.predefinedValues = null;
+ object.identityConstraints = null;
+ object.passthroughExtensions = null;
+ object.description = "";
+ object.createTime = null;
+ object.updateTime = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.predefinedValues != null && message.hasOwnProperty("predefinedValues"))
+ object.predefinedValues = $root.google.cloud.security.privateca.v1.X509Parameters.toObject(message.predefinedValues, options);
+ if (message.identityConstraints != null && message.hasOwnProperty("identityConstraints"))
+ object.identityConstraints = $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints.toObject(message.identityConstraints, options);
+ if (message.passthroughExtensions != null && message.hasOwnProperty("passthroughExtensions"))
+ object.passthroughExtensions = $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.toObject(message.passthroughExtensions, options);
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ var keys2;
+ if (message.labels && (keys2 = Object.keys(message.labels)).length) {
+ object.labels = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.labels[keys2[j]] = message.labels[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CertificateTemplate to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CertificateTemplate.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CertificateTemplate
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateTemplate
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CertificateTemplate.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateTemplate";
+ };
+
+ return CertificateTemplate;
+ })();
+
+ v1.X509Parameters = (function() {
+
+ /**
+ * Properties of a X509Parameters.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface IX509Parameters
+ * @property {google.cloud.security.privateca.v1.IKeyUsage|null} [keyUsage] X509Parameters keyUsage
+ * @property {google.cloud.security.privateca.v1.X509Parameters.ICaOptions|null} [caOptions] X509Parameters caOptions
+ * @property {Array.|null} [policyIds] X509Parameters policyIds
+ * @property {Array.|null} [aiaOcspServers] X509Parameters aiaOcspServers
+ * @property {Array.|null} [additionalExtensions] X509Parameters additionalExtensions
+ */
+
+ /**
+ * Constructs a new X509Parameters.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a X509Parameters.
+ * @implements IX509Parameters
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.IX509Parameters=} [properties] Properties to set
+ */
+ function X509Parameters(properties) {
+ this.policyIds = [];
+ this.aiaOcspServers = [];
+ this.additionalExtensions = [];
+ 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]];
+ }
+
+ /**
+ * X509Parameters keyUsage.
+ * @member {google.cloud.security.privateca.v1.IKeyUsage|null|undefined} keyUsage
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @instance
+ */
+ X509Parameters.prototype.keyUsage = null;
+
+ /**
+ * X509Parameters caOptions.
+ * @member {google.cloud.security.privateca.v1.X509Parameters.ICaOptions|null|undefined} caOptions
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @instance
+ */
+ X509Parameters.prototype.caOptions = null;
+
+ /**
+ * X509Parameters policyIds.
+ * @member {Array.} policyIds
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @instance
+ */
+ X509Parameters.prototype.policyIds = $util.emptyArray;
+
+ /**
+ * X509Parameters aiaOcspServers.
+ * @member {Array.} aiaOcspServers
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @instance
+ */
+ X509Parameters.prototype.aiaOcspServers = $util.emptyArray;
+
+ /**
+ * X509Parameters additionalExtensions.
+ * @member {Array.} additionalExtensions
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @instance
+ */
+ X509Parameters.prototype.additionalExtensions = $util.emptyArray;
+
+ /**
+ * Creates a new X509Parameters instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {google.cloud.security.privateca.v1.IX509Parameters=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.X509Parameters} X509Parameters instance
+ */
+ X509Parameters.create = function create(properties) {
+ return new X509Parameters(properties);
+ };
+
+ /**
+ * Encodes the specified X509Parameters message. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {google.cloud.security.privateca.v1.IX509Parameters} message X509Parameters message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ X509Parameters.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.keyUsage != null && Object.hasOwnProperty.call(message, "keyUsage"))
+ $root.google.cloud.security.privateca.v1.KeyUsage.encode(message.keyUsage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.caOptions != null && Object.hasOwnProperty.call(message, "caOptions"))
+ $root.google.cloud.security.privateca.v1.X509Parameters.CaOptions.encode(message.caOptions, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.policyIds != null && message.policyIds.length)
+ for (var i = 0; i < message.policyIds.length; ++i)
+ $root.google.cloud.security.privateca.v1.ObjectId.encode(message.policyIds[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.aiaOcspServers != null && message.aiaOcspServers.length)
+ for (var i = 0; i < message.aiaOcspServers.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.aiaOcspServers[i]);
+ if (message.additionalExtensions != null && message.additionalExtensions.length)
+ for (var i = 0; i < message.additionalExtensions.length; ++i)
+ $root.google.cloud.security.privateca.v1.X509Extension.encode(message.additionalExtensions[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified X509Parameters message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {google.cloud.security.privateca.v1.IX509Parameters} message X509Parameters message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ X509Parameters.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a X509Parameters message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.X509Parameters} X509Parameters
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ X509Parameters.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.security.privateca.v1.X509Parameters();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.keyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.caOptions = $root.google.cloud.security.privateca.v1.X509Parameters.CaOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.policyIds && message.policyIds.length))
+ message.policyIds = [];
+ message.policyIds.push($root.google.cloud.security.privateca.v1.ObjectId.decode(reader, reader.uint32()));
+ break;
+ }
+ case 4: {
+ if (!(message.aiaOcspServers && message.aiaOcspServers.length))
+ message.aiaOcspServers = [];
+ message.aiaOcspServers.push(reader.string());
+ break;
+ }
+ case 5: {
+ if (!(message.additionalExtensions && message.additionalExtensions.length))
+ message.additionalExtensions = [];
+ message.additionalExtensions.push($root.google.cloud.security.privateca.v1.X509Extension.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a X509Parameters message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.X509Parameters} X509Parameters
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ X509Parameters.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a X509Parameters message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ X509Parameters.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.keyUsage != null && message.hasOwnProperty("keyUsage")) {
+ var error = $root.google.cloud.security.privateca.v1.KeyUsage.verify(message.keyUsage);
+ if (error)
+ return "keyUsage." + error;
+ }
+ if (message.caOptions != null && message.hasOwnProperty("caOptions")) {
+ var error = $root.google.cloud.security.privateca.v1.X509Parameters.CaOptions.verify(message.caOptions);
+ if (error)
+ return "caOptions." + error;
+ }
+ if (message.policyIds != null && message.hasOwnProperty("policyIds")) {
+ if (!Array.isArray(message.policyIds))
+ return "policyIds: array expected";
+ for (var i = 0; i < message.policyIds.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.ObjectId.verify(message.policyIds[i]);
+ if (error)
+ return "policyIds." + error;
+ }
+ }
+ if (message.aiaOcspServers != null && message.hasOwnProperty("aiaOcspServers")) {
+ if (!Array.isArray(message.aiaOcspServers))
+ return "aiaOcspServers: array expected";
+ for (var i = 0; i < message.aiaOcspServers.length; ++i)
+ if (!$util.isString(message.aiaOcspServers[i]))
+ return "aiaOcspServers: string[] expected";
+ }
+ if (message.additionalExtensions != null && message.hasOwnProperty("additionalExtensions")) {
+ if (!Array.isArray(message.additionalExtensions))
+ return "additionalExtensions: array expected";
+ for (var i = 0; i < message.additionalExtensions.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.X509Extension.verify(message.additionalExtensions[i]);
+ if (error)
+ return "additionalExtensions." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a X509Parameters message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.X509Parameters} X509Parameters
+ */
+ X509Parameters.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.X509Parameters)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.X509Parameters();
+ if (object.keyUsage != null) {
+ if (typeof object.keyUsage !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.X509Parameters.keyUsage: object expected");
+ message.keyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.fromObject(object.keyUsage);
+ }
+ if (object.caOptions != null) {
+ if (typeof object.caOptions !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.X509Parameters.caOptions: object expected");
+ message.caOptions = $root.google.cloud.security.privateca.v1.X509Parameters.CaOptions.fromObject(object.caOptions);
+ }
+ if (object.policyIds) {
+ if (!Array.isArray(object.policyIds))
+ throw TypeError(".google.cloud.security.privateca.v1.X509Parameters.policyIds: array expected");
+ message.policyIds = [];
+ for (var i = 0; i < object.policyIds.length; ++i) {
+ if (typeof object.policyIds[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.X509Parameters.policyIds: object expected");
+ message.policyIds[i] = $root.google.cloud.security.privateca.v1.ObjectId.fromObject(object.policyIds[i]);
+ }
+ }
+ if (object.aiaOcspServers) {
+ if (!Array.isArray(object.aiaOcspServers))
+ throw TypeError(".google.cloud.security.privateca.v1.X509Parameters.aiaOcspServers: array expected");
+ message.aiaOcspServers = [];
+ for (var i = 0; i < object.aiaOcspServers.length; ++i)
+ message.aiaOcspServers[i] = String(object.aiaOcspServers[i]);
+ }
+ if (object.additionalExtensions) {
+ if (!Array.isArray(object.additionalExtensions))
+ throw TypeError(".google.cloud.security.privateca.v1.X509Parameters.additionalExtensions: array expected");
+ message.additionalExtensions = [];
+ for (var i = 0; i < object.additionalExtensions.length; ++i) {
+ if (typeof object.additionalExtensions[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.X509Parameters.additionalExtensions: object expected");
+ message.additionalExtensions[i] = $root.google.cloud.security.privateca.v1.X509Extension.fromObject(object.additionalExtensions[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a X509Parameters message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {google.cloud.security.privateca.v1.X509Parameters} message X509Parameters
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ X509Parameters.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.policyIds = [];
+ object.aiaOcspServers = [];
+ object.additionalExtensions = [];
+ }
+ if (options.defaults) {
+ object.keyUsage = null;
+ object.caOptions = null;
+ }
+ if (message.keyUsage != null && message.hasOwnProperty("keyUsage"))
+ object.keyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.toObject(message.keyUsage, options);
+ if (message.caOptions != null && message.hasOwnProperty("caOptions"))
+ object.caOptions = $root.google.cloud.security.privateca.v1.X509Parameters.CaOptions.toObject(message.caOptions, options);
+ if (message.policyIds && message.policyIds.length) {
+ object.policyIds = [];
+ for (var j = 0; j < message.policyIds.length; ++j)
+ object.policyIds[j] = $root.google.cloud.security.privateca.v1.ObjectId.toObject(message.policyIds[j], options);
+ }
+ if (message.aiaOcspServers && message.aiaOcspServers.length) {
+ object.aiaOcspServers = [];
+ for (var j = 0; j < message.aiaOcspServers.length; ++j)
+ object.aiaOcspServers[j] = message.aiaOcspServers[j];
+ }
+ if (message.additionalExtensions && message.additionalExtensions.length) {
+ object.additionalExtensions = [];
+ for (var j = 0; j < message.additionalExtensions.length; ++j)
+ object.additionalExtensions[j] = $root.google.cloud.security.privateca.v1.X509Extension.toObject(message.additionalExtensions[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this X509Parameters to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ X509Parameters.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for X509Parameters
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ X509Parameters.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.X509Parameters";
+ };
+
+ X509Parameters.CaOptions = (function() {
+
+ /**
+ * Properties of a CaOptions.
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @interface ICaOptions
+ * @property {boolean|null} [isCa] CaOptions isCa
+ * @property {number|null} [maxIssuerPathLength] CaOptions maxIssuerPathLength
+ */
+
+ /**
+ * Constructs a new CaOptions.
+ * @memberof google.cloud.security.privateca.v1.X509Parameters
+ * @classdesc Represents a CaOptions.
+ * @implements ICaOptions
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.X509Parameters.ICaOptions=} [properties] Properties to set
+ */
+ function CaOptions(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]];
+ }
+
+ /**
+ * CaOptions isCa.
+ * @member {boolean|null|undefined} isCa
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @instance
+ */
+ CaOptions.prototype.isCa = null;
+
+ /**
+ * CaOptions maxIssuerPathLength.
+ * @member {number|null|undefined} maxIssuerPathLength
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @instance
+ */
+ CaOptions.prototype.maxIssuerPathLength = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CaOptions _isCa.
+ * @member {"isCa"|undefined} _isCa
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @instance
+ */
+ Object.defineProperty(CaOptions.prototype, "_isCa", {
+ get: $util.oneOfGetter($oneOfFields = ["isCa"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * CaOptions _maxIssuerPathLength.
+ * @member {"maxIssuerPathLength"|undefined} _maxIssuerPathLength
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @instance
+ */
+ Object.defineProperty(CaOptions.prototype, "_maxIssuerPathLength", {
+ get: $util.oneOfGetter($oneOfFields = ["maxIssuerPathLength"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CaOptions instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.X509Parameters.ICaOptions=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.X509Parameters.CaOptions} CaOptions instance
+ */
+ CaOptions.create = function create(properties) {
+ return new CaOptions(properties);
+ };
+
+ /**
+ * Encodes the specified CaOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.CaOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.X509Parameters.ICaOptions} message CaOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CaOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.isCa != null && Object.hasOwnProperty.call(message, "isCa"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isCa);
+ if (message.maxIssuerPathLength != null && Object.hasOwnProperty.call(message, "maxIssuerPathLength"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxIssuerPathLength);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CaOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.X509Parameters.CaOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.X509Parameters.ICaOptions} message CaOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CaOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CaOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.X509Parameters.CaOptions} CaOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CaOptions.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.security.privateca.v1.X509Parameters.CaOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.isCa = reader.bool();
+ break;
+ }
+ case 2: {
+ message.maxIssuerPathLength = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CaOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.X509Parameters.CaOptions} CaOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CaOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CaOptions message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CaOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.isCa != null && message.hasOwnProperty("isCa")) {
+ properties._isCa = 1;
+ if (typeof message.isCa !== "boolean")
+ return "isCa: boolean expected";
+ }
+ if (message.maxIssuerPathLength != null && message.hasOwnProperty("maxIssuerPathLength")) {
+ properties._maxIssuerPathLength = 1;
+ if (!$util.isInteger(message.maxIssuerPathLength))
+ return "maxIssuerPathLength: integer expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CaOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.X509Parameters.CaOptions} CaOptions
+ */
+ CaOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.X509Parameters.CaOptions)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.X509Parameters.CaOptions();
+ if (object.isCa != null)
+ message.isCa = Boolean(object.isCa);
+ if (object.maxIssuerPathLength != null)
+ message.maxIssuerPathLength = object.maxIssuerPathLength | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CaOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.X509Parameters.CaOptions} message CaOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CaOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.isCa != null && message.hasOwnProperty("isCa")) {
+ object.isCa = message.isCa;
+ if (options.oneofs)
+ object._isCa = "isCa";
+ }
+ if (message.maxIssuerPathLength != null && message.hasOwnProperty("maxIssuerPathLength")) {
+ object.maxIssuerPathLength = message.maxIssuerPathLength;
+ if (options.oneofs)
+ object._maxIssuerPathLength = "maxIssuerPathLength";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CaOptions to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CaOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CaOptions
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.X509Parameters.CaOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CaOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.X509Parameters.CaOptions";
+ };
+
+ return CaOptions;
+ })();
+
+ return X509Parameters;
+ })();
+
+ v1.SubordinateConfig = (function() {
+
+ /**
+ * Properties of a SubordinateConfig.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ISubordinateConfig
+ * @property {string|null} [certificateAuthority] SubordinateConfig certificateAuthority
+ * @property {google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain|null} [pemIssuerChain] SubordinateConfig pemIssuerChain
+ */
+
+ /**
+ * Constructs a new SubordinateConfig.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a SubordinateConfig.
+ * @implements ISubordinateConfig
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ISubordinateConfig=} [properties] Properties to set
+ */
+ function SubordinateConfig(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]];
+ }
+
+ /**
+ * SubordinateConfig certificateAuthority.
+ * @member {string|null|undefined} certificateAuthority
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @instance
+ */
+ SubordinateConfig.prototype.certificateAuthority = null;
+
+ /**
+ * SubordinateConfig pemIssuerChain.
+ * @member {google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain|null|undefined} pemIssuerChain
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @instance
+ */
+ SubordinateConfig.prototype.pemIssuerChain = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * SubordinateConfig subordinateConfig.
+ * @member {"certificateAuthority"|"pemIssuerChain"|undefined} subordinateConfig
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @instance
+ */
+ Object.defineProperty(SubordinateConfig.prototype, "subordinateConfig", {
+ get: $util.oneOfGetter($oneOfFields = ["certificateAuthority", "pemIssuerChain"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new SubordinateConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubordinateConfig=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig} SubordinateConfig instance
+ */
+ SubordinateConfig.create = function create(properties) {
+ return new SubordinateConfig(properties);
+ };
+
+ /**
+ * Encodes the specified SubordinateConfig message. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubordinateConfig} message SubordinateConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubordinateConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.certificateAuthority != null && Object.hasOwnProperty.call(message, "certificateAuthority"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.certificateAuthority);
+ if (message.pemIssuerChain != null && Object.hasOwnProperty.call(message, "pemIssuerChain"))
+ $root.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.encode(message.pemIssuerChain, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SubordinateConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubordinateConfig} message SubordinateConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubordinateConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SubordinateConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig} SubordinateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubordinateConfig.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.security.privateca.v1.SubordinateConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.certificateAuthority = reader.string();
+ break;
+ }
+ case 2: {
+ message.pemIssuerChain = $root.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SubordinateConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig} SubordinateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubordinateConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SubordinateConfig message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SubordinateConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.certificateAuthority != null && message.hasOwnProperty("certificateAuthority")) {
+ properties.subordinateConfig = 1;
+ if (!$util.isString(message.certificateAuthority))
+ return "certificateAuthority: string expected";
+ }
+ if (message.pemIssuerChain != null && message.hasOwnProperty("pemIssuerChain")) {
+ if (properties.subordinateConfig === 1)
+ return "subordinateConfig: multiple values";
+ properties.subordinateConfig = 1;
+ {
+ var error = $root.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.verify(message.pemIssuerChain);
+ if (error)
+ return "pemIssuerChain." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SubordinateConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig} SubordinateConfig
+ */
+ SubordinateConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.SubordinateConfig)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.SubordinateConfig();
+ if (object.certificateAuthority != null)
+ message.certificateAuthority = String(object.certificateAuthority);
+ if (object.pemIssuerChain != null) {
+ if (typeof object.pemIssuerChain !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.SubordinateConfig.pemIssuerChain: object expected");
+ message.pemIssuerChain = $root.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.fromObject(object.pemIssuerChain);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SubordinateConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.SubordinateConfig} message SubordinateConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SubordinateConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.certificateAuthority != null && message.hasOwnProperty("certificateAuthority")) {
+ object.certificateAuthority = message.certificateAuthority;
+ if (options.oneofs)
+ object.subordinateConfig = "certificateAuthority";
+ }
+ if (message.pemIssuerChain != null && message.hasOwnProperty("pemIssuerChain")) {
+ object.pemIssuerChain = $root.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.toObject(message.pemIssuerChain, options);
+ if (options.oneofs)
+ object.subordinateConfig = "pemIssuerChain";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this SubordinateConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SubordinateConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SubordinateConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SubordinateConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.SubordinateConfig";
+ };
+
+ SubordinateConfig.SubordinateConfigChain = (function() {
+
+ /**
+ * Properties of a SubordinateConfigChain.
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @interface ISubordinateConfigChain
+ * @property {Array.|null} [pemCertificates] SubordinateConfigChain pemCertificates
+ */
+
+ /**
+ * Constructs a new SubordinateConfigChain.
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig
+ * @classdesc Represents a SubordinateConfigChain.
+ * @implements ISubordinateConfigChain
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain=} [properties] Properties to set
+ */
+ function SubordinateConfigChain(properties) {
+ this.pemCertificates = [];
+ 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]];
+ }
+
+ /**
+ * SubordinateConfigChain pemCertificates.
+ * @member {Array.} pemCertificates
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @instance
+ */
+ SubordinateConfigChain.prototype.pemCertificates = $util.emptyArray;
+
+ /**
+ * Creates a new SubordinateConfigChain instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain} SubordinateConfigChain instance
+ */
+ SubordinateConfigChain.create = function create(properties) {
+ return new SubordinateConfigChain(properties);
+ };
+
+ /**
+ * Encodes the specified SubordinateConfigChain message. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain} message SubordinateConfigChain message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubordinateConfigChain.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.pemCertificates != null && message.pemCertificates.length)
+ for (var i = 0; i < message.pemCertificates.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.pemCertificates[i]);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SubordinateConfigChain message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {google.cloud.security.privateca.v1.SubordinateConfig.ISubordinateConfigChain} message SubordinateConfigChain message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubordinateConfigChain.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SubordinateConfigChain message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain} SubordinateConfigChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubordinateConfigChain.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.security.privateca.v1.SubordinateConfig.SubordinateConfigChain();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.pemCertificates && message.pemCertificates.length))
+ message.pemCertificates = [];
+ message.pemCertificates.push(reader.string());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SubordinateConfigChain message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain} SubordinateConfigChain
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubordinateConfigChain.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SubordinateConfigChain message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SubordinateConfigChain.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.pemCertificates != null && message.hasOwnProperty("pemCertificates")) {
+ if (!Array.isArray(message.pemCertificates))
+ return "pemCertificates: array expected";
+ for (var i = 0; i < message.pemCertificates.length; ++i)
+ if (!$util.isString(message.pemCertificates[i]))
+ return "pemCertificates: string[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SubordinateConfigChain message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain} SubordinateConfigChain
+ */
+ SubordinateConfigChain.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain();
+ if (object.pemCertificates) {
+ if (!Array.isArray(object.pemCertificates))
+ throw TypeError(".google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain.pemCertificates: array expected");
+ message.pemCertificates = [];
+ for (var i = 0; i < object.pemCertificates.length; ++i)
+ message.pemCertificates[i] = String(object.pemCertificates[i]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SubordinateConfigChain message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain} message SubordinateConfigChain
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SubordinateConfigChain.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.pemCertificates = [];
+ if (message.pemCertificates && message.pemCertificates.length) {
+ object.pemCertificates = [];
+ for (var j = 0; j < message.pemCertificates.length; ++j)
+ object.pemCertificates[j] = message.pemCertificates[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this SubordinateConfigChain to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SubordinateConfigChain.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SubordinateConfigChain
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SubordinateConfigChain.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.SubordinateConfig.SubordinateConfigChain";
+ };
+
+ return SubordinateConfigChain;
+ })();
+
+ return SubordinateConfig;
+ })();
+
+ v1.PublicKey = (function() {
+
+ /**
+ * Properties of a PublicKey.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface IPublicKey
+ * @property {Uint8Array|null} [key] PublicKey key
+ * @property {google.cloud.security.privateca.v1.PublicKey.KeyFormat|null} [format] PublicKey format
+ */
+
+ /**
+ * Constructs a new PublicKey.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a PublicKey.
+ * @implements IPublicKey
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.IPublicKey=} [properties] Properties to set
+ */
+ function PublicKey(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]];
+ }
+
+ /**
+ * PublicKey key.
+ * @member {Uint8Array} key
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @instance
+ */
+ PublicKey.prototype.key = $util.newBuffer([]);
+
+ /**
+ * PublicKey format.
+ * @member {google.cloud.security.privateca.v1.PublicKey.KeyFormat} format
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @instance
+ */
+ PublicKey.prototype.format = 0;
+
+ /**
+ * Creates a new PublicKey instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {google.cloud.security.privateca.v1.IPublicKey=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.PublicKey} PublicKey instance
+ */
+ PublicKey.create = function create(properties) {
+ return new PublicKey(properties);
+ };
+
+ /**
+ * Encodes the specified PublicKey message. Does not implicitly {@link google.cloud.security.privateca.v1.PublicKey.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {google.cloud.security.privateca.v1.IPublicKey} message PublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublicKey.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.key != null && Object.hasOwnProperty.call(message, "key"))
+ writer.uint32(/* id 1, wireType 2 =*/10).bytes(message.key);
+ if (message.format != null && Object.hasOwnProperty.call(message, "format"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.format);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PublicKey message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.PublicKey.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {google.cloud.security.privateca.v1.IPublicKey} message PublicKey message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PublicKey.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PublicKey message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.PublicKey} PublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublicKey.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.security.privateca.v1.PublicKey();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.key = reader.bytes();
+ break;
+ }
+ case 2: {
+ message.format = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PublicKey message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.PublicKey} PublicKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PublicKey.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PublicKey message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PublicKey.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.key != null && message.hasOwnProperty("key"))
+ if (!(message.key && typeof message.key.length === "number" || $util.isString(message.key)))
+ return "key: buffer expected";
+ if (message.format != null && message.hasOwnProperty("format"))
+ switch (message.format) {
+ default:
+ return "format: enum value expected";
+ case 0:
+ case 1:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PublicKey message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.PublicKey} PublicKey
+ */
+ PublicKey.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.PublicKey)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.PublicKey();
+ if (object.key != null)
+ if (typeof object.key === "string")
+ $util.base64.decode(object.key, message.key = $util.newBuffer($util.base64.length(object.key)), 0);
+ else if (object.key.length >= 0)
+ message.key = object.key;
+ switch (object.format) {
+ default:
+ if (typeof object.format === "number") {
+ message.format = object.format;
+ break;
+ }
+ break;
+ case "KEY_FORMAT_UNSPECIFIED":
+ case 0:
+ message.format = 0;
+ break;
+ case "PEM":
+ case 1:
+ message.format = 1;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PublicKey message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {google.cloud.security.privateca.v1.PublicKey} message PublicKey
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PublicKey.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ if (options.bytes === String)
+ object.key = "";
+ else {
+ object.key = [];
+ if (options.bytes !== Array)
+ object.key = $util.newBuffer(object.key);
+ }
+ object.format = options.enums === String ? "KEY_FORMAT_UNSPECIFIED" : 0;
+ }
+ if (message.key != null && message.hasOwnProperty("key"))
+ object.key = options.bytes === String ? $util.base64.encode(message.key, 0, message.key.length) : options.bytes === Array ? Array.prototype.slice.call(message.key) : message.key;
+ if (message.format != null && message.hasOwnProperty("format"))
+ object.format = options.enums === String ? $root.google.cloud.security.privateca.v1.PublicKey.KeyFormat[message.format] === undefined ? message.format : $root.google.cloud.security.privateca.v1.PublicKey.KeyFormat[message.format] : message.format;
+ return object;
+ };
+
+ /**
+ * Converts this PublicKey to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PublicKey.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PublicKey
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.PublicKey
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PublicKey.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.PublicKey";
+ };
+
+ /**
+ * KeyFormat enum.
+ * @name google.cloud.security.privateca.v1.PublicKey.KeyFormat
+ * @enum {number}
+ * @property {number} KEY_FORMAT_UNSPECIFIED=0 KEY_FORMAT_UNSPECIFIED value
+ * @property {number} PEM=1 PEM value
+ */
+ PublicKey.KeyFormat = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "KEY_FORMAT_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "PEM"] = 1;
+ return values;
+ })();
+
+ return PublicKey;
+ })();
+
+ v1.CertificateConfig = (function() {
+
+ /**
+ * Properties of a CertificateConfig.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificateConfig
+ * @property {google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig|null} [subjectConfig] CertificateConfig subjectConfig
+ * @property {google.cloud.security.privateca.v1.IX509Parameters|null} [x509Config] CertificateConfig x509Config
+ * @property {google.cloud.security.privateca.v1.IPublicKey|null} [publicKey] CertificateConfig publicKey
+ */
+
+ /**
+ * Constructs a new CertificateConfig.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CertificateConfig.
+ * @implements ICertificateConfig
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificateConfig=} [properties] Properties to set
+ */
+ function CertificateConfig(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]];
+ }
+
+ /**
+ * CertificateConfig subjectConfig.
+ * @member {google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig|null|undefined} subjectConfig
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @instance
+ */
+ CertificateConfig.prototype.subjectConfig = null;
+
+ /**
+ * CertificateConfig x509Config.
+ * @member {google.cloud.security.privateca.v1.IX509Parameters|null|undefined} x509Config
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @instance
+ */
+ CertificateConfig.prototype.x509Config = null;
+
+ /**
+ * CertificateConfig publicKey.
+ * @member {google.cloud.security.privateca.v1.IPublicKey|null|undefined} publicKey
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @instance
+ */
+ CertificateConfig.prototype.publicKey = null;
+
+ /**
+ * Creates a new CertificateConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateConfig=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig} CertificateConfig instance
+ */
+ CertificateConfig.create = function create(properties) {
+ return new CertificateConfig(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateConfig message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateConfig} message CertificateConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.subjectConfig != null && Object.hasOwnProperty.call(message, "subjectConfig"))
+ $root.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.encode(message.subjectConfig, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.x509Config != null && Object.hasOwnProperty.call(message, "x509Config"))
+ $root.google.cloud.security.privateca.v1.X509Parameters.encode(message.x509Config, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.publicKey != null && Object.hasOwnProperty.call(message, "publicKey"))
+ $root.google.cloud.security.privateca.v1.PublicKey.encode(message.publicKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateConfig} message CertificateConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig} CertificateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateConfig.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.security.privateca.v1.CertificateConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.subjectConfig = $root.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.x509Config = $root.google.cloud.security.privateca.v1.X509Parameters.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.publicKey = $root.google.cloud.security.privateca.v1.PublicKey.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig} CertificateConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateConfig message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.subjectConfig != null && message.hasOwnProperty("subjectConfig")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.verify(message.subjectConfig);
+ if (error)
+ return "subjectConfig." + error;
+ }
+ if (message.x509Config != null && message.hasOwnProperty("x509Config")) {
+ var error = $root.google.cloud.security.privateca.v1.X509Parameters.verify(message.x509Config);
+ if (error)
+ return "x509Config." + error;
+ }
+ if (message.publicKey != null && message.hasOwnProperty("publicKey")) {
+ var error = $root.google.cloud.security.privateca.v1.PublicKey.verify(message.publicKey);
+ if (error)
+ return "publicKey." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CertificateConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig} CertificateConfig
+ */
+ CertificateConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateConfig)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateConfig();
+ if (object.subjectConfig != null) {
+ if (typeof object.subjectConfig !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateConfig.subjectConfig: object expected");
+ message.subjectConfig = $root.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.fromObject(object.subjectConfig);
+ }
+ if (object.x509Config != null) {
+ if (typeof object.x509Config !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateConfig.x509Config: object expected");
+ message.x509Config = $root.google.cloud.security.privateca.v1.X509Parameters.fromObject(object.x509Config);
+ }
+ if (object.publicKey != null) {
+ if (typeof object.publicKey !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateConfig.publicKey: object expected");
+ message.publicKey = $root.google.cloud.security.privateca.v1.PublicKey.fromObject(object.publicKey);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateConfig} message CertificateConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.subjectConfig = null;
+ object.x509Config = null;
+ object.publicKey = null;
+ }
+ if (message.subjectConfig != null && message.hasOwnProperty("subjectConfig"))
+ object.subjectConfig = $root.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.toObject(message.subjectConfig, options);
+ if (message.x509Config != null && message.hasOwnProperty("x509Config"))
+ object.x509Config = $root.google.cloud.security.privateca.v1.X509Parameters.toObject(message.x509Config, options);
+ if (message.publicKey != null && message.hasOwnProperty("publicKey"))
+ object.publicKey = $root.google.cloud.security.privateca.v1.PublicKey.toObject(message.publicKey, options);
+ return object;
+ };
+
+ /**
+ * Converts this CertificateConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CertificateConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CertificateConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CertificateConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateConfig";
+ };
+
+ CertificateConfig.SubjectConfig = (function() {
+
+ /**
+ * Properties of a SubjectConfig.
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @interface ISubjectConfig
+ * @property {google.cloud.security.privateca.v1.ISubject|null} [subject] SubjectConfig subject
+ * @property {google.cloud.security.privateca.v1.ISubjectAltNames|null} [subjectAltName] SubjectConfig subjectAltName
+ */
+
+ /**
+ * Constructs a new SubjectConfig.
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig
+ * @classdesc Represents a SubjectConfig.
+ * @implements ISubjectConfig
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig=} [properties] Properties to set
+ */
+ function SubjectConfig(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]];
+ }
+
+ /**
+ * SubjectConfig subject.
+ * @member {google.cloud.security.privateca.v1.ISubject|null|undefined} subject
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @instance
+ */
+ SubjectConfig.prototype.subject = null;
+
+ /**
+ * SubjectConfig subjectAltName.
+ * @member {google.cloud.security.privateca.v1.ISubjectAltNames|null|undefined} subjectAltName
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @instance
+ */
+ SubjectConfig.prototype.subjectAltName = null;
+
+ /**
+ * Creates a new SubjectConfig instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig} SubjectConfig instance
+ */
+ SubjectConfig.create = function create(properties) {
+ return new SubjectConfig(properties);
+ };
+
+ /**
+ * Encodes the specified SubjectConfig message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig} message SubjectConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubjectConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.subject != null && Object.hasOwnProperty.call(message, "subject"))
+ $root.google.cloud.security.privateca.v1.Subject.encode(message.subject, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.subjectAltName != null && Object.hasOwnProperty.call(message, "subjectAltName"))
+ $root.google.cloud.security.privateca.v1.SubjectAltNames.encode(message.subjectAltName, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SubjectConfig message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateConfig.ISubjectConfig} message SubjectConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubjectConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SubjectConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig} SubjectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubjectConfig.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.security.privateca.v1.CertificateConfig.SubjectConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.subject = $root.google.cloud.security.privateca.v1.Subject.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.subjectAltName = $root.google.cloud.security.privateca.v1.SubjectAltNames.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SubjectConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig} SubjectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubjectConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SubjectConfig message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SubjectConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.subject != null && message.hasOwnProperty("subject")) {
+ var error = $root.google.cloud.security.privateca.v1.Subject.verify(message.subject);
+ if (error)
+ return "subject." + error;
+ }
+ if (message.subjectAltName != null && message.hasOwnProperty("subjectAltName")) {
+ var error = $root.google.cloud.security.privateca.v1.SubjectAltNames.verify(message.subjectAltName);
+ if (error)
+ return "subjectAltName." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SubjectConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig} SubjectConfig
+ */
+ SubjectConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig();
+ if (object.subject != null) {
+ if (typeof object.subject !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.subject: object expected");
+ message.subject = $root.google.cloud.security.privateca.v1.Subject.fromObject(object.subject);
+ }
+ if (object.subjectAltName != null) {
+ if (typeof object.subjectAltName !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig.subjectAltName: object expected");
+ message.subjectAltName = $root.google.cloud.security.privateca.v1.SubjectAltNames.fromObject(object.subjectAltName);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SubjectConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig} message SubjectConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SubjectConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.subject = null;
+ object.subjectAltName = null;
+ }
+ if (message.subject != null && message.hasOwnProperty("subject"))
+ object.subject = $root.google.cloud.security.privateca.v1.Subject.toObject(message.subject, options);
+ if (message.subjectAltName != null && message.hasOwnProperty("subjectAltName"))
+ object.subjectAltName = $root.google.cloud.security.privateca.v1.SubjectAltNames.toObject(message.subjectAltName, options);
+ return object;
+ };
+
+ /**
+ * Converts this SubjectConfig to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SubjectConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SubjectConfig
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SubjectConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateConfig.SubjectConfig";
+ };
+
+ return SubjectConfig;
+ })();
+
+ return CertificateConfig;
+ })();
+
+ v1.CertificateDescription = (function() {
+
+ /**
+ * Properties of a CertificateDescription.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificateDescription
+ * @property {google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription|null} [subjectDescription] CertificateDescription subjectDescription
+ * @property {google.cloud.security.privateca.v1.IX509Parameters|null} [x509Description] CertificateDescription x509Description
+ * @property {google.cloud.security.privateca.v1.IPublicKey|null} [publicKey] CertificateDescription publicKey
+ * @property {google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null} [subjectKeyId] CertificateDescription subjectKeyId
+ * @property {google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null} [authorityKeyId] CertificateDescription authorityKeyId
+ * @property {Array.|null} [crlDistributionPoints] CertificateDescription crlDistributionPoints
+ * @property {Array.|null} [aiaIssuingCertificateUrls] CertificateDescription aiaIssuingCertificateUrls
+ * @property {google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint|null} [certFingerprint] CertificateDescription certFingerprint
+ */
+
+ /**
+ * Constructs a new CertificateDescription.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CertificateDescription.
+ * @implements ICertificateDescription
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificateDescription=} [properties] Properties to set
+ */
+ function CertificateDescription(properties) {
+ this.crlDistributionPoints = [];
+ this.aiaIssuingCertificateUrls = [];
+ 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]];
+ }
+
+ /**
+ * CertificateDescription subjectDescription.
+ * @member {google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription|null|undefined} subjectDescription
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.subjectDescription = null;
+
+ /**
+ * CertificateDescription x509Description.
+ * @member {google.cloud.security.privateca.v1.IX509Parameters|null|undefined} x509Description
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.x509Description = null;
+
+ /**
+ * CertificateDescription publicKey.
+ * @member {google.cloud.security.privateca.v1.IPublicKey|null|undefined} publicKey
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.publicKey = null;
+
+ /**
+ * CertificateDescription subjectKeyId.
+ * @member {google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null|undefined} subjectKeyId
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.subjectKeyId = null;
+
+ /**
+ * CertificateDescription authorityKeyId.
+ * @member {google.cloud.security.privateca.v1.CertificateDescription.IKeyId|null|undefined} authorityKeyId
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.authorityKeyId = null;
+
+ /**
+ * CertificateDescription crlDistributionPoints.
+ * @member {Array.} crlDistributionPoints
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.crlDistributionPoints = $util.emptyArray;
+
+ /**
+ * CertificateDescription aiaIssuingCertificateUrls.
+ * @member {Array.} aiaIssuingCertificateUrls
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.aiaIssuingCertificateUrls = $util.emptyArray;
+
+ /**
+ * CertificateDescription certFingerprint.
+ * @member {google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint|null|undefined} certFingerprint
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ */
+ CertificateDescription.prototype.certFingerprint = null;
+
+ /**
+ * Creates a new CertificateDescription instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateDescription=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription} CertificateDescription instance
+ */
+ CertificateDescription.create = function create(properties) {
+ return new CertificateDescription(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateDescription message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateDescription} message CertificateDescription message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateDescription.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.subjectDescription != null && Object.hasOwnProperty.call(message, "subjectDescription"))
+ $root.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.encode(message.subjectDescription, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.x509Description != null && Object.hasOwnProperty.call(message, "x509Description"))
+ $root.google.cloud.security.privateca.v1.X509Parameters.encode(message.x509Description, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.publicKey != null && Object.hasOwnProperty.call(message, "publicKey"))
+ $root.google.cloud.security.privateca.v1.PublicKey.encode(message.publicKey, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.subjectKeyId != null && Object.hasOwnProperty.call(message, "subjectKeyId"))
+ $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.encode(message.subjectKeyId, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.authorityKeyId != null && Object.hasOwnProperty.call(message, "authorityKeyId"))
+ $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.encode(message.authorityKeyId, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.crlDistributionPoints != null && message.crlDistributionPoints.length)
+ for (var i = 0; i < message.crlDistributionPoints.length; ++i)
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.crlDistributionPoints[i]);
+ if (message.aiaIssuingCertificateUrls != null && message.aiaIssuingCertificateUrls.length)
+ for (var i = 0; i < message.aiaIssuingCertificateUrls.length; ++i)
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.aiaIssuingCertificateUrls[i]);
+ if (message.certFingerprint != null && Object.hasOwnProperty.call(message, "certFingerprint"))
+ $root.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.encode(message.certFingerprint, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateDescription message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateDescription} message CertificateDescription message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateDescription.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateDescription message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription} CertificateDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateDescription.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.security.privateca.v1.CertificateDescription();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.subjectDescription = $root.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.x509Description = $root.google.cloud.security.privateca.v1.X509Parameters.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.publicKey = $root.google.cloud.security.privateca.v1.PublicKey.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.subjectKeyId = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.authorityKeyId = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ if (!(message.crlDistributionPoints && message.crlDistributionPoints.length))
+ message.crlDistributionPoints = [];
+ message.crlDistributionPoints.push(reader.string());
+ break;
+ }
+ case 7: {
+ if (!(message.aiaIssuingCertificateUrls && message.aiaIssuingCertificateUrls.length))
+ message.aiaIssuingCertificateUrls = [];
+ message.aiaIssuingCertificateUrls.push(reader.string());
+ break;
+ }
+ case 8: {
+ message.certFingerprint = $root.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateDescription message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription} CertificateDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateDescription.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateDescription message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateDescription.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.subjectDescription != null && message.hasOwnProperty("subjectDescription")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.verify(message.subjectDescription);
+ if (error)
+ return "subjectDescription." + error;
+ }
+ if (message.x509Description != null && message.hasOwnProperty("x509Description")) {
+ var error = $root.google.cloud.security.privateca.v1.X509Parameters.verify(message.x509Description);
+ if (error)
+ return "x509Description." + error;
+ }
+ if (message.publicKey != null && message.hasOwnProperty("publicKey")) {
+ var error = $root.google.cloud.security.privateca.v1.PublicKey.verify(message.publicKey);
+ if (error)
+ return "publicKey." + error;
+ }
+ if (message.subjectKeyId != null && message.hasOwnProperty("subjectKeyId")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.verify(message.subjectKeyId);
+ if (error)
+ return "subjectKeyId." + error;
+ }
+ if (message.authorityKeyId != null && message.hasOwnProperty("authorityKeyId")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.verify(message.authorityKeyId);
+ if (error)
+ return "authorityKeyId." + error;
+ }
+ if (message.crlDistributionPoints != null && message.hasOwnProperty("crlDistributionPoints")) {
+ if (!Array.isArray(message.crlDistributionPoints))
+ return "crlDistributionPoints: array expected";
+ for (var i = 0; i < message.crlDistributionPoints.length; ++i)
+ if (!$util.isString(message.crlDistributionPoints[i]))
+ return "crlDistributionPoints: string[] expected";
+ }
+ if (message.aiaIssuingCertificateUrls != null && message.hasOwnProperty("aiaIssuingCertificateUrls")) {
+ if (!Array.isArray(message.aiaIssuingCertificateUrls))
+ return "aiaIssuingCertificateUrls: array expected";
+ for (var i = 0; i < message.aiaIssuingCertificateUrls.length; ++i)
+ if (!$util.isString(message.aiaIssuingCertificateUrls[i]))
+ return "aiaIssuingCertificateUrls: string[] expected";
+ }
+ if (message.certFingerprint != null && message.hasOwnProperty("certFingerprint")) {
+ var error = $root.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.verify(message.certFingerprint);
+ if (error)
+ return "certFingerprint." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CertificateDescription message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription} CertificateDescription
+ */
+ CertificateDescription.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateDescription)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateDescription();
+ if (object.subjectDescription != null) {
+ if (typeof object.subjectDescription !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.subjectDescription: object expected");
+ message.subjectDescription = $root.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.fromObject(object.subjectDescription);
+ }
+ if (object.x509Description != null) {
+ if (typeof object.x509Description !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.x509Description: object expected");
+ message.x509Description = $root.google.cloud.security.privateca.v1.X509Parameters.fromObject(object.x509Description);
+ }
+ if (object.publicKey != null) {
+ if (typeof object.publicKey !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.publicKey: object expected");
+ message.publicKey = $root.google.cloud.security.privateca.v1.PublicKey.fromObject(object.publicKey);
+ }
+ if (object.subjectKeyId != null) {
+ if (typeof object.subjectKeyId !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.subjectKeyId: object expected");
+ message.subjectKeyId = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.fromObject(object.subjectKeyId);
+ }
+ if (object.authorityKeyId != null) {
+ if (typeof object.authorityKeyId !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.authorityKeyId: object expected");
+ message.authorityKeyId = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.fromObject(object.authorityKeyId);
+ }
+ if (object.crlDistributionPoints) {
+ if (!Array.isArray(object.crlDistributionPoints))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.crlDistributionPoints: array expected");
+ message.crlDistributionPoints = [];
+ for (var i = 0; i < object.crlDistributionPoints.length; ++i)
+ message.crlDistributionPoints[i] = String(object.crlDistributionPoints[i]);
+ }
+ if (object.aiaIssuingCertificateUrls) {
+ if (!Array.isArray(object.aiaIssuingCertificateUrls))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.aiaIssuingCertificateUrls: array expected");
+ message.aiaIssuingCertificateUrls = [];
+ for (var i = 0; i < object.aiaIssuingCertificateUrls.length; ++i)
+ message.aiaIssuingCertificateUrls[i] = String(object.aiaIssuingCertificateUrls[i]);
+ }
+ if (object.certFingerprint != null) {
+ if (typeof object.certFingerprint !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.certFingerprint: object expected");
+ message.certFingerprint = $root.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.fromObject(object.certFingerprint);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateDescription message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription} message CertificateDescription
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateDescription.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.crlDistributionPoints = [];
+ object.aiaIssuingCertificateUrls = [];
+ }
+ if (options.defaults) {
+ object.subjectDescription = null;
+ object.x509Description = null;
+ object.publicKey = null;
+ object.subjectKeyId = null;
+ object.authorityKeyId = null;
+ object.certFingerprint = null;
+ }
+ if (message.subjectDescription != null && message.hasOwnProperty("subjectDescription"))
+ object.subjectDescription = $root.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.toObject(message.subjectDescription, options);
+ if (message.x509Description != null && message.hasOwnProperty("x509Description"))
+ object.x509Description = $root.google.cloud.security.privateca.v1.X509Parameters.toObject(message.x509Description, options);
+ if (message.publicKey != null && message.hasOwnProperty("publicKey"))
+ object.publicKey = $root.google.cloud.security.privateca.v1.PublicKey.toObject(message.publicKey, options);
+ if (message.subjectKeyId != null && message.hasOwnProperty("subjectKeyId"))
+ object.subjectKeyId = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.toObject(message.subjectKeyId, options);
+ if (message.authorityKeyId != null && message.hasOwnProperty("authorityKeyId"))
+ object.authorityKeyId = $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId.toObject(message.authorityKeyId, options);
+ if (message.crlDistributionPoints && message.crlDistributionPoints.length) {
+ object.crlDistributionPoints = [];
+ for (var j = 0; j < message.crlDistributionPoints.length; ++j)
+ object.crlDistributionPoints[j] = message.crlDistributionPoints[j];
+ }
+ if (message.aiaIssuingCertificateUrls && message.aiaIssuingCertificateUrls.length) {
+ object.aiaIssuingCertificateUrls = [];
+ for (var j = 0; j < message.aiaIssuingCertificateUrls.length; ++j)
+ object.aiaIssuingCertificateUrls[j] = message.aiaIssuingCertificateUrls[j];
+ }
+ if (message.certFingerprint != null && message.hasOwnProperty("certFingerprint"))
+ object.certFingerprint = $root.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.toObject(message.certFingerprint, options);
+ return object;
+ };
+
+ /**
+ * Converts this CertificateDescription to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CertificateDescription.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CertificateDescription
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CertificateDescription.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateDescription";
+ };
+
+ CertificateDescription.SubjectDescription = (function() {
+
+ /**
+ * Properties of a SubjectDescription.
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @interface ISubjectDescription
+ * @property {google.cloud.security.privateca.v1.ISubject|null} [subject] SubjectDescription subject
+ * @property {google.cloud.security.privateca.v1.ISubjectAltNames|null} [subjectAltName] SubjectDescription subjectAltName
+ * @property {string|null} [hexSerialNumber] SubjectDescription hexSerialNumber
+ * @property {google.protobuf.IDuration|null} [lifetime] SubjectDescription lifetime
+ * @property {google.protobuf.ITimestamp|null} [notBeforeTime] SubjectDescription notBeforeTime
+ * @property {google.protobuf.ITimestamp|null} [notAfterTime] SubjectDescription notAfterTime
+ */
+
+ /**
+ * Constructs a new SubjectDescription.
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @classdesc Represents a SubjectDescription.
+ * @implements ISubjectDescription
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription=} [properties] Properties to set
+ */
+ function SubjectDescription(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]];
+ }
+
+ /**
+ * SubjectDescription subject.
+ * @member {google.cloud.security.privateca.v1.ISubject|null|undefined} subject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @instance
+ */
+ SubjectDescription.prototype.subject = null;
+
+ /**
+ * SubjectDescription subjectAltName.
+ * @member {google.cloud.security.privateca.v1.ISubjectAltNames|null|undefined} subjectAltName
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @instance
+ */
+ SubjectDescription.prototype.subjectAltName = null;
+
+ /**
+ * SubjectDescription hexSerialNumber.
+ * @member {string} hexSerialNumber
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @instance
+ */
+ SubjectDescription.prototype.hexSerialNumber = "";
+
+ /**
+ * SubjectDescription lifetime.
+ * @member {google.protobuf.IDuration|null|undefined} lifetime
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @instance
+ */
+ SubjectDescription.prototype.lifetime = null;
+
+ /**
+ * SubjectDescription notBeforeTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} notBeforeTime
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @instance
+ */
+ SubjectDescription.prototype.notBeforeTime = null;
+
+ /**
+ * SubjectDescription notAfterTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} notAfterTime
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @instance
+ */
+ SubjectDescription.prototype.notAfterTime = null;
+
+ /**
+ * Creates a new SubjectDescription instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription} SubjectDescription instance
+ */
+ SubjectDescription.create = function create(properties) {
+ return new SubjectDescription(properties);
+ };
+
+ /**
+ * Encodes the specified SubjectDescription message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription} message SubjectDescription message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubjectDescription.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.subject != null && Object.hasOwnProperty.call(message, "subject"))
+ $root.google.cloud.security.privateca.v1.Subject.encode(message.subject, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.subjectAltName != null && Object.hasOwnProperty.call(message, "subjectAltName"))
+ $root.google.cloud.security.privateca.v1.SubjectAltNames.encode(message.subjectAltName, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.hexSerialNumber != null && Object.hasOwnProperty.call(message, "hexSerialNumber"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.hexSerialNumber);
+ if (message.lifetime != null && Object.hasOwnProperty.call(message, "lifetime"))
+ $root.google.protobuf.Duration.encode(message.lifetime, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.notBeforeTime != null && Object.hasOwnProperty.call(message, "notBeforeTime"))
+ $root.google.protobuf.Timestamp.encode(message.notBeforeTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.notAfterTime != null && Object.hasOwnProperty.call(message, "notAfterTime"))
+ $root.google.protobuf.Timestamp.encode(message.notAfterTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SubjectDescription message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ISubjectDescription} message SubjectDescription message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubjectDescription.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SubjectDescription message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription} SubjectDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubjectDescription.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.security.privateca.v1.CertificateDescription.SubjectDescription();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.subject = $root.google.cloud.security.privateca.v1.Subject.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.subjectAltName = $root.google.cloud.security.privateca.v1.SubjectAltNames.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.hexSerialNumber = reader.string();
+ break;
+ }
+ case 4: {
+ message.lifetime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.notBeforeTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.notAfterTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SubjectDescription message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription} SubjectDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubjectDescription.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SubjectDescription message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SubjectDescription.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.subject != null && message.hasOwnProperty("subject")) {
+ var error = $root.google.cloud.security.privateca.v1.Subject.verify(message.subject);
+ if (error)
+ return "subject." + error;
+ }
+ if (message.subjectAltName != null && message.hasOwnProperty("subjectAltName")) {
+ var error = $root.google.cloud.security.privateca.v1.SubjectAltNames.verify(message.subjectAltName);
+ if (error)
+ return "subjectAltName." + error;
+ }
+ if (message.hexSerialNumber != null && message.hasOwnProperty("hexSerialNumber"))
+ if (!$util.isString(message.hexSerialNumber))
+ return "hexSerialNumber: string expected";
+ if (message.lifetime != null && message.hasOwnProperty("lifetime")) {
+ var error = $root.google.protobuf.Duration.verify(message.lifetime);
+ if (error)
+ return "lifetime." + error;
+ }
+ if (message.notBeforeTime != null && message.hasOwnProperty("notBeforeTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.notBeforeTime);
+ if (error)
+ return "notBeforeTime." + error;
+ }
+ if (message.notAfterTime != null && message.hasOwnProperty("notAfterTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.notAfterTime);
+ if (error)
+ return "notAfterTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SubjectDescription message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription} SubjectDescription
+ */
+ SubjectDescription.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription();
+ if (object.subject != null) {
+ if (typeof object.subject !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.subject: object expected");
+ message.subject = $root.google.cloud.security.privateca.v1.Subject.fromObject(object.subject);
+ }
+ if (object.subjectAltName != null) {
+ if (typeof object.subjectAltName !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.subjectAltName: object expected");
+ message.subjectAltName = $root.google.cloud.security.privateca.v1.SubjectAltNames.fromObject(object.subjectAltName);
+ }
+ if (object.hexSerialNumber != null)
+ message.hexSerialNumber = String(object.hexSerialNumber);
+ if (object.lifetime != null) {
+ if (typeof object.lifetime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.lifetime: object expected");
+ message.lifetime = $root.google.protobuf.Duration.fromObject(object.lifetime);
+ }
+ if (object.notBeforeTime != null) {
+ if (typeof object.notBeforeTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.notBeforeTime: object expected");
+ message.notBeforeTime = $root.google.protobuf.Timestamp.fromObject(object.notBeforeTime);
+ }
+ if (object.notAfterTime != null) {
+ if (typeof object.notAfterTime !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription.notAfterTime: object expected");
+ message.notAfterTime = $root.google.protobuf.Timestamp.fromObject(object.notAfterTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SubjectDescription message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription} message SubjectDescription
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SubjectDescription.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.subject = null;
+ object.subjectAltName = null;
+ object.hexSerialNumber = "";
+ object.lifetime = null;
+ object.notBeforeTime = null;
+ object.notAfterTime = null;
+ }
+ if (message.subject != null && message.hasOwnProperty("subject"))
+ object.subject = $root.google.cloud.security.privateca.v1.Subject.toObject(message.subject, options);
+ if (message.subjectAltName != null && message.hasOwnProperty("subjectAltName"))
+ object.subjectAltName = $root.google.cloud.security.privateca.v1.SubjectAltNames.toObject(message.subjectAltName, options);
+ if (message.hexSerialNumber != null && message.hasOwnProperty("hexSerialNumber"))
+ object.hexSerialNumber = message.hexSerialNumber;
+ if (message.lifetime != null && message.hasOwnProperty("lifetime"))
+ object.lifetime = $root.google.protobuf.Duration.toObject(message.lifetime, options);
+ if (message.notBeforeTime != null && message.hasOwnProperty("notBeforeTime"))
+ object.notBeforeTime = $root.google.protobuf.Timestamp.toObject(message.notBeforeTime, options);
+ if (message.notAfterTime != null && message.hasOwnProperty("notAfterTime"))
+ object.notAfterTime = $root.google.protobuf.Timestamp.toObject(message.notAfterTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this SubjectDescription to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SubjectDescription.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SubjectDescription
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SubjectDescription.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateDescription.SubjectDescription";
+ };
+
+ return SubjectDescription;
+ })();
+
+ CertificateDescription.KeyId = (function() {
+
+ /**
+ * Properties of a KeyId.
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @interface IKeyId
+ * @property {string|null} [keyId] KeyId keyId
+ */
+
+ /**
+ * Constructs a new KeyId.
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @classdesc Represents a KeyId.
+ * @implements IKeyId
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.IKeyId=} [properties] Properties to set
+ */
+ function KeyId(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]];
+ }
+
+ /**
+ * KeyId keyId.
+ * @member {string} keyId
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @instance
+ */
+ KeyId.prototype.keyId = "";
+
+ /**
+ * Creates a new KeyId instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.IKeyId=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.KeyId} KeyId instance
+ */
+ KeyId.create = function create(properties) {
+ return new KeyId(properties);
+ };
+
+ /**
+ * Encodes the specified KeyId message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.KeyId.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.IKeyId} message KeyId message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyId.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.keyId != null && Object.hasOwnProperty.call(message, "keyId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.keyId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified KeyId message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.KeyId.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.IKeyId} message KeyId message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyId.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a KeyId message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.KeyId} KeyId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyId.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.security.privateca.v1.CertificateDescription.KeyId();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.keyId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a KeyId message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.KeyId} KeyId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyId.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a KeyId message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ KeyId.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.keyId != null && message.hasOwnProperty("keyId"))
+ if (!$util.isString(message.keyId))
+ return "keyId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a KeyId message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.KeyId} KeyId
+ */
+ KeyId.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateDescription.KeyId();
+ if (object.keyId != null)
+ message.keyId = String(object.keyId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a KeyId message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.KeyId} message KeyId
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ KeyId.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.keyId = "";
+ if (message.keyId != null && message.hasOwnProperty("keyId"))
+ object.keyId = message.keyId;
+ return object;
+ };
+
+ /**
+ * Converts this KeyId to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ KeyId.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for KeyId
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.KeyId
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ KeyId.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateDescription.KeyId";
+ };
+
+ return KeyId;
+ })();
+
+ CertificateDescription.CertificateFingerprint = (function() {
+
+ /**
+ * Properties of a CertificateFingerprint.
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @interface ICertificateFingerprint
+ * @property {string|null} [sha256Hash] CertificateFingerprint sha256Hash
+ */
+
+ /**
+ * Constructs a new CertificateFingerprint.
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription
+ * @classdesc Represents a CertificateFingerprint.
+ * @implements ICertificateFingerprint
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint=} [properties] Properties to set
+ */
+ function CertificateFingerprint(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]];
+ }
+
+ /**
+ * CertificateFingerprint sha256Hash.
+ * @member {string} sha256Hash
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @instance
+ */
+ CertificateFingerprint.prototype.sha256Hash = "";
+
+ /**
+ * Creates a new CertificateFingerprint instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint} CertificateFingerprint instance
+ */
+ CertificateFingerprint.create = function create(properties) {
+ return new CertificateFingerprint(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateFingerprint message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint} message CertificateFingerprint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateFingerprint.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.sha256Hash != null && Object.hasOwnProperty.call(message, "sha256Hash"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.sha256Hash);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateFingerprint message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.ICertificateFingerprint} message CertificateFingerprint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateFingerprint.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateFingerprint message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint} CertificateFingerprint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateFingerprint.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.security.privateca.v1.CertificateDescription.CertificateFingerprint();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.sha256Hash = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateFingerprint message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint} CertificateFingerprint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateFingerprint.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateFingerprint message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateFingerprint.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.sha256Hash != null && message.hasOwnProperty("sha256Hash"))
+ if (!$util.isString(message.sha256Hash))
+ return "sha256Hash: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a CertificateFingerprint message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint} CertificateFingerprint
+ */
+ CertificateFingerprint.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint();
+ if (object.sha256Hash != null)
+ message.sha256Hash = String(object.sha256Hash);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateFingerprint message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint} message CertificateFingerprint
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateFingerprint.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.sha256Hash = "";
+ if (message.sha256Hash != null && message.hasOwnProperty("sha256Hash"))
+ object.sha256Hash = message.sha256Hash;
+ return object;
+ };
+
+ /**
+ * Converts this CertificateFingerprint to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CertificateFingerprint.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CertificateFingerprint
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CertificateFingerprint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateDescription.CertificateFingerprint";
+ };
+
+ return CertificateFingerprint;
+ })();
+
+ return CertificateDescription;
+ })();
+
+ v1.ObjectId = (function() {
+
+ /**
+ * Properties of an ObjectId.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface IObjectId
+ * @property {Array.|null} [objectIdPath] ObjectId objectIdPath
+ */
+
+ /**
+ * Constructs a new ObjectId.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents an ObjectId.
+ * @implements IObjectId
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.IObjectId=} [properties] Properties to set
+ */
+ function ObjectId(properties) {
+ this.objectIdPath = [];
+ 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]];
+ }
+
+ /**
+ * ObjectId objectIdPath.
+ * @member {Array.} objectIdPath
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @instance
+ */
+ ObjectId.prototype.objectIdPath = $util.emptyArray;
+
+ /**
+ * Creates a new ObjectId instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {google.cloud.security.privateca.v1.IObjectId=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.ObjectId} ObjectId instance
+ */
+ ObjectId.create = function create(properties) {
+ return new ObjectId(properties);
+ };
+
+ /**
+ * Encodes the specified ObjectId message. Does not implicitly {@link google.cloud.security.privateca.v1.ObjectId.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {google.cloud.security.privateca.v1.IObjectId} message ObjectId message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ObjectId.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.objectIdPath != null && message.objectIdPath.length) {
+ writer.uint32(/* id 1, wireType 2 =*/10).fork();
+ for (var i = 0; i < message.objectIdPath.length; ++i)
+ writer.int32(message.objectIdPath[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ObjectId message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.ObjectId.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {google.cloud.security.privateca.v1.IObjectId} message ObjectId message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ObjectId.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ObjectId message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.ObjectId} ObjectId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ObjectId.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.security.privateca.v1.ObjectId();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.objectIdPath && message.objectIdPath.length))
+ message.objectIdPath = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.objectIdPath.push(reader.int32());
+ } else
+ message.objectIdPath.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ObjectId message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.ObjectId} ObjectId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ObjectId.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ObjectId message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ObjectId.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.objectIdPath != null && message.hasOwnProperty("objectIdPath")) {
+ if (!Array.isArray(message.objectIdPath))
+ return "objectIdPath: array expected";
+ for (var i = 0; i < message.objectIdPath.length; ++i)
+ if (!$util.isInteger(message.objectIdPath[i]))
+ return "objectIdPath: integer[] expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ObjectId message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.ObjectId} ObjectId
+ */
+ ObjectId.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.ObjectId)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.ObjectId();
+ if (object.objectIdPath) {
+ if (!Array.isArray(object.objectIdPath))
+ throw TypeError(".google.cloud.security.privateca.v1.ObjectId.objectIdPath: array expected");
+ message.objectIdPath = [];
+ for (var i = 0; i < object.objectIdPath.length; ++i)
+ message.objectIdPath[i] = object.objectIdPath[i] | 0;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ObjectId message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {google.cloud.security.privateca.v1.ObjectId} message ObjectId
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ObjectId.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.objectIdPath = [];
+ if (message.objectIdPath && message.objectIdPath.length) {
+ object.objectIdPath = [];
+ for (var j = 0; j < message.objectIdPath.length; ++j)
+ object.objectIdPath[j] = message.objectIdPath[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ObjectId to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ObjectId.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ObjectId
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.ObjectId
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ObjectId.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.ObjectId";
+ };
+
+ return ObjectId;
+ })();
+
+ v1.X509Extension = (function() {
+
+ /**
+ * Properties of a X509Extension.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface IX509Extension
+ * @property {google.cloud.security.privateca.v1.IObjectId|null} [objectId] X509Extension objectId
+ * @property {boolean|null} [critical] X509Extension critical
+ * @property {Uint8Array|null} [value] X509Extension value
+ */
+
+ /**
+ * Constructs a new X509Extension.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a X509Extension.
+ * @implements IX509Extension
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.IX509Extension=} [properties] Properties to set
+ */
+ function X509Extension(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]];
+ }
+
+ /**
+ * X509Extension objectId.
+ * @member {google.cloud.security.privateca.v1.IObjectId|null|undefined} objectId
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @instance
+ */
+ X509Extension.prototype.objectId = null;
+
+ /**
+ * X509Extension critical.
+ * @member {boolean} critical
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @instance
+ */
+ X509Extension.prototype.critical = false;
+
+ /**
+ * X509Extension value.
+ * @member {Uint8Array} value
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @instance
+ */
+ X509Extension.prototype.value = $util.newBuffer([]);
+
+ /**
+ * Creates a new X509Extension instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {google.cloud.security.privateca.v1.IX509Extension=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.X509Extension} X509Extension instance
+ */
+ X509Extension.create = function create(properties) {
+ return new X509Extension(properties);
+ };
+
+ /**
+ * Encodes the specified X509Extension message. Does not implicitly {@link google.cloud.security.privateca.v1.X509Extension.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {google.cloud.security.privateca.v1.IX509Extension} message X509Extension message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ X509Extension.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.objectId != null && Object.hasOwnProperty.call(message, "objectId"))
+ $root.google.cloud.security.privateca.v1.ObjectId.encode(message.objectId, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.critical != null && Object.hasOwnProperty.call(message, "critical"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.critical);
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ writer.uint32(/* id 3, wireType 2 =*/26).bytes(message.value);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified X509Extension message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.X509Extension.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {google.cloud.security.privateca.v1.IX509Extension} message X509Extension message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ X509Extension.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a X509Extension message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.X509Extension} X509Extension
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ X509Extension.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.security.privateca.v1.X509Extension();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.objectId = $root.google.cloud.security.privateca.v1.ObjectId.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.critical = reader.bool();
+ break;
+ }
+ case 3: {
+ message.value = reader.bytes();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a X509Extension message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.X509Extension} X509Extension
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ X509Extension.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a X509Extension message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ X509Extension.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.objectId != null && message.hasOwnProperty("objectId")) {
+ var error = $root.google.cloud.security.privateca.v1.ObjectId.verify(message.objectId);
+ if (error)
+ return "objectId." + error;
+ }
+ if (message.critical != null && message.hasOwnProperty("critical"))
+ if (typeof message.critical !== "boolean")
+ return "critical: boolean expected";
+ if (message.value != null && message.hasOwnProperty("value"))
+ if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value)))
+ return "value: buffer expected";
+ return null;
+ };
+
+ /**
+ * Creates a X509Extension message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.X509Extension} X509Extension
+ */
+ X509Extension.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.X509Extension)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.X509Extension();
+ if (object.objectId != null) {
+ if (typeof object.objectId !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.X509Extension.objectId: object expected");
+ message.objectId = $root.google.cloud.security.privateca.v1.ObjectId.fromObject(object.objectId);
+ }
+ if (object.critical != null)
+ message.critical = Boolean(object.critical);
+ if (object.value != null)
+ if (typeof object.value === "string")
+ $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0);
+ else if (object.value.length >= 0)
+ message.value = object.value;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a X509Extension message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {google.cloud.security.privateca.v1.X509Extension} message X509Extension
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ X509Extension.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.objectId = null;
+ object.critical = false;
+ if (options.bytes === String)
+ object.value = "";
+ else {
+ object.value = [];
+ if (options.bytes !== Array)
+ object.value = $util.newBuffer(object.value);
+ }
+ }
+ if (message.objectId != null && message.hasOwnProperty("objectId"))
+ object.objectId = $root.google.cloud.security.privateca.v1.ObjectId.toObject(message.objectId, options);
+ if (message.critical != null && message.hasOwnProperty("critical"))
+ object.critical = message.critical;
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value;
+ return object;
+ };
+
+ /**
+ * Converts this X509Extension to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ X509Extension.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for X509Extension
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.X509Extension
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ X509Extension.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.X509Extension";
+ };
+
+ return X509Extension;
+ })();
+
+ v1.KeyUsage = (function() {
+
+ /**
+ * Properties of a KeyUsage.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface IKeyUsage
+ * @property {google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions|null} [baseKeyUsage] KeyUsage baseKeyUsage
+ * @property {google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions|null} [extendedKeyUsage] KeyUsage extendedKeyUsage
+ * @property {Array.|null} [unknownExtendedKeyUsages] KeyUsage unknownExtendedKeyUsages
+ */
+
+ /**
+ * Constructs a new KeyUsage.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a KeyUsage.
+ * @implements IKeyUsage
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.IKeyUsage=} [properties] Properties to set
+ */
+ function KeyUsage(properties) {
+ this.unknownExtendedKeyUsages = [];
+ 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]];
+ }
+
+ /**
+ * KeyUsage baseKeyUsage.
+ * @member {google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions|null|undefined} baseKeyUsage
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @instance
+ */
+ KeyUsage.prototype.baseKeyUsage = null;
+
+ /**
+ * KeyUsage extendedKeyUsage.
+ * @member {google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions|null|undefined} extendedKeyUsage
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @instance
+ */
+ KeyUsage.prototype.extendedKeyUsage = null;
+
+ /**
+ * KeyUsage unknownExtendedKeyUsages.
+ * @member {Array.} unknownExtendedKeyUsages
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @instance
+ */
+ KeyUsage.prototype.unknownExtendedKeyUsages = $util.emptyArray;
+
+ /**
+ * Creates a new KeyUsage instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {google.cloud.security.privateca.v1.IKeyUsage=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.KeyUsage} KeyUsage instance
+ */
+ KeyUsage.create = function create(properties) {
+ return new KeyUsage(properties);
+ };
+
+ /**
+ * Encodes the specified KeyUsage message. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {google.cloud.security.privateca.v1.IKeyUsage} message KeyUsage message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyUsage.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.baseKeyUsage != null && Object.hasOwnProperty.call(message, "baseKeyUsage"))
+ $root.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.encode(message.baseKeyUsage, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.extendedKeyUsage != null && Object.hasOwnProperty.call(message, "extendedKeyUsage"))
+ $root.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.encode(message.extendedKeyUsage, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.unknownExtendedKeyUsages != null && message.unknownExtendedKeyUsages.length)
+ for (var i = 0; i < message.unknownExtendedKeyUsages.length; ++i)
+ $root.google.cloud.security.privateca.v1.ObjectId.encode(message.unknownExtendedKeyUsages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified KeyUsage message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {google.cloud.security.privateca.v1.IKeyUsage} message KeyUsage message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyUsage.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a KeyUsage message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.KeyUsage} KeyUsage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyUsage.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.security.privateca.v1.KeyUsage();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.baseKeyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.extendedKeyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.unknownExtendedKeyUsages && message.unknownExtendedKeyUsages.length))
+ message.unknownExtendedKeyUsages = [];
+ message.unknownExtendedKeyUsages.push($root.google.cloud.security.privateca.v1.ObjectId.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a KeyUsage message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.KeyUsage} KeyUsage
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyUsage.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a KeyUsage message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ KeyUsage.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.baseKeyUsage != null && message.hasOwnProperty("baseKeyUsage")) {
+ var error = $root.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.verify(message.baseKeyUsage);
+ if (error)
+ return "baseKeyUsage." + error;
+ }
+ if (message.extendedKeyUsage != null && message.hasOwnProperty("extendedKeyUsage")) {
+ var error = $root.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.verify(message.extendedKeyUsage);
+ if (error)
+ return "extendedKeyUsage." + error;
+ }
+ if (message.unknownExtendedKeyUsages != null && message.hasOwnProperty("unknownExtendedKeyUsages")) {
+ if (!Array.isArray(message.unknownExtendedKeyUsages))
+ return "unknownExtendedKeyUsages: array expected";
+ for (var i = 0; i < message.unknownExtendedKeyUsages.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.ObjectId.verify(message.unknownExtendedKeyUsages[i]);
+ if (error)
+ return "unknownExtendedKeyUsages." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a KeyUsage message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.KeyUsage} KeyUsage
+ */
+ KeyUsage.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.KeyUsage)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.KeyUsage();
+ if (object.baseKeyUsage != null) {
+ if (typeof object.baseKeyUsage !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.KeyUsage.baseKeyUsage: object expected");
+ message.baseKeyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.fromObject(object.baseKeyUsage);
+ }
+ if (object.extendedKeyUsage != null) {
+ if (typeof object.extendedKeyUsage !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.KeyUsage.extendedKeyUsage: object expected");
+ message.extendedKeyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.fromObject(object.extendedKeyUsage);
+ }
+ if (object.unknownExtendedKeyUsages) {
+ if (!Array.isArray(object.unknownExtendedKeyUsages))
+ throw TypeError(".google.cloud.security.privateca.v1.KeyUsage.unknownExtendedKeyUsages: array expected");
+ message.unknownExtendedKeyUsages = [];
+ for (var i = 0; i < object.unknownExtendedKeyUsages.length; ++i) {
+ if (typeof object.unknownExtendedKeyUsages[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.KeyUsage.unknownExtendedKeyUsages: object expected");
+ message.unknownExtendedKeyUsages[i] = $root.google.cloud.security.privateca.v1.ObjectId.fromObject(object.unknownExtendedKeyUsages[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a KeyUsage message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage} message KeyUsage
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ KeyUsage.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.unknownExtendedKeyUsages = [];
+ if (options.defaults) {
+ object.baseKeyUsage = null;
+ object.extendedKeyUsage = null;
+ }
+ if (message.baseKeyUsage != null && message.hasOwnProperty("baseKeyUsage"))
+ object.baseKeyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.toObject(message.baseKeyUsage, options);
+ if (message.extendedKeyUsage != null && message.hasOwnProperty("extendedKeyUsage"))
+ object.extendedKeyUsage = $root.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.toObject(message.extendedKeyUsage, options);
+ if (message.unknownExtendedKeyUsages && message.unknownExtendedKeyUsages.length) {
+ object.unknownExtendedKeyUsages = [];
+ for (var j = 0; j < message.unknownExtendedKeyUsages.length; ++j)
+ object.unknownExtendedKeyUsages[j] = $root.google.cloud.security.privateca.v1.ObjectId.toObject(message.unknownExtendedKeyUsages[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this KeyUsage to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ KeyUsage.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for KeyUsage
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ KeyUsage.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.KeyUsage";
+ };
+
+ KeyUsage.KeyUsageOptions = (function() {
+
+ /**
+ * Properties of a KeyUsageOptions.
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @interface IKeyUsageOptions
+ * @property {boolean|null} [digitalSignature] KeyUsageOptions digitalSignature
+ * @property {boolean|null} [contentCommitment] KeyUsageOptions contentCommitment
+ * @property {boolean|null} [keyEncipherment] KeyUsageOptions keyEncipherment
+ * @property {boolean|null} [dataEncipherment] KeyUsageOptions dataEncipherment
+ * @property {boolean|null} [keyAgreement] KeyUsageOptions keyAgreement
+ * @property {boolean|null} [certSign] KeyUsageOptions certSign
+ * @property {boolean|null} [crlSign] KeyUsageOptions crlSign
+ * @property {boolean|null} [encipherOnly] KeyUsageOptions encipherOnly
+ * @property {boolean|null} [decipherOnly] KeyUsageOptions decipherOnly
+ */
+
+ /**
+ * Constructs a new KeyUsageOptions.
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @classdesc Represents a KeyUsageOptions.
+ * @implements IKeyUsageOptions
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions=} [properties] Properties to set
+ */
+ function KeyUsageOptions(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]];
+ }
+
+ /**
+ * KeyUsageOptions digitalSignature.
+ * @member {boolean} digitalSignature
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.digitalSignature = false;
+
+ /**
+ * KeyUsageOptions contentCommitment.
+ * @member {boolean} contentCommitment
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.contentCommitment = false;
+
+ /**
+ * KeyUsageOptions keyEncipherment.
+ * @member {boolean} keyEncipherment
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.keyEncipherment = false;
+
+ /**
+ * KeyUsageOptions dataEncipherment.
+ * @member {boolean} dataEncipherment
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.dataEncipherment = false;
+
+ /**
+ * KeyUsageOptions keyAgreement.
+ * @member {boolean} keyAgreement
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.keyAgreement = false;
+
+ /**
+ * KeyUsageOptions certSign.
+ * @member {boolean} certSign
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.certSign = false;
+
+ /**
+ * KeyUsageOptions crlSign.
+ * @member {boolean} crlSign
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.crlSign = false;
+
+ /**
+ * KeyUsageOptions encipherOnly.
+ * @member {boolean} encipherOnly
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.encipherOnly = false;
+
+ /**
+ * KeyUsageOptions decipherOnly.
+ * @member {boolean} decipherOnly
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ */
+ KeyUsageOptions.prototype.decipherOnly = false;
+
+ /**
+ * Creates a new KeyUsageOptions instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions} KeyUsageOptions instance
+ */
+ KeyUsageOptions.create = function create(properties) {
+ return new KeyUsageOptions(properties);
+ };
+
+ /**
+ * Encodes the specified KeyUsageOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions} message KeyUsageOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyUsageOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.digitalSignature != null && Object.hasOwnProperty.call(message, "digitalSignature"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.digitalSignature);
+ if (message.contentCommitment != null && Object.hasOwnProperty.call(message, "contentCommitment"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.contentCommitment);
+ if (message.keyEncipherment != null && Object.hasOwnProperty.call(message, "keyEncipherment"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.keyEncipherment);
+ if (message.dataEncipherment != null && Object.hasOwnProperty.call(message, "dataEncipherment"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.dataEncipherment);
+ if (message.keyAgreement != null && Object.hasOwnProperty.call(message, "keyAgreement"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.keyAgreement);
+ if (message.certSign != null && Object.hasOwnProperty.call(message, "certSign"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.certSign);
+ if (message.crlSign != null && Object.hasOwnProperty.call(message, "crlSign"))
+ writer.uint32(/* id 7, wireType 0 =*/56).bool(message.crlSign);
+ if (message.encipherOnly != null && Object.hasOwnProperty.call(message, "encipherOnly"))
+ writer.uint32(/* id 8, wireType 0 =*/64).bool(message.encipherOnly);
+ if (message.decipherOnly != null && Object.hasOwnProperty.call(message, "decipherOnly"))
+ writer.uint32(/* id 9, wireType 0 =*/72).bool(message.decipherOnly);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified KeyUsageOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IKeyUsageOptions} message KeyUsageOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ KeyUsageOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a KeyUsageOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions} KeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyUsageOptions.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.security.privateca.v1.KeyUsage.KeyUsageOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.digitalSignature = reader.bool();
+ break;
+ }
+ case 2: {
+ message.contentCommitment = reader.bool();
+ break;
+ }
+ case 3: {
+ message.keyEncipherment = reader.bool();
+ break;
+ }
+ case 4: {
+ message.dataEncipherment = reader.bool();
+ break;
+ }
+ case 5: {
+ message.keyAgreement = reader.bool();
+ break;
+ }
+ case 6: {
+ message.certSign = reader.bool();
+ break;
+ }
+ case 7: {
+ message.crlSign = reader.bool();
+ break;
+ }
+ case 8: {
+ message.encipherOnly = reader.bool();
+ break;
+ }
+ case 9: {
+ message.decipherOnly = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a KeyUsageOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions} KeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ KeyUsageOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a KeyUsageOptions message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ KeyUsageOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.digitalSignature != null && message.hasOwnProperty("digitalSignature"))
+ if (typeof message.digitalSignature !== "boolean")
+ return "digitalSignature: boolean expected";
+ if (message.contentCommitment != null && message.hasOwnProperty("contentCommitment"))
+ if (typeof message.contentCommitment !== "boolean")
+ return "contentCommitment: boolean expected";
+ if (message.keyEncipherment != null && message.hasOwnProperty("keyEncipherment"))
+ if (typeof message.keyEncipherment !== "boolean")
+ return "keyEncipherment: boolean expected";
+ if (message.dataEncipherment != null && message.hasOwnProperty("dataEncipherment"))
+ if (typeof message.dataEncipherment !== "boolean")
+ return "dataEncipherment: boolean expected";
+ if (message.keyAgreement != null && message.hasOwnProperty("keyAgreement"))
+ if (typeof message.keyAgreement !== "boolean")
+ return "keyAgreement: boolean expected";
+ if (message.certSign != null && message.hasOwnProperty("certSign"))
+ if (typeof message.certSign !== "boolean")
+ return "certSign: boolean expected";
+ if (message.crlSign != null && message.hasOwnProperty("crlSign"))
+ if (typeof message.crlSign !== "boolean")
+ return "crlSign: boolean expected";
+ if (message.encipherOnly != null && message.hasOwnProperty("encipherOnly"))
+ if (typeof message.encipherOnly !== "boolean")
+ return "encipherOnly: boolean expected";
+ if (message.decipherOnly != null && message.hasOwnProperty("decipherOnly"))
+ if (typeof message.decipherOnly !== "boolean")
+ return "decipherOnly: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a KeyUsageOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions} KeyUsageOptions
+ */
+ KeyUsageOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions();
+ if (object.digitalSignature != null)
+ message.digitalSignature = Boolean(object.digitalSignature);
+ if (object.contentCommitment != null)
+ message.contentCommitment = Boolean(object.contentCommitment);
+ if (object.keyEncipherment != null)
+ message.keyEncipherment = Boolean(object.keyEncipherment);
+ if (object.dataEncipherment != null)
+ message.dataEncipherment = Boolean(object.dataEncipherment);
+ if (object.keyAgreement != null)
+ message.keyAgreement = Boolean(object.keyAgreement);
+ if (object.certSign != null)
+ message.certSign = Boolean(object.certSign);
+ if (object.crlSign != null)
+ message.crlSign = Boolean(object.crlSign);
+ if (object.encipherOnly != null)
+ message.encipherOnly = Boolean(object.encipherOnly);
+ if (object.decipherOnly != null)
+ message.decipherOnly = Boolean(object.decipherOnly);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a KeyUsageOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions} message KeyUsageOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ KeyUsageOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.digitalSignature = false;
+ object.contentCommitment = false;
+ object.keyEncipherment = false;
+ object.dataEncipherment = false;
+ object.keyAgreement = false;
+ object.certSign = false;
+ object.crlSign = false;
+ object.encipherOnly = false;
+ object.decipherOnly = false;
+ }
+ if (message.digitalSignature != null && message.hasOwnProperty("digitalSignature"))
+ object.digitalSignature = message.digitalSignature;
+ if (message.contentCommitment != null && message.hasOwnProperty("contentCommitment"))
+ object.contentCommitment = message.contentCommitment;
+ if (message.keyEncipherment != null && message.hasOwnProperty("keyEncipherment"))
+ object.keyEncipherment = message.keyEncipherment;
+ if (message.dataEncipherment != null && message.hasOwnProperty("dataEncipherment"))
+ object.dataEncipherment = message.dataEncipherment;
+ if (message.keyAgreement != null && message.hasOwnProperty("keyAgreement"))
+ object.keyAgreement = message.keyAgreement;
+ if (message.certSign != null && message.hasOwnProperty("certSign"))
+ object.certSign = message.certSign;
+ if (message.crlSign != null && message.hasOwnProperty("crlSign"))
+ object.crlSign = message.crlSign;
+ if (message.encipherOnly != null && message.hasOwnProperty("encipherOnly"))
+ object.encipherOnly = message.encipherOnly;
+ if (message.decipherOnly != null && message.hasOwnProperty("decipherOnly"))
+ object.decipherOnly = message.decipherOnly;
+ return object;
+ };
+
+ /**
+ * Converts this KeyUsageOptions to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ KeyUsageOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for KeyUsageOptions
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ KeyUsageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.KeyUsage.KeyUsageOptions";
+ };
+
+ return KeyUsageOptions;
+ })();
+
+ KeyUsage.ExtendedKeyUsageOptions = (function() {
+
+ /**
+ * Properties of an ExtendedKeyUsageOptions.
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @interface IExtendedKeyUsageOptions
+ * @property {boolean|null} [serverAuth] ExtendedKeyUsageOptions serverAuth
+ * @property {boolean|null} [clientAuth] ExtendedKeyUsageOptions clientAuth
+ * @property {boolean|null} [codeSigning] ExtendedKeyUsageOptions codeSigning
+ * @property {boolean|null} [emailProtection] ExtendedKeyUsageOptions emailProtection
+ * @property {boolean|null} [timeStamping] ExtendedKeyUsageOptions timeStamping
+ * @property {boolean|null} [ocspSigning] ExtendedKeyUsageOptions ocspSigning
+ */
+
+ /**
+ * Constructs a new ExtendedKeyUsageOptions.
+ * @memberof google.cloud.security.privateca.v1.KeyUsage
+ * @classdesc Represents an ExtendedKeyUsageOptions.
+ * @implements IExtendedKeyUsageOptions
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions=} [properties] Properties to set
+ */
+ function ExtendedKeyUsageOptions(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]];
+ }
+
+ /**
+ * ExtendedKeyUsageOptions serverAuth.
+ * @member {boolean} serverAuth
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @instance
+ */
+ ExtendedKeyUsageOptions.prototype.serverAuth = false;
+
+ /**
+ * ExtendedKeyUsageOptions clientAuth.
+ * @member {boolean} clientAuth
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @instance
+ */
+ ExtendedKeyUsageOptions.prototype.clientAuth = false;
+
+ /**
+ * ExtendedKeyUsageOptions codeSigning.
+ * @member {boolean} codeSigning
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @instance
+ */
+ ExtendedKeyUsageOptions.prototype.codeSigning = false;
+
+ /**
+ * ExtendedKeyUsageOptions emailProtection.
+ * @member {boolean} emailProtection
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @instance
+ */
+ ExtendedKeyUsageOptions.prototype.emailProtection = false;
+
+ /**
+ * ExtendedKeyUsageOptions timeStamping.
+ * @member {boolean} timeStamping
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @instance
+ */
+ ExtendedKeyUsageOptions.prototype.timeStamping = false;
+
+ /**
+ * ExtendedKeyUsageOptions ocspSigning.
+ * @member {boolean} ocspSigning
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @instance
+ */
+ ExtendedKeyUsageOptions.prototype.ocspSigning = false;
+
+ /**
+ * Creates a new ExtendedKeyUsageOptions instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions} ExtendedKeyUsageOptions instance
+ */
+ ExtendedKeyUsageOptions.create = function create(properties) {
+ return new ExtendedKeyUsageOptions(properties);
+ };
+
+ /**
+ * Encodes the specified ExtendedKeyUsageOptions message. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions} message ExtendedKeyUsageOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtendedKeyUsageOptions.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.serverAuth != null && Object.hasOwnProperty.call(message, "serverAuth"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.serverAuth);
+ if (message.clientAuth != null && Object.hasOwnProperty.call(message, "clientAuth"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.clientAuth);
+ if (message.codeSigning != null && Object.hasOwnProperty.call(message, "codeSigning"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.codeSigning);
+ if (message.emailProtection != null && Object.hasOwnProperty.call(message, "emailProtection"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.emailProtection);
+ if (message.timeStamping != null && Object.hasOwnProperty.call(message, "timeStamping"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.timeStamping);
+ if (message.ocspSigning != null && Object.hasOwnProperty.call(message, "ocspSigning"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.ocspSigning);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExtendedKeyUsageOptions message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.IExtendedKeyUsageOptions} message ExtendedKeyUsageOptions message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExtendedKeyUsageOptions.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExtendedKeyUsageOptions message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions} ExtendedKeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtendedKeyUsageOptions.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.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.serverAuth = reader.bool();
+ break;
+ }
+ case 2: {
+ message.clientAuth = reader.bool();
+ break;
+ }
+ case 3: {
+ message.codeSigning = reader.bool();
+ break;
+ }
+ case 4: {
+ message.emailProtection = reader.bool();
+ break;
+ }
+ case 5: {
+ message.timeStamping = reader.bool();
+ break;
+ }
+ case 6: {
+ message.ocspSigning = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExtendedKeyUsageOptions message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions} ExtendedKeyUsageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExtendedKeyUsageOptions.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExtendedKeyUsageOptions message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExtendedKeyUsageOptions.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.serverAuth != null && message.hasOwnProperty("serverAuth"))
+ if (typeof message.serverAuth !== "boolean")
+ return "serverAuth: boolean expected";
+ if (message.clientAuth != null && message.hasOwnProperty("clientAuth"))
+ if (typeof message.clientAuth !== "boolean")
+ return "clientAuth: boolean expected";
+ if (message.codeSigning != null && message.hasOwnProperty("codeSigning"))
+ if (typeof message.codeSigning !== "boolean")
+ return "codeSigning: boolean expected";
+ if (message.emailProtection != null && message.hasOwnProperty("emailProtection"))
+ if (typeof message.emailProtection !== "boolean")
+ return "emailProtection: boolean expected";
+ if (message.timeStamping != null && message.hasOwnProperty("timeStamping"))
+ if (typeof message.timeStamping !== "boolean")
+ return "timeStamping: boolean expected";
+ if (message.ocspSigning != null && message.hasOwnProperty("ocspSigning"))
+ if (typeof message.ocspSigning !== "boolean")
+ return "ocspSigning: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates an ExtendedKeyUsageOptions message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions} ExtendedKeyUsageOptions
+ */
+ ExtendedKeyUsageOptions.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions();
+ if (object.serverAuth != null)
+ message.serverAuth = Boolean(object.serverAuth);
+ if (object.clientAuth != null)
+ message.clientAuth = Boolean(object.clientAuth);
+ if (object.codeSigning != null)
+ message.codeSigning = Boolean(object.codeSigning);
+ if (object.emailProtection != null)
+ message.emailProtection = Boolean(object.emailProtection);
+ if (object.timeStamping != null)
+ message.timeStamping = Boolean(object.timeStamping);
+ if (object.ocspSigning != null)
+ message.ocspSigning = Boolean(object.ocspSigning);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExtendedKeyUsageOptions message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions} message ExtendedKeyUsageOptions
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExtendedKeyUsageOptions.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.serverAuth = false;
+ object.clientAuth = false;
+ object.codeSigning = false;
+ object.emailProtection = false;
+ object.timeStamping = false;
+ object.ocspSigning = false;
+ }
+ if (message.serverAuth != null && message.hasOwnProperty("serverAuth"))
+ object.serverAuth = message.serverAuth;
+ if (message.clientAuth != null && message.hasOwnProperty("clientAuth"))
+ object.clientAuth = message.clientAuth;
+ if (message.codeSigning != null && message.hasOwnProperty("codeSigning"))
+ object.codeSigning = message.codeSigning;
+ if (message.emailProtection != null && message.hasOwnProperty("emailProtection"))
+ object.emailProtection = message.emailProtection;
+ if (message.timeStamping != null && message.hasOwnProperty("timeStamping"))
+ object.timeStamping = message.timeStamping;
+ if (message.ocspSigning != null && message.hasOwnProperty("ocspSigning"))
+ object.ocspSigning = message.ocspSigning;
+ return object;
+ };
+
+ /**
+ * Converts this ExtendedKeyUsageOptions to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExtendedKeyUsageOptions.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ExtendedKeyUsageOptions
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ExtendedKeyUsageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.KeyUsage.ExtendedKeyUsageOptions";
+ };
+
+ return ExtendedKeyUsageOptions;
+ })();
+
+ return KeyUsage;
+ })();
+
+ v1.Subject = (function() {
+
+ /**
+ * Properties of a Subject.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ISubject
+ * @property {string|null} [commonName] Subject commonName
+ * @property {string|null} [countryCode] Subject countryCode
+ * @property {string|null} [organization] Subject organization
+ * @property {string|null} [organizationalUnit] Subject organizationalUnit
+ * @property {string|null} [locality] Subject locality
+ * @property {string|null} [province] Subject province
+ * @property {string|null} [streetAddress] Subject streetAddress
+ * @property {string|null} [postalCode] Subject postalCode
+ */
+
+ /**
+ * Constructs a new Subject.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a Subject.
+ * @implements ISubject
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ISubject=} [properties] Properties to set
+ */
+ function Subject(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]];
+ }
+
+ /**
+ * Subject commonName.
+ * @member {string} commonName
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.commonName = "";
+
+ /**
+ * Subject countryCode.
+ * @member {string} countryCode
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.countryCode = "";
+
+ /**
+ * Subject organization.
+ * @member {string} organization
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.organization = "";
+
+ /**
+ * Subject organizationalUnit.
+ * @member {string} organizationalUnit
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.organizationalUnit = "";
+
+ /**
+ * Subject locality.
+ * @member {string} locality
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.locality = "";
+
+ /**
+ * Subject province.
+ * @member {string} province
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.province = "";
+
+ /**
+ * Subject streetAddress.
+ * @member {string} streetAddress
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.streetAddress = "";
+
+ /**
+ * Subject postalCode.
+ * @member {string} postalCode
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ */
+ Subject.prototype.postalCode = "";
+
+ /**
+ * Creates a new Subject instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubject=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.Subject} Subject instance
+ */
+ Subject.create = function create(properties) {
+ return new Subject(properties);
+ };
+
+ /**
+ * Encodes the specified Subject message. Does not implicitly {@link google.cloud.security.privateca.v1.Subject.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubject} message Subject message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Subject.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.commonName != null && Object.hasOwnProperty.call(message, "commonName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.commonName);
+ if (message.countryCode != null && Object.hasOwnProperty.call(message, "countryCode"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.countryCode);
+ if (message.organization != null && Object.hasOwnProperty.call(message, "organization"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.organization);
+ if (message.organizationalUnit != null && Object.hasOwnProperty.call(message, "organizationalUnit"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.organizationalUnit);
+ if (message.locality != null && Object.hasOwnProperty.call(message, "locality"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.locality);
+ if (message.province != null && Object.hasOwnProperty.call(message, "province"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.province);
+ if (message.streetAddress != null && Object.hasOwnProperty.call(message, "streetAddress"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.streetAddress);
+ if (message.postalCode != null && Object.hasOwnProperty.call(message, "postalCode"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.postalCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Subject message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.Subject.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubject} message Subject message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Subject.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Subject message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.Subject} Subject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Subject.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.security.privateca.v1.Subject();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.commonName = reader.string();
+ break;
+ }
+ case 2: {
+ message.countryCode = reader.string();
+ break;
+ }
+ case 3: {
+ message.organization = reader.string();
+ break;
+ }
+ case 4: {
+ message.organizationalUnit = reader.string();
+ break;
+ }
+ case 5: {
+ message.locality = reader.string();
+ break;
+ }
+ case 6: {
+ message.province = reader.string();
+ break;
+ }
+ case 7: {
+ message.streetAddress = reader.string();
+ break;
+ }
+ case 8: {
+ message.postalCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Subject message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.Subject} Subject
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Subject.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Subject message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Subject.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.commonName != null && message.hasOwnProperty("commonName"))
+ if (!$util.isString(message.commonName))
+ return "commonName: string expected";
+ if (message.countryCode != null && message.hasOwnProperty("countryCode"))
+ if (!$util.isString(message.countryCode))
+ return "countryCode: string expected";
+ if (message.organization != null && message.hasOwnProperty("organization"))
+ if (!$util.isString(message.organization))
+ return "organization: string expected";
+ if (message.organizationalUnit != null && message.hasOwnProperty("organizationalUnit"))
+ if (!$util.isString(message.organizationalUnit))
+ return "organizationalUnit: string expected";
+ if (message.locality != null && message.hasOwnProperty("locality"))
+ if (!$util.isString(message.locality))
+ return "locality: string expected";
+ if (message.province != null && message.hasOwnProperty("province"))
+ if (!$util.isString(message.province))
+ return "province: string expected";
+ if (message.streetAddress != null && message.hasOwnProperty("streetAddress"))
+ if (!$util.isString(message.streetAddress))
+ return "streetAddress: string expected";
+ if (message.postalCode != null && message.hasOwnProperty("postalCode"))
+ if (!$util.isString(message.postalCode))
+ return "postalCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Subject message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.Subject} Subject
+ */
+ Subject.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.Subject)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.Subject();
+ if (object.commonName != null)
+ message.commonName = String(object.commonName);
+ if (object.countryCode != null)
+ message.countryCode = String(object.countryCode);
+ if (object.organization != null)
+ message.organization = String(object.organization);
+ if (object.organizationalUnit != null)
+ message.organizationalUnit = String(object.organizationalUnit);
+ if (object.locality != null)
+ message.locality = String(object.locality);
+ if (object.province != null)
+ message.province = String(object.province);
+ if (object.streetAddress != null)
+ message.streetAddress = String(object.streetAddress);
+ if (object.postalCode != null)
+ message.postalCode = String(object.postalCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Subject message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {google.cloud.security.privateca.v1.Subject} message Subject
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Subject.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.commonName = "";
+ object.countryCode = "";
+ object.organization = "";
+ object.organizationalUnit = "";
+ object.locality = "";
+ object.province = "";
+ object.streetAddress = "";
+ object.postalCode = "";
+ }
+ if (message.commonName != null && message.hasOwnProperty("commonName"))
+ object.commonName = message.commonName;
+ if (message.countryCode != null && message.hasOwnProperty("countryCode"))
+ object.countryCode = message.countryCode;
+ if (message.organization != null && message.hasOwnProperty("organization"))
+ object.organization = message.organization;
+ if (message.organizationalUnit != null && message.hasOwnProperty("organizationalUnit"))
+ object.organizationalUnit = message.organizationalUnit;
+ if (message.locality != null && message.hasOwnProperty("locality"))
+ object.locality = message.locality;
+ if (message.province != null && message.hasOwnProperty("province"))
+ object.province = message.province;
+ if (message.streetAddress != null && message.hasOwnProperty("streetAddress"))
+ object.streetAddress = message.streetAddress;
+ if (message.postalCode != null && message.hasOwnProperty("postalCode"))
+ object.postalCode = message.postalCode;
+ return object;
+ };
+
+ /**
+ * Converts this Subject to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Subject.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Subject
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.Subject
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Subject.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.Subject";
+ };
+
+ return Subject;
+ })();
+
+ v1.SubjectAltNames = (function() {
+
+ /**
+ * Properties of a SubjectAltNames.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ISubjectAltNames
+ * @property {Array.|null} [dnsNames] SubjectAltNames dnsNames
+ * @property {Array.|null} [uris] SubjectAltNames uris
+ * @property {Array.|null} [emailAddresses] SubjectAltNames emailAddresses
+ * @property {Array.|null} [ipAddresses] SubjectAltNames ipAddresses
+ * @property {Array.|null} [customSans] SubjectAltNames customSans
+ */
+
+ /**
+ * Constructs a new SubjectAltNames.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a SubjectAltNames.
+ * @implements ISubjectAltNames
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ISubjectAltNames=} [properties] Properties to set
+ */
+ function SubjectAltNames(properties) {
+ this.dnsNames = [];
+ this.uris = [];
+ this.emailAddresses = [];
+ this.ipAddresses = [];
+ this.customSans = [];
+ 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]];
+ }
+
+ /**
+ * SubjectAltNames dnsNames.
+ * @member {Array.} dnsNames
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @instance
+ */
+ SubjectAltNames.prototype.dnsNames = $util.emptyArray;
+
+ /**
+ * SubjectAltNames uris.
+ * @member {Array.} uris
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @instance
+ */
+ SubjectAltNames.prototype.uris = $util.emptyArray;
+
+ /**
+ * SubjectAltNames emailAddresses.
+ * @member {Array.} emailAddresses
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @instance
+ */
+ SubjectAltNames.prototype.emailAddresses = $util.emptyArray;
+
+ /**
+ * SubjectAltNames ipAddresses.
+ * @member {Array.} ipAddresses
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @instance
+ */
+ SubjectAltNames.prototype.ipAddresses = $util.emptyArray;
+
+ /**
+ * SubjectAltNames customSans.
+ * @member {Array.} customSans
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @instance
+ */
+ SubjectAltNames.prototype.customSans = $util.emptyArray;
+
+ /**
+ * Creates a new SubjectAltNames instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubjectAltNames=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.SubjectAltNames} SubjectAltNames instance
+ */
+ SubjectAltNames.create = function create(properties) {
+ return new SubjectAltNames(properties);
+ };
+
+ /**
+ * Encodes the specified SubjectAltNames message. Does not implicitly {@link google.cloud.security.privateca.v1.SubjectAltNames.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubjectAltNames} message SubjectAltNames message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubjectAltNames.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.dnsNames != null && message.dnsNames.length)
+ for (var i = 0; i < message.dnsNames.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.dnsNames[i]);
+ if (message.uris != null && message.uris.length)
+ for (var i = 0; i < message.uris.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.uris[i]);
+ if (message.emailAddresses != null && message.emailAddresses.length)
+ for (var i = 0; i < message.emailAddresses.length; ++i)
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.emailAddresses[i]);
+ if (message.ipAddresses != null && message.ipAddresses.length)
+ for (var i = 0; i < message.ipAddresses.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.ipAddresses[i]);
+ if (message.customSans != null && message.customSans.length)
+ for (var i = 0; i < message.customSans.length; ++i)
+ $root.google.cloud.security.privateca.v1.X509Extension.encode(message.customSans[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified SubjectAltNames message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.SubjectAltNames.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {google.cloud.security.privateca.v1.ISubjectAltNames} message SubjectAltNames message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ SubjectAltNames.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a SubjectAltNames message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.SubjectAltNames} SubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubjectAltNames.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.security.privateca.v1.SubjectAltNames();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.dnsNames && message.dnsNames.length))
+ message.dnsNames = [];
+ message.dnsNames.push(reader.string());
+ break;
+ }
+ case 2: {
+ if (!(message.uris && message.uris.length))
+ message.uris = [];
+ message.uris.push(reader.string());
+ break;
+ }
+ case 3: {
+ if (!(message.emailAddresses && message.emailAddresses.length))
+ message.emailAddresses = [];
+ message.emailAddresses.push(reader.string());
+ break;
+ }
+ case 4: {
+ if (!(message.ipAddresses && message.ipAddresses.length))
+ message.ipAddresses = [];
+ message.ipAddresses.push(reader.string());
+ break;
+ }
+ case 5: {
+ if (!(message.customSans && message.customSans.length))
+ message.customSans = [];
+ message.customSans.push($root.google.cloud.security.privateca.v1.X509Extension.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a SubjectAltNames message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.SubjectAltNames} SubjectAltNames
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ SubjectAltNames.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a SubjectAltNames message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ SubjectAltNames.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.dnsNames != null && message.hasOwnProperty("dnsNames")) {
+ if (!Array.isArray(message.dnsNames))
+ return "dnsNames: array expected";
+ for (var i = 0; i < message.dnsNames.length; ++i)
+ if (!$util.isString(message.dnsNames[i]))
+ return "dnsNames: string[] expected";
+ }
+ if (message.uris != null && message.hasOwnProperty("uris")) {
+ if (!Array.isArray(message.uris))
+ return "uris: array expected";
+ for (var i = 0; i < message.uris.length; ++i)
+ if (!$util.isString(message.uris[i]))
+ return "uris: string[] expected";
+ }
+ if (message.emailAddresses != null && message.hasOwnProperty("emailAddresses")) {
+ if (!Array.isArray(message.emailAddresses))
+ return "emailAddresses: array expected";
+ for (var i = 0; i < message.emailAddresses.length; ++i)
+ if (!$util.isString(message.emailAddresses[i]))
+ return "emailAddresses: string[] expected";
+ }
+ if (message.ipAddresses != null && message.hasOwnProperty("ipAddresses")) {
+ if (!Array.isArray(message.ipAddresses))
+ return "ipAddresses: array expected";
+ for (var i = 0; i < message.ipAddresses.length; ++i)
+ if (!$util.isString(message.ipAddresses[i]))
+ return "ipAddresses: string[] expected";
+ }
+ if (message.customSans != null && message.hasOwnProperty("customSans")) {
+ if (!Array.isArray(message.customSans))
+ return "customSans: array expected";
+ for (var i = 0; i < message.customSans.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.X509Extension.verify(message.customSans[i]);
+ if (error)
+ return "customSans." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a SubjectAltNames message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.SubjectAltNames} SubjectAltNames
+ */
+ SubjectAltNames.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.SubjectAltNames)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.SubjectAltNames();
+ if (object.dnsNames) {
+ if (!Array.isArray(object.dnsNames))
+ throw TypeError(".google.cloud.security.privateca.v1.SubjectAltNames.dnsNames: array expected");
+ message.dnsNames = [];
+ for (var i = 0; i < object.dnsNames.length; ++i)
+ message.dnsNames[i] = String(object.dnsNames[i]);
+ }
+ if (object.uris) {
+ if (!Array.isArray(object.uris))
+ throw TypeError(".google.cloud.security.privateca.v1.SubjectAltNames.uris: array expected");
+ message.uris = [];
+ for (var i = 0; i < object.uris.length; ++i)
+ message.uris[i] = String(object.uris[i]);
+ }
+ if (object.emailAddresses) {
+ if (!Array.isArray(object.emailAddresses))
+ throw TypeError(".google.cloud.security.privateca.v1.SubjectAltNames.emailAddresses: array expected");
+ message.emailAddresses = [];
+ for (var i = 0; i < object.emailAddresses.length; ++i)
+ message.emailAddresses[i] = String(object.emailAddresses[i]);
+ }
+ if (object.ipAddresses) {
+ if (!Array.isArray(object.ipAddresses))
+ throw TypeError(".google.cloud.security.privateca.v1.SubjectAltNames.ipAddresses: array expected");
+ message.ipAddresses = [];
+ for (var i = 0; i < object.ipAddresses.length; ++i)
+ message.ipAddresses[i] = String(object.ipAddresses[i]);
+ }
+ if (object.customSans) {
+ if (!Array.isArray(object.customSans))
+ throw TypeError(".google.cloud.security.privateca.v1.SubjectAltNames.customSans: array expected");
+ message.customSans = [];
+ for (var i = 0; i < object.customSans.length; ++i) {
+ if (typeof object.customSans[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.SubjectAltNames.customSans: object expected");
+ message.customSans[i] = $root.google.cloud.security.privateca.v1.X509Extension.fromObject(object.customSans[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a SubjectAltNames message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {google.cloud.security.privateca.v1.SubjectAltNames} message SubjectAltNames
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ SubjectAltNames.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.dnsNames = [];
+ object.uris = [];
+ object.emailAddresses = [];
+ object.ipAddresses = [];
+ object.customSans = [];
+ }
+ if (message.dnsNames && message.dnsNames.length) {
+ object.dnsNames = [];
+ for (var j = 0; j < message.dnsNames.length; ++j)
+ object.dnsNames[j] = message.dnsNames[j];
+ }
+ if (message.uris && message.uris.length) {
+ object.uris = [];
+ for (var j = 0; j < message.uris.length; ++j)
+ object.uris[j] = message.uris[j];
+ }
+ if (message.emailAddresses && message.emailAddresses.length) {
+ object.emailAddresses = [];
+ for (var j = 0; j < message.emailAddresses.length; ++j)
+ object.emailAddresses[j] = message.emailAddresses[j];
+ }
+ if (message.ipAddresses && message.ipAddresses.length) {
+ object.ipAddresses = [];
+ for (var j = 0; j < message.ipAddresses.length; ++j)
+ object.ipAddresses[j] = message.ipAddresses[j];
+ }
+ if (message.customSans && message.customSans.length) {
+ object.customSans = [];
+ for (var j = 0; j < message.customSans.length; ++j)
+ object.customSans[j] = $root.google.cloud.security.privateca.v1.X509Extension.toObject(message.customSans[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this SubjectAltNames to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ SubjectAltNames.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for SubjectAltNames
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.SubjectAltNames
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ SubjectAltNames.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.SubjectAltNames";
+ };
+
+ return SubjectAltNames;
+ })();
+
+ v1.CertificateIdentityConstraints = (function() {
+
+ /**
+ * Properties of a CertificateIdentityConstraints.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificateIdentityConstraints
+ * @property {google.type.IExpr|null} [celExpression] CertificateIdentityConstraints celExpression
+ * @property {boolean|null} [allowSubjectPassthrough] CertificateIdentityConstraints allowSubjectPassthrough
+ * @property {boolean|null} [allowSubjectAltNamesPassthrough] CertificateIdentityConstraints allowSubjectAltNamesPassthrough
+ */
+
+ /**
+ * Constructs a new CertificateIdentityConstraints.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CertificateIdentityConstraints.
+ * @implements ICertificateIdentityConstraints
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificateIdentityConstraints=} [properties] Properties to set
+ */
+ function CertificateIdentityConstraints(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]];
+ }
+
+ /**
+ * CertificateIdentityConstraints celExpression.
+ * @member {google.type.IExpr|null|undefined} celExpression
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @instance
+ */
+ CertificateIdentityConstraints.prototype.celExpression = null;
+
+ /**
+ * CertificateIdentityConstraints allowSubjectPassthrough.
+ * @member {boolean|null|undefined} allowSubjectPassthrough
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @instance
+ */
+ CertificateIdentityConstraints.prototype.allowSubjectPassthrough = null;
+
+ /**
+ * CertificateIdentityConstraints allowSubjectAltNamesPassthrough.
+ * @member {boolean|null|undefined} allowSubjectAltNamesPassthrough
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @instance
+ */
+ CertificateIdentityConstraints.prototype.allowSubjectAltNamesPassthrough = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * CertificateIdentityConstraints _allowSubjectPassthrough.
+ * @member {"allowSubjectPassthrough"|undefined} _allowSubjectPassthrough
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @instance
+ */
+ Object.defineProperty(CertificateIdentityConstraints.prototype, "_allowSubjectPassthrough", {
+ get: $util.oneOfGetter($oneOfFields = ["allowSubjectPassthrough"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * CertificateIdentityConstraints _allowSubjectAltNamesPassthrough.
+ * @member {"allowSubjectAltNamesPassthrough"|undefined} _allowSubjectAltNamesPassthrough
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @instance
+ */
+ Object.defineProperty(CertificateIdentityConstraints.prototype, "_allowSubjectAltNamesPassthrough", {
+ get: $util.oneOfGetter($oneOfFields = ["allowSubjectAltNamesPassthrough"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new CertificateIdentityConstraints instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateIdentityConstraints=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateIdentityConstraints} CertificateIdentityConstraints instance
+ */
+ CertificateIdentityConstraints.create = function create(properties) {
+ return new CertificateIdentityConstraints(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateIdentityConstraints message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateIdentityConstraints.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateIdentityConstraints} message CertificateIdentityConstraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateIdentityConstraints.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.celExpression != null && Object.hasOwnProperty.call(message, "celExpression"))
+ $root.google.type.Expr.encode(message.celExpression, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.allowSubjectPassthrough != null && Object.hasOwnProperty.call(message, "allowSubjectPassthrough"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowSubjectPassthrough);
+ if (message.allowSubjectAltNamesPassthrough != null && Object.hasOwnProperty.call(message, "allowSubjectAltNamesPassthrough"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.allowSubjectAltNamesPassthrough);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateIdentityConstraints message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateIdentityConstraints.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateIdentityConstraints} message CertificateIdentityConstraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateIdentityConstraints.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateIdentityConstraints message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateIdentityConstraints} CertificateIdentityConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateIdentityConstraints.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.security.privateca.v1.CertificateIdentityConstraints();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.celExpression = $root.google.type.Expr.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.allowSubjectPassthrough = reader.bool();
+ break;
+ }
+ case 3: {
+ message.allowSubjectAltNamesPassthrough = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateIdentityConstraints message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateIdentityConstraints} CertificateIdentityConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateIdentityConstraints.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateIdentityConstraints message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateIdentityConstraints.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.celExpression != null && message.hasOwnProperty("celExpression")) {
+ var error = $root.google.type.Expr.verify(message.celExpression);
+ if (error)
+ return "celExpression." + error;
+ }
+ if (message.allowSubjectPassthrough != null && message.hasOwnProperty("allowSubjectPassthrough")) {
+ properties._allowSubjectPassthrough = 1;
+ if (typeof message.allowSubjectPassthrough !== "boolean")
+ return "allowSubjectPassthrough: boolean expected";
+ }
+ if (message.allowSubjectAltNamesPassthrough != null && message.hasOwnProperty("allowSubjectAltNamesPassthrough")) {
+ properties._allowSubjectAltNamesPassthrough = 1;
+ if (typeof message.allowSubjectAltNamesPassthrough !== "boolean")
+ return "allowSubjectAltNamesPassthrough: boolean expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CertificateIdentityConstraints message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateIdentityConstraints} CertificateIdentityConstraints
+ */
+ CertificateIdentityConstraints.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateIdentityConstraints();
+ if (object.celExpression != null) {
+ if (typeof object.celExpression !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateIdentityConstraints.celExpression: object expected");
+ message.celExpression = $root.google.type.Expr.fromObject(object.celExpression);
+ }
+ if (object.allowSubjectPassthrough != null)
+ message.allowSubjectPassthrough = Boolean(object.allowSubjectPassthrough);
+ if (object.allowSubjectAltNamesPassthrough != null)
+ message.allowSubjectAltNamesPassthrough = Boolean(object.allowSubjectAltNamesPassthrough);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateIdentityConstraints message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateIdentityConstraints} message CertificateIdentityConstraints
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateIdentityConstraints.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.celExpression = null;
+ if (message.celExpression != null && message.hasOwnProperty("celExpression"))
+ object.celExpression = $root.google.type.Expr.toObject(message.celExpression, options);
+ if (message.allowSubjectPassthrough != null && message.hasOwnProperty("allowSubjectPassthrough")) {
+ object.allowSubjectPassthrough = message.allowSubjectPassthrough;
+ if (options.oneofs)
+ object._allowSubjectPassthrough = "allowSubjectPassthrough";
+ }
+ if (message.allowSubjectAltNamesPassthrough != null && message.hasOwnProperty("allowSubjectAltNamesPassthrough")) {
+ object.allowSubjectAltNamesPassthrough = message.allowSubjectAltNamesPassthrough;
+ if (options.oneofs)
+ object._allowSubjectAltNamesPassthrough = "allowSubjectAltNamesPassthrough";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CertificateIdentityConstraints to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CertificateIdentityConstraints.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CertificateIdentityConstraints
+ * @function getTypeUrl
+ * @memberof google.cloud.security.privateca.v1.CertificateIdentityConstraints
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CertificateIdentityConstraints.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.security.privateca.v1.CertificateIdentityConstraints";
+ };
+
+ return CertificateIdentityConstraints;
+ })();
+
+ v1.CertificateExtensionConstraints = (function() {
+
+ /**
+ * Properties of a CertificateExtensionConstraints.
+ * @memberof google.cloud.security.privateca.v1
+ * @interface ICertificateExtensionConstraints
+ * @property {Array.|null} [knownExtensions] CertificateExtensionConstraints knownExtensions
+ * @property {Array.|null} [additionalExtensions] CertificateExtensionConstraints additionalExtensions
+ */
+
+ /**
+ * Constructs a new CertificateExtensionConstraints.
+ * @memberof google.cloud.security.privateca.v1
+ * @classdesc Represents a CertificateExtensionConstraints.
+ * @implements ICertificateExtensionConstraints
+ * @constructor
+ * @param {google.cloud.security.privateca.v1.ICertificateExtensionConstraints=} [properties] Properties to set
+ */
+ function CertificateExtensionConstraints(properties) {
+ this.knownExtensions = [];
+ this.additionalExtensions = [];
+ 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]];
+ }
+
+ /**
+ * CertificateExtensionConstraints knownExtensions.
+ * @member {Array.} knownExtensions
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @instance
+ */
+ CertificateExtensionConstraints.prototype.knownExtensions = $util.emptyArray;
+
+ /**
+ * CertificateExtensionConstraints additionalExtensions.
+ * @member {Array.} additionalExtensions
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @instance
+ */
+ CertificateExtensionConstraints.prototype.additionalExtensions = $util.emptyArray;
+
+ /**
+ * Creates a new CertificateExtensionConstraints instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateExtensionConstraints=} [properties] Properties to set
+ * @returns {google.cloud.security.privateca.v1.CertificateExtensionConstraints} CertificateExtensionConstraints instance
+ */
+ CertificateExtensionConstraints.create = function create(properties) {
+ return new CertificateExtensionConstraints(properties);
+ };
+
+ /**
+ * Encodes the specified CertificateExtensionConstraints message. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateExtensionConstraints.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateExtensionConstraints} message CertificateExtensionConstraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateExtensionConstraints.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.knownExtensions != null && message.knownExtensions.length) {
+ writer.uint32(/* id 1, wireType 2 =*/10).fork();
+ for (var i = 0; i < message.knownExtensions.length; ++i)
+ writer.int32(message.knownExtensions[i]);
+ writer.ldelim();
+ }
+ if (message.additionalExtensions != null && message.additionalExtensions.length)
+ for (var i = 0; i < message.additionalExtensions.length; ++i)
+ $root.google.cloud.security.privateca.v1.ObjectId.encode(message.additionalExtensions[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CertificateExtensionConstraints message, length delimited. Does not implicitly {@link google.cloud.security.privateca.v1.CertificateExtensionConstraints.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.ICertificateExtensionConstraints} message CertificateExtensionConstraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CertificateExtensionConstraints.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CertificateExtensionConstraints message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.security.privateca.v1.CertificateExtensionConstraints} CertificateExtensionConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateExtensionConstraints.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.security.privateca.v1.CertificateExtensionConstraints();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.knownExtensions && message.knownExtensions.length))
+ message.knownExtensions = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.knownExtensions.push(reader.int32());
+ } else
+ message.knownExtensions.push(reader.int32());
+ break;
+ }
+ case 2: {
+ if (!(message.additionalExtensions && message.additionalExtensions.length))
+ message.additionalExtensions = [];
+ message.additionalExtensions.push($root.google.cloud.security.privateca.v1.ObjectId.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CertificateExtensionConstraints message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.security.privateca.v1.CertificateExtensionConstraints} CertificateExtensionConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CertificateExtensionConstraints.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CertificateExtensionConstraints message.
+ * @function verify
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CertificateExtensionConstraints.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.knownExtensions != null && message.hasOwnProperty("knownExtensions")) {
+ if (!Array.isArray(message.knownExtensions))
+ return "knownExtensions: array expected";
+ for (var i = 0; i < message.knownExtensions.length; ++i)
+ switch (message.knownExtensions[i]) {
+ default:
+ return "knownExtensions: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ }
+ if (message.additionalExtensions != null && message.hasOwnProperty("additionalExtensions")) {
+ if (!Array.isArray(message.additionalExtensions))
+ return "additionalExtensions: array expected";
+ for (var i = 0; i < message.additionalExtensions.length; ++i) {
+ var error = $root.google.cloud.security.privateca.v1.ObjectId.verify(message.additionalExtensions[i]);
+ if (error)
+ return "additionalExtensions." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CertificateExtensionConstraints message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.security.privateca.v1.CertificateExtensionConstraints} CertificateExtensionConstraints
+ */
+ CertificateExtensionConstraints.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints)
+ return object;
+ var message = new $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints();
+ if (object.knownExtensions) {
+ if (!Array.isArray(object.knownExtensions))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateExtensionConstraints.knownExtensions: array expected");
+ message.knownExtensions = [];
+ for (var i = 0; i < object.knownExtensions.length; ++i)
+ switch (object.knownExtensions[i]) {
+ default:
+ if (typeof object.knownExtensions[i] === "number") {
+ message.knownExtensions[i] = object.knownExtensions[i];
+ break;
+ }
+ case "KNOWN_CERTIFICATE_EXTENSION_UNSPECIFIED":
+ case 0:
+ message.knownExtensions[i] = 0;
+ break;
+ case "BASE_KEY_USAGE":
+ case 1:
+ message.knownExtensions[i] = 1;
+ break;
+ case "EXTENDED_KEY_USAGE":
+ case 2:
+ message.knownExtensions[i] = 2;
+ break;
+ case "CA_OPTIONS":
+ case 3:
+ message.knownExtensions[i] = 3;
+ break;
+ case "POLICY_IDS":
+ case 4:
+ message.knownExtensions[i] = 4;
+ break;
+ case "AIA_OCSP_SERVERS":
+ case 5:
+ message.knownExtensions[i] = 5;
+ break;
+ }
+ }
+ if (object.additionalExtensions) {
+ if (!Array.isArray(object.additionalExtensions))
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateExtensionConstraints.additionalExtensions: array expected");
+ message.additionalExtensions = [];
+ for (var i = 0; i < object.additionalExtensions.length; ++i) {
+ if (typeof object.additionalExtensions[i] !== "object")
+ throw TypeError(".google.cloud.security.privateca.v1.CertificateExtensionConstraints.additionalExtensions: object expected");
+ message.additionalExtensions[i] = $root.google.cloud.security.privateca.v1.ObjectId.fromObject(object.additionalExtensions[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CertificateExtensionConstraints message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @static
+ * @param {google.cloud.security.privateca.v1.CertificateExtensionConstraints} message CertificateExtensionConstraints
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CertificateExtensionConstraints.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.knownExtensions = [];
+ object.additionalExtensions = [];
+ }
+ if (message.knownExtensions && message.knownExtensions.length) {
+ object.knownExtensions = [];
+ for (var j = 0; j < message.knownExtensions.length; ++j)
+ object.knownExtensions[j] = options.enums === String ? $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.KnownCertificateExtension[message.knownExtensions[j]] === undefined ? message.knownExtensions[j] : $root.google.cloud.security.privateca.v1.CertificateExtensionConstraints.KnownCertificateExtension[message.knownExtensions[j]] : message.knownExtensions[j];
+ }
+ if (message.additionalExtensions && message.additionalExtensions.length) {
+ object.additionalExtensions = [];
+ for (var j = 0; j < message.additionalExtensions.length; ++j)
+ object.additionalExtensions[j] = $root.google.cloud.security.privateca.v1.ObjectId.toObject(message.additionalExtensions[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CertificateExtensionConstraints to JSON.
+ * @function toJSON
+ * @memberof google.cloud.security.privateca.v1.CertificateExtensionConstraints
+ * @instance
+ * @returns {Object.